<?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.14</version> | |
<relativePath>../oak-parent/pom.xml</relativePath> | |
</parent> | |
<artifactId>oak-run</artifactId> | |
<name>Oak Runnable Jar</name> | |
<properties> | |
<jetty.version>9.4.46.v20220331</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> |