| <?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.22.13-SNAPSHOT</version> |
| <relativePath>../oak-parent/pom.xml</relativePath> |
| </parent> |
| |
| <artifactId>oak-run</artifactId> |
| <name>Oak Runnable Jar</name> |
| |
| <properties> |
| <jetty.version>8.2.0.v20160908</jetty.version> |
| <groovy.version>2.4.17</groovy.version> |
| <!-- |
| Size History: |
| + 56 MB MongoDB Java driver 3.12.7 (OAK-9357) |
| + 52 MB AWS java sdk update (OAK-8875) |
| + 51 MB AWS java sdk update (OAK-7536) |
| + 49 MB MongoDB Java driver 3.6.3 is bigger (OAK-7359) |
| + 48 MB Transitive dependencies needed for aws-java-sdk (OAK-6899) |
| + 47 MB release profile build slightly bigger jar (OAK-6252) |
| + 46 MB re-introduced the ServerCommand and required dependencies (OAK-6252) |
| + 41 MB build failing on the release profile (OAK-6250) |
| + 38 MB. Initial value. Current 35MB plus a 10% |
| --> |
| <max.jar.size>58720256</max.jar.size> |
| </properties> |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>src/main/groovy</directory> |
| <includes> |
| <include>**/*.properties</include> |
| </includes> |
| </resource> |
| <resource> |
| <directory>src/main/resources</directory> |
| <includes> |
| <include>**/*.*</include> |
| </includes> |
| </resource> |
| </resources> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.gmavenplus</groupId> |
| <artifactId>gmavenplus-plugin</artifactId> |
| <version>1.5</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>addSources</goal> |
| <goal>addTestSources</goal> |
| <goal>generateStubs</goal> |
| <goal>compile</goal> |
| <goal>testGenerateStubs</goal> |
| <goal>testCompile</goal> |
| <goal>removeStubs</goal> |
| <goal>removeTestStubs</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <archive> |
| <manifest> |
| <addDefaultImplementationEntries>true</addDefaultImplementationEntries> |
| <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> |
| <mainClass>org.apache.jackrabbit.oak.run.Main</mainClass> |
| </manifest> |
| </archive> |
| </configuration> |
| <executions> |
| <execution> |
| <id>create-oak</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <attach>false</attach> |
| <descriptors> |
| <descriptor>src/main/assembly/oak-run.xml</descriptor> |
| </descriptors> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <version>1.8</version> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <configuration> |
| <target> |
| <!-- |
| Replace the default oak-run with the one created in assembly so |
| as to ensure default artifact oak-run is the one which has all jars |
| embedded |
| --> |
| <copy file="${project.build.directory}/${project.build.finalName}-oak.jar" tofile="${project.build.directory}/${project.build.finalName}.jar" /> |
| <delete file="${project.build.directory}/${project.build.finalName}-oak.jar" /> |
| </target> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.phasebash.jsdoc</groupId> |
| <artifactId>jsdoc3-maven-plugin</artifactId> |
| <version>1.2.0</version> |
| <executions> |
| <execution> |
| <id>generate-jsdoc</id> |
| <phase>site</phase> |
| <goals> |
| <goal>jsdoc3</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <outputDirectory>../oak-doc/target/site/oak-mongo-js</outputDirectory> |
| <sourceFiles> |
| <sourceFile>src/main/js/oak-mongo.js</sourceFile> |
| </sourceFiles> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.0.0-M2</version> |
| <executions> |
| <execution> |
| <id>enforce-file-size</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <phase>package</phase> |
| <configuration> |
| <rules> |
| <requireFilesSize> |
| <maxsize>${max.jar.size}</maxsize> |
| <files> |
| <file>${project.build.directory}/${project.build.finalName}.jar</file> |
| </files> |
| </requireFilesSize> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <configuration> |
| <redirectTestOutputToFile>true</redirectTestOutputToFile> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <dependencies> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-run-commons</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-jcr</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-api</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-query-spi</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-core-spi</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-lucene</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-blob-cloud</artifactId> |
| <version>${project.version}</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-segment-tar</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-segment</artifactId> |
| <version>1.6.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-store-document</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>jackrabbit-aws-ext</artifactId> |
| <version>${jackrabbit.version}</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-blob-cloud-azure</artifactId> |
| <version>${project.version}</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-http</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>jackrabbit-jcr-server</artifactId> |
| <version>${jackrabbit.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>net.sf.jopt-simple</groupId> |
| <artifactId>jopt-simple</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy-all</artifactId> |
| <version>${groovy.version}</version> |
| <classifier>indy</classifier> |
| </dependency> |
| <dependency> |
| <groupId>org.mongodb</groupId> |
| <artifactId>mongo-java-driver</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.mapdb</groupId> |
| <artifactId>mapdb</artifactId> |
| <version>1.0.6</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>org.apache.felix.configadmin</artifactId> |
| <version>1.8.8</version> |
| </dependency> |
| <dependency> |
| <groupId>jline</groupId> |
| <artifactId>jline</artifactId> |
| <version>2.14.5</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-csv</artifactId> |
| <version>1.1</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.h2database</groupId> |
| <artifactId>h2</artifactId> |
| <version>${h2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.googlecode.json-simple</groupId> |
| <artifactId>json-simple</artifactId> |
| <version>1.1.1</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>junit</artifactId> |
| <groupId>junit</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tika</groupId> |
| <artifactId>tika-parsers</artifactId> |
| <version>${tika.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tika</groupId> |
| <artifactId>tika-core</artifactId> |
| <version>${tika.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>org.apache.felix.inventory</artifactId> |
| <version>1.0.4</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlet</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| <version>1.2</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>2.8.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore-osgi</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient-osgi</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| <version>2.8.1</version> |
| </dependency> |
| |
| <!-- RDB support --> |
| <dependency> |
| <groupId>org.apache.tomcat</groupId> |
| <artifactId>tomcat-jdbc</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tomcat</groupId> |
| <artifactId>tomcat-juli</artifactId> |
| </dependency> |
| |
| <!-- Nullability annotations --> |
| <dependency> |
| <groupId>org.jetbrains</groupId> |
| <artifactId>annotations</artifactId> |
| </dependency> |
| |
| <!-- Pushgateway --> |
| <dependency> |
| <groupId>io.prometheus</groupId> |
| <artifactId>simpleclient</artifactId> |
| <version>0.6.0</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>io.prometheus</groupId> |
| <artifactId>simpleclient_dropwizard</artifactId> |
| <version>0.6.0</version> |
| <optional>true</optional> |
| </dependency> |
| <!-- Pushgateway exposition--> |
| <dependency> |
| <groupId>io.prometheus</groupId> |
| <artifactId>simpleclient_pushgateway</artifactId> |
| <version>0.6.0</version> |
| <optional>true</optional> |
| </dependency> |
| |
| <!-- Test dependencies --> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <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>oak-blob-plugins</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-blob-cloud</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-blob-cloud-azure</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-store-document</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-all</artifactId> |
| <version>1.3</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.arakelian</groupId> |
| <artifactId>docker-junit-rule</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <profiles> |
| <profile> |
| <!-- |
| oak-lucene embeds the Lucene jar. However when running in IDE |
| the IDE use the module classpath. So need to explicitly list the |
| lucene jars |
| --> |
| <id>ide</id> |
| <activation> |
| <activeByDefault>true</activeByDefault> |
| </activation> |
| <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-facet</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>oak-core</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </profile> |
| </profiles> |
| </project> |