Yes I agree this is for special deployments. Which other spi impl depends on the lucene libraries being exposed?
On 25 November 2016 at 14:32, Chetan Mehrotra <[email protected]> wrote: > Hi Torgeir, > > We would not be able shade Lucene classes as they are exported and > meant to be used by certain SPI implementations. So as of now there is > no solution for using a different Lucene version in non OSGi world > > > Chetan Mehrotra > > > On Wed, Nov 23, 2016 at 7:15 PM, Torgeir Veimo <[email protected]> > wrote: > > Second version, this pom file can be put in a separate directly as a self > > contained maven artifact and includes oak-lucene remotely. > > > > <?xml version="1.0" encoding="UTF-8"?> > > > > <!-- > > Licensed to the Apache Software Foundation (ASF) under one or more > > contributor license agreements. See the NOTICE file distributed with > > this work for additional information regarding copyright ownership. > > The ASF licenses this file to You under the Apache License, Version > 2.0 > > (the "License"); you may not use this file except in compliance with > > the License. You may obtain a copy of the License at > > > > http://www.apache.org/licenses/LICENSE-2.0 > > > > Unless required by applicable law or agreed to in writing, software > > distributed under the License is distributed on an "AS IS" BASIS, > > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > > See the License for the specific language governing permissions and > > limitations under the License. > > --> > > > > <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" > > http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" > > http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven- > v4_0_0.xsd > > "> > > <modelVersion>4.0.0</modelVersion> > > > > <groupId>no.karriere</groupId> > > <version>0.1-SNAPSHOT</version> > > <artifactId>oak-lucene-shaded</artifactId> > > <name>Oak Lucene (shaded)</name> > > <description>Oak Lucene integration subproject</description> > > > > <properties> > > <tika.version>1.5</tika.version> > > <lucene.version>4.7.1</lucene.version> > > <oak.version>1.4.6</oak.version> > > </properties> > > > > <build> > > <plugins> > > <!-- https://app.camunda.com/jira/browse/CAM-1573 --> > > <plugin> > > <groupId>org.apache.maven.plugins</groupId> > > <artifactId>maven-source-plugin</artifactId> > > <version>3.0.1</version> > > <executions> > > <execution> > > <id>generate-sources-for-shade-plugin</id> > > <phase>package</phase> > > <goals> > > <goal>jar-no-fork</goal> > > </goals> > > </execution> > > </executions> > > </plugin> > > <plugin> > > <groupId>org.apache.maven.plugins</groupId> > > <artifactId>maven-shade-plugin</artifactId> > > <version>3.0.0-SNAPSHOT</version> > > <executions> > > <execution> > > <phase>package</phase> > > <goals> > > <goal>shade</goal> > > </goals> > > <configuration> > > > > <!--<createDependencyReducedPom>false</createDependencyReducedPom>--> > > > > <promoteTransitiveDependencies>false</promoteTransitiveDependencies> > > <shadeSourcesContent>true</ > shadeSourcesContent> > > <createSourcesJar>true</createSourcesJar> > > <transformers> > > <transformer > > implementation="org.apache.maven.plugins.shade.resource. > ServicesResourceTransformer"/> > > </transformers> > > <relocations> > > <relocation> > > <pattern>org.apache.lucene</pattern> > > > > <shadedPattern>org.shaded.apache.lucene</shadedPattern> > > </relocation> > > <relocation> > > <pattern>org.tartarus. > snowball</pattern> > > > > <shadedPattern>org.shaded.tartarus.snowball</shadedPattern> > > </relocation> > > </relocations> > > <artifactSet> > > <excludes> > > > > <exclude>org.apache.jackrabbit:oak-core</exclude> > > > > <exclude>org.apache.jackrabbit:oak-commons</exclude> > > > > <exclude>org.apache.jackrabbit:oak-blob</exclude> > > > > <exclude>com.google.guava:guava</exclude> > > > > <exclude>commons-codec:commons-codec</exclude> > > <exclude>commons-io:commons- > io</exclude> > > <exclude>javax.jcr:jcr</exclude> > > > > <exclude>org.apache.jackrabbit:jackrabbit-api</exclude> > > > > <exclude>org.apache.jackrabbit:jackrabbit-jcr-commons</exclude> > > > > <exclude>org.apache.tika:tika-core</exclude> > > <exclude>org.slf4j:slf4j-api</ > exclude> > > </excludes> > > </artifactSet> > > </configuration> > > </execution> > > </executions> > > </plugin> > > </plugins> > > </build> > > > > <dependencies> > > <dependency> > > <groupId>org.apache.jackrabbit</groupId> > > <artifactId>oak-core</artifactId> > > <version>${oak.version}</version> > > </dependency> > > <dependency> > > <groupId>org.apache.jackrabbit</groupId> > > <artifactId>oak-lucene</artifactId> > > <version>${oak.version}</version> > > </dependency> > > <dependency> > > <groupId>org.apache.tika</groupId> > > <artifactId>tika-core</artifactId> > > <version>${tika.version}</version> > > </dependency> > > > > <!-- Lucene dependencies --> > > <dependency> > > <groupId>org.apache.lucene</groupId> > > <artifactId>lucene-core</artifactId> > > <version>${lucene.version}</version> > > </dependency> > > <dependency> > > <groupId>org.apache.lucene</groupId> > > <artifactId>lucene-analyzers-common</artifactId> > > <version>${lucene.version}</version> > > </dependency> > > <dependency> > > <groupId>org.apache.lucene</groupId> > > <artifactId>lucene-queryparser</artifactId> > > <version>${lucene.version}</version> > > </dependency> > > <dependency> > > <groupId>org.apache.lucene</groupId> > > <artifactId>lucene-queries</artifactId> > > <version>${lucene.version}</version> > > </dependency> > > <dependency> > > <groupId>org.apache.lucene</groupId> > > <artifactId>lucene-suggest</artifactId> > > <version>${lucene.version}</version> > > </dependency> > > <dependency> > > <groupId>org.apache.lucene</groupId> > > <artifactId>lucene-highlighter</artifactId> > > <version>${lucene.version}</version> > > </dependency> > > <dependency> > > <groupId>org.apache.lucene</groupId> > > <artifactId>lucene-memory</artifactId> > > <version>${lucene.version}</version> > > </dependency> > > <dependency> > > <groupId>org.apache.lucene</groupId> > > <artifactId>lucene-misc</artifactId> > > <version>${lucene.version}</version> > > </dependency> > > <dependency> > > <groupId>org.apache.lucene</groupId> > > <artifactId>lucene-facet</artifactId> > > <version>${lucene.version}</version> > > </dependency> > > > > <dependency> > > <groupId>org.apache.tika</groupId> > > <artifactId>tika-parsers</artifactId> > > <version>${tika.version}</version> > > <scope>test</scope> > > <exclusions> > > <exclusion> > > <groupId>commons-logging</groupId> > > <artifactId>commons-logging</artifactId> > > </exclusion> > > </exclusions> > > </dependency> > > </dependencies> > > > > <pluginRepositories> > > <pluginRepository> > > <id>org.apache</id> > > <name>Apache snapshots</name> > > <url>http://repository.apache.org/content/repositories/ > snapshots > > </url> > > <snapshots> > > <enabled>true</enabled> > > </snapshots> > > </pluginRepository> > > </pluginRepositories> > > </project> > > > > > > On 15 November 2016 at 11:12, Torgeir Veimo <[email protected]> > wrote: > > > >> I'm in need of running oak in a non-osgi environment with a more recent > >> version of lucene already on the classpath, so I've experimented with > using > >> the maven shade plugin to embed a shaded lucene jar inside the > oak-lucene > >> jar. > >> > >> I'm not very familiar with the shade plugin, so there might be better > ways > >> of doing this, but here's a modified pom.xml that will built to an > artifact > >> that can be included with the id org.apache.jackrabbit:oak- > lucene-shaded > >> > >> This might be useful for someone. > >> > >> <?xml version="1.0" encoding="UTF-8"?> > >> > >> <!-- > >> Licensed to the Apache Software Foundation (ASF) under one or more > >> contributor license agreements. See the NOTICE file distributed with > >> this work for additional information regarding copyright ownership. > >> The ASF licenses this file to You under the Apache License, Version > 2.0 > >> (the "License"); you may not use this file except in compliance with > >> the License. You may obtain a copy of the License at > >> > >> http://www.apache.org/licenses/LICENSE-2.0 > >> > >> Unless required by applicable law or agreed to in writing, software > >> distributed under the License is distributed on an "AS IS" BASIS, > >> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > >> See the License for the specific language governing permissions and > >> limitations under the License. > >> --> > >> > >> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" > >> http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:// > >> maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> > >> <modelVersion>4.0.0</modelVersion> > >> > >> <parent> > >> <groupId>org.apache.jackrabbit</groupId> > >> <artifactId>oak-parent</artifactId> > >> <version>1.4.6</version> > >> <relativePath>../oak-parent/pom.xml</relativePath> > >> </parent> > >> > >> <artifactId>oak-lucene-shaded</artifactId> > >> <name>Oak Lucene (shaded)</name> > >> <!--<packaging>bundle</packaging>--> > >> <description>Oak Lucene integration subproject</description> > >> > >> <properties> > >> <tika.version>1.5</tika.version> > >> </properties> > >> > >> <build> > >> <plugins> > >> <!-- https://app.camunda.com/jira/browse/CAM-1573 --> > >> <plugin> > >> <groupId>org.apache.maven.plugins</groupId> > >> <artifactId>maven-source-plugin</artifactId> > >> <executions> > >> <execution> > >> <id>generate-sources-for-shade-plugin</id> > >> <phase>package</phase> > >> <goals> > >> <goal>jar-no-fork</goal> > >> </goals> > >> </execution> > >> </executions> > >> </plugin> > >> <plugin> > >> <groupId>org.apache.maven.plugins</groupId> > >> <artifactId>maven-shade-plugin</artifactId> > >> <version>2.4.3</version> > >> <executions> > >> <execution> > >> <phase>package</phase> > >> <goals> > >> <goal>shade</goal> > >> </goals> > >> <configuration> > >> <!--<minimizeJar>true</minimizeJar>--> > >> <promoteTransitiveDependencies>false</ > >> promoteTransitiveDependencies> > >> <shadeSourcesContent>true</ > >> shadeSourcesContent> > >> <createSourcesJar>true</createSourcesJar> > >> <shadeSourcesContent>true</ > >> shadeSourcesContent> > >> > >> <relocations> > >> <relocation> > >> <pattern>org.apache.lucene</ > pattern> > >> <shadedPattern>org.shaded. > >> apache.lucene</shadedPattern> > >> </relocation> > >> <relocation> > >> <pattern>org.tartarus. > >> snowball</pattern> > >> <shadedPattern>org.shaded. > >> tartarus.snowball</shadedPattern> > >> </relocation> > >> </relocations> > >> <artifactSet> > >> <excludes> > >> <exclude>org.apache. > >> jackrabbit:oak-core</exclude> > >> <exclude>org.apache. > >> jackrabbit:oak-commons</exclude> > >> <exclude>org.apache. > >> jackrabbit:oak-blob</exclude> > >> <exclude>com.google.guava: > >> guava</exclude> > >> <exclude>commons-codec: > >> commons-codec</exclude> > >> <exclude>commons-io:commons- > >> io</exclude> > >> <exclude>javax.jcr:jcr</exclude> > >> <exclude>org.apache. > >> jackrabbit:jackrabbit-api</exclude> > >> <exclude>org.apache. > >> jackrabbit:jackrabbit-jcr-commons</exclude> > >> <exclude>org.apache.tika:tika- > >> core</exclude> > >> <exclude>org.slf4j:slf4j-api</ > exclude> > >> </excludes> > >> </artifactSet> > >> </configuration> > >> </execution> > >> </executions> > >> </plugin> > >> </plugins> > >> </build> > >> > >> <dependencies> > >> <!-- Optional OSGi dependencies, used only when running within > >> OSGi --> > >> <dependency> > >> <groupId>org.osgi</groupId> > >> <artifactId>org.osgi.core</artifactId> > >> <scope>provided</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.osgi</groupId> > >> <artifactId>org.osgi.compendium</artifactId> > >> <scope>provided</scope> > >> </dependency> > >> <dependency> > >> <groupId>biz.aQute.bnd</groupId> > >> <artifactId>bndlib</artifactId> > >> <scope>provided</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.felix</groupId> > >> <artifactId>org.apache.felix.scr.annotations</artifactId> > >> <scope>provided</scope> > >> </dependency> > >> > >> <dependency> > >> <groupId>org.apache.jackrabbit</groupId> > >> <artifactId>oak-core</artifactId> > >> <version>${project.version}</version> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.tika</groupId> > >> <artifactId>tika-core</artifactId> > >> <version>${tika.version}</version> > >> </dependency> > >> > >> <!-- Lucene dependencies --> > >> <dependency> > >> <groupId>org.apache.lucene</groupId> > >> <artifactId>lucene-core</artifactId> > >> <version>${lucene.version}</version> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.lucene</groupId> > >> <artifactId>lucene-analyzers-common</artifactId> > >> <version>${lucene.version}</version> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.lucene</groupId> > >> <artifactId>lucene-queryparser</artifactId> > >> <version>${lucene.version}</version> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.lucene</groupId> > >> <artifactId>lucene-queries</artifactId> > >> <version>${lucene.version}</version> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.lucene</groupId> > >> <artifactId>lucene-suggest</artifactId> > >> <version>${lucene.version}</version> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.lucene</groupId> > >> <artifactId>lucene-highlighter</artifactId> > >> <version>${lucene.version}</version> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.lucene</groupId> > >> <artifactId>lucene-memory</artifactId> > >> <version>${lucene.version}</version> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.lucene</groupId> > >> <artifactId>lucene-misc</artifactId> > >> <version>${lucene.version}</version> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.lucene</groupId> > >> <artifactId>lucene-facet</artifactId> > >> <version>${lucene.version}</version> > >> </dependency> > >> > >> <!-- Logging --> > >> <dependency> > >> <groupId>org.slf4j</groupId> > >> <artifactId>slf4j-api</artifactId> > >> </dependency> > >> > >> <!-- Findbugs annotations --> > >> <dependency> > >> <groupId>com.google.code.findbugs</groupId> > >> <artifactId>jsr305</artifactId> > >> </dependency> > >> > >> <!-- Test Dependencies --> > >> <dependency> > >> <groupId>ch.qos.logback</groupId> > >> <artifactId>logback-classic</artifactId> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>junit</groupId> > >> <artifactId>junit</artifactId> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.mongodb</groupId> > >> <artifactId>mongo-java-driver</artifactId> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.jackrabbit</groupId> > >> <artifactId>oak-core</artifactId> > >> <version>${project.version}</version> > >> <classifier>tests</classifier> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.jackrabbit</groupId> > >> <artifactId>oak-jcr</artifactId> > >> <version>${project.version}</version> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.jackrabbit</groupId> > >> <artifactId>oak-jcr</artifactId> > >> <version>${project.version}</version> > >> <type>test-jar</type> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.jackrabbit</groupId> > >> <artifactId>oak-commons</artifactId> > >> <version>${project.version}</version> > >> <type>test-jar</type> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.jackrabbit</groupId> > >> <artifactId>jackrabbit-jcr-tests</artifactId> > >> <version>${jackrabbit.version}</version> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.jackrabbit</groupId> > >> <artifactId>jackrabbit-core</artifactId> > >> <version>${jackrabbit.version}</version> > >> <classifier>tests</classifier> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.tika</groupId> > >> <artifactId>tika-parsers</artifactId> > >> <version>${tika.version}</version> > >> <scope>test</scope> > >> <exclusions> > >> <exclusion> > >> <groupId>commons-logging</groupId> > >> <artifactId>commons-logging</artifactId> > >> </exclusion> > >> </exclusions> > >> </dependency> > >> <dependency> > >> <groupId>org.apache.sling</groupId> > >> <artifactId>org.apache.sling.testing.osgi-mock</artifactId> > >> </dependency> > >> <dependency> > >> <groupId>org.hamcrest</groupId> > >> <artifactId>hamcrest-all</artifactId> > >> <version>1.3</version> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>org.mockito</groupId> > >> <artifactId>mockito-core</artifactId> > >> <version>1.10.19</version> > >> <scope>test</scope> > >> </dependency> > >> </dependencies> > >> </project> > >> > >> > >> -- > >> -Tor > >> > > > > > > > > -- > > -Tor > -- -Tor
