| <?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. |
| --> |
| |
| <!-- This pom serves as the the UIMA Java SDK (uimaj) common parent pom, |
| and may include overrides to the project-wide parent-pom. |
| Over time, things in this pom which apply to |
| other projects within UIMA are migrated to the |
| project-wide parent pom. |
| --> |
| |
| <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.uima</groupId> |
| <artifactId>parent-pom</artifactId> |
| <relativePath /> |
| <version>16</version> |
| </parent> |
| |
| <artifactId>uimaj-parent</artifactId> |
| <packaging>pom</packaging> |
| <version>3.4.1-SNAPSHOT</version> |
| <name>Apache UIMA Java SDK: ${project.artifactId}</name> |
| <description>The common parent pom for the UIMA Java SDK</description> |
| <url>${uimaWebsiteUrl}</url> |
| |
| <issueManagement> |
| <system>Github</system> |
| <url>https://github.com/apache/uima-uimaj/issues</url> |
| </issueManagement> |
| |
| <scm> |
| <tag>uimaj-3.4.0</tag> |
| <connection>scm:git:https://github.com/apache/uima-uimaj/</connection> |
| <developerConnection>scm:git:https://github.com/apache/uima-uimaj/</developerConnection> |
| <url>https://github.com/apache/uima-uimaj/</url> |
| </scm> |
| |
| <!-- The repositories and pluginRepositories section is duplicated from |
| the parent pom one, and adds the Apache Snapshot Nexus repository |
| where UIMA snapshots are deployed. This is needed if for instance, |
| a project depends on some new SNAPSHOT level of a build tool, |
| where the users hasn't checked out the build tooling. |
| |
| This allows maven to find the snapshots when looking for the parent of |
| this pom --> |
| <repositories> |
| <!-- modify central repository access: |
| Turn on checksum checking--> |
| <repository> |
| <id>central</id> |
| <name>Maven Repository Switchboard</name> |
| <layout>default</layout> |
| <url>https://repo1.maven.org/maven2</url> |
| |
| <releases> |
| <enabled>true</enabled> |
| <checksumPolicy>fail</checksumPolicy> |
| <updatePolicy>never</updatePolicy> |
| </releases> |
| |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| |
| <!-- |
| - The Eclipse Plugin modules use version ranges for their dependencies. These could resolve to |
| - SNAPSHOT versions if we have a SNAPSHOT repo declaration here. Thus, this repo should only |
| - be enabled when really needed. |
| <repository> |
| <id>apache.snapshots</id> |
| <name>Apache Snapshot Repository</name> |
| <url>https://repository.apache.org/snapshots</url> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </repository> |
| --> |
| |
| <repository> |
| <id>${eclipseP2RepoId}</id> |
| <url>https://download.eclipse.org/releases/2018-12/</url> |
| <layout>p2</layout> |
| </repository> |
| </repositories> |
| |
| <pluginRepositories> |
| <!-- |
| - The Eclipse Plugin modules use version ranges for their dependencies. These could resolve to |
| - SNAPSHOT versions if we have a SNAPSHOT repo declaration here. Thus, this repo should only |
| - be enabled when really needed. |
| <pluginRepository> |
| <id>apache.snapshots.plugins</id> |
| <name>Apache Snapshot Repository - Maven plugins</name> |
| <url>https://repository.apache.org/snapshots</url> |
| <layout>default</layout> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| <checksumPolicy>fail</checksumPolicy> |
| <updatePolicy>never</updatePolicy> |
| </snapshots> |
| </pluginRepository> |
| --> |
| <pluginRepository> |
| <id>artifactory.openntf.org</id> |
| <name>artifactory.openntf.org</name> |
| <url>https://artifactory.openntf.org/openntf</url> |
| </pluginRepository> |
| </pluginRepositories> |
| |
| <properties> |
| <!-- |
| Configuring settings is best done through default properties that multiple plugins. |
| Local configurations within plugins should be avoided. Where plugins do not pick up default |
| properties already, they should be injected manually into the plugins. |
| --> |
| <slf4j-version>1.7.36</slf4j-version> |
| <log4j-version>2.19.0</log4j-version> |
| <jackson-version>2.13.1</jackson-version> |
| <junit-version>5.9.1</junit-version> |
| <assertj-version>3.23.1</assertj-version> |
| <xmlunit-version>2.9.0</xmlunit-version> |
| <maven.version>3.2.5</maven.version> |
| |
| <maven.compiler.target>1.8</maven.compiler.target> |
| <maven.compiler.source>1.8</maven.compiler.source> |
| |
| <eclipseP2RepoId>org.eclipse.p2.201812</eclipseP2RepoId> |
| |
| <api_check_oldVersion>3.3.1</api_check_oldVersion> |
| |
| <assemblySrcDescriptor>src/main/assembly/src.xml</assemblySrcDescriptor> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-engine</artifactId> |
| <version>${junit-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-migrationsupport</artifactId> |
| <version>${junit-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-params</artifactId> |
| <version>${junit-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.vintage</groupId> |
| <artifactId>junit-vintage-engine</artifactId> |
| <version>${junit-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>${assertj-version}</version> |
| </dependency> |
| <!-- set dependency versions for logger parts --> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-jdk14</artifactId> |
| <version>${slf4j-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.xmlunit</groupId> |
| <artifactId>xmlunit-core</artifactId> |
| <version>${xmlunit-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.xmlunit</groupId> |
| <artifactId>xmlunit-assertj3</artifactId> |
| <version>${xmlunit-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${eclipseP2RepoId}</groupId> |
| <artifactId>org.eclipse.jdt.debug</artifactId> |
| <exclusions> |
| <exclusion> |
| <!-- |
| The p2 resolver appears to have trouble with the "icu-data" classifier |
| --> |
| <groupId>${eclipseP2RepoId}</groupId> |
| <artifactId>com.ibm.icu</artifactId> |
| </exclusion> |
| <exclusion> |
| <!-- |
| The p2 resolver appears to have trouble with this one and tries to download it with |
| "tools" as the classifier. |
| --> |
| <groupId>${eclipseP2RepoId}</groupId> |
| <artifactId>org.eclipse.jdt.debug</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <!-- Used to enable findbug rule suppression annotations --> |
| <!-- This is the Apache v2 license version --> |
| <dependency> |
| <groupId>com.github.stephenc.findbugs</groupId> |
| <artifactId>findbugs-annotations</artifactId> |
| <version>1.3.9-1</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <!-- Can be removed after updating to the UIMA Parent POM 16 or higher --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-plugin-plugin</artifactId> |
| <version>3.6.4</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-toolchains-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>toolchain</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <toolchains> |
| <jdk> |
| <version>${maven.compiler.target}</version> |
| </jdk> |
| </toolchains> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <!-- See: https://issues.apache.org/jira/browse/UIMA-6349 --> |
| <groupId>com.github.siom79.japicmp</groupId> |
| <artifactId>japicmp-maven-plugin</artifactId> |
| <configuration> |
| <newVersion> |
| <file> |
| <path>${project.build.directory}/${project.build.finalName}.jar</path> |
| </file> |
| </newVersion> |
| <parameter> |
| <ignoreMissingClassesByRegularExpressions> |
| <ignoreMissingClassesByRegularExpression>com\.strobel\..*</ignoreMissingClassesByRegularExpression> |
| <ignoreMissingClassesByRegularExpression>org\.apache\.logging\.log4j\..*</ignoreMissingClassesByRegularExpression> |
| </ignoreMissingClassesByRegularExpressions> |
| </parameter> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <!-- See: https://issues.apache.org/jira/browse/UIMA-6349 --> |
| <!-- Can be removed after updating to the UIMA Parent POM 16 or higher --> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy-jsr223</artifactId> |
| <version>2.5.17</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.openntf.maven</groupId> |
| <artifactId>p2-layout-resolver</artifactId> |
| <version>1.7.0</version> |
| <extensions>true</extensions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>default-cli</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>verify</phase> |
| <!-- default configuration --> |
| <configuration> |
| <excludes combine.children="append"> |
| <!-- Eclipse launch files - no need for a license --> |
| <exclude>**/run_configuration/*.launch</exclude> |
| </excludes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>apache-release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <!-- Overriding the execution from the Apache parent POM --> |
| <id>source-release-assembly</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot> |
| <descriptorRefs combine.self="override" /> |
| <descriptors> |
| <descriptor>${assemblySrcDescriptor}</descriptor> |
| </descriptors> |
| <tarLongFileMode>${assembly.tarLongFileMode}</tarLongFileMode> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>jacoco</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <configuration> |
| <excludes combine.children="append"> |
| <!-- Duplicates on classpath cause an exception in JaCoCo report --> |
| <exclude>**/org/apache/uima/examples/SourceDocumentInformation*</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <!-- ************** m2e profile ************* --> |
| <profile> |
| <id>m2e</id> |
| <activation> |
| <property> |
| <name>m2e.version</name> |
| </property> |
| </activation> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <!-- This plugin's configuration is used to store Eclipse m2e settings |
| only. It has no influence on the Maven build itself. --> |
| <plugin> |
| <groupId>org.eclipse.m2e</groupId> |
| <artifactId>lifecycle-mapping</artifactId> |
| <version>1.0.0</version> |
| <configuration> |
| <lifecycleMappingMetadata> |
| <pluginExecutions> |
| |
| <!-- ***************************** --> |
| <!-- IGNORE maven-bundle-plugin --> |
| <!-- ***************************** --> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <versionRange>[3,)</versionRange> |
| <goals> |
| <goal>process</goal> |
| <goal>bundle</goal> |
| <goal>manifest</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>spotbugs</id> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.7.0.0</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| </profiles> |
| </project> |