You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2017/03/17 18:14:47 UTC
svn commit: r1787468 - /uima/uimafit/trunk/uimafit-parent/pom.xml
Author: rec
Date: Fri Mar 17 18:14:47 2017
New Revision: 1787468
URL: http://svn.apache.org/viewvc?rev=1787468&view=rev
Log:
[UIMA-5377] improve version compatibility checking for uimafit
- Ported over japicmp setup from uimaj-core
- Formatted POM
Modified:
uima/uimafit/trunk/uimafit-parent/pom.xml
Modified: uima/uimafit/trunk/uimafit-parent/pom.xml
URL: http://svn.apache.org/viewvc/uima/uimafit/trunk/uimafit-parent/pom.xml?rev=1787468&r1=1787467&r2=1787468&view=diff
==============================================================================
--- uima/uimafit/trunk/uimafit-parent/pom.xml (original)
+++ uima/uimafit/trunk/uimafit-parent/pom.xml Fri Mar 17 18:14:47 2017
@@ -1,355 +1,395 @@
-<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/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.uima</groupId>
- <artifactId>parent-pom</artifactId>
- <relativePath />
- <version>10</version>
- </parent>
- <artifactId>uimafit-parent</artifactId>
- <version>2.3.0-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>Apache UIMA uimaFIT - Parent</name>
- <url>${uimaWebsiteUrl}</url>
- <inceptionYear>2012</inceptionYear>
- <properties>
- <spring.version>3.2.16.RELEASE</spring.version>
- <uima.version>2.9.0</uima.version>
- <maven.compiler.source>1.7</maven.compiler.source>
- <maven.compiler.target>1.7</maven.compiler.target>
- <!--
- BACKWARD_COMPATIBLE_IMPLEMENTER - patch version (=.=.+)
- BACKWARD_COMPATIBLE_USER - minor version (=.+.0)
- NON_BACKWARD_COMPATIBLE - major version (+.0.0)
- -->
- <compat.level>BACKWARD_COMPATIBLE_USER</compat.level>
- <compat.previous.version>2.1.0</compat.previous.version>
- </properties>
- <!--
- - Only required while uimaFIT depends on unreleased versions of UIMA.
- <repositories>
- <repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>apache.snapshots.plugins</id>
- <name>Apache Snapshot Repository - Maven plugins</name>
- <url>http://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>
- </pluginRepositories>
- -->
-
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.6</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>2.2</version>
- <!-- 2.2 is the last Java 5 compatible version -->
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging-api</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.uima</groupId>
- <artifactId>uimaj-core</artifactId>
- <version>${uima.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.uima</groupId>
- <artifactId>uimaj-cpe</artifactId>
- <version>${uima.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.uima</groupId>
- <artifactId>uimaj-tools</artifactId>
- <version>${uima.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jdom</groupId>
- <artifactId>jdom</artifactId>
- <version>1.1.3</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>${spring.version}</version>
- <!--
- - This is excluded in the assembly and not here to avoid unwanted side-effects
- - on users' projects.
- <exclusions>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- </exclusion>
- </exclusions>
- -->
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-test</artifactId>
- <version>${spring.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <licenses>
- <license>
- <name>Apache License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>parent-pom</artifactId>
+ <relativePath />
+ <version>10</version>
+ </parent>
+ <artifactId>uimafit-parent</artifactId>
+ <version>2.3.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Apache UIMA uimaFIT - Parent</name>
+ <url>${uimaWebsiteUrl}</url>
+ <inceptionYear>2012</inceptionYear>
+ <properties>
+ <spring.version>3.2.16.RELEASE</spring.version>
+ <uima.version>2.9.0</uima.version>
+ <maven.compiler.source>1.7</maven.compiler.source>
+ <maven.compiler.target>1.7</maven.compiler.target>
+ <compat.previous.version>2.1.0</compat.previous.version>
+ </properties>
+ <!--
+ - Only required while uimaFIT depends on unreleased versions of UIMA.
+ <repositories>
+ <repository>
+ <id>apache.snapshots</id>
+ <name>Apache Snapshot Repository</name>
+ <url>http://repository.apache.org/snapshots</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>apache.snapshots.plugins</id>
+ <name>Apache Snapshot Repository - Maven plugins</name>
+ <url>http://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>
+ </pluginRepositories>
+ -->
- <build>
- <plugins>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.12</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.6</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.2</version>
+ <!-- 2.2 is the last Java 5 compatible version -->
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging-api</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>uimaj-core</artifactId>
+ <version>${uima.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>uimaj-cpe</artifactId>
+ <version>${uima.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>uimaj-tools</artifactId>
+ <version>${uima.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jdom</groupId>
+ <artifactId>jdom</artifactId>
+ <version>1.1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>${spring.version}</version>
+ <!--
+ - This is excluded in the assembly and not here to avoid unwanted side-effects
+ - on users' projects.
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-aop</artifactId>
+ </exclusion>
+ </exclusions>
+ -->
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <licenses>
+ <license>
+ <name>Apache License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <build>
+ <plugins>
<!-- This should no longer be required with current versions of the maven-resources-plugin
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <configuration>
- <encoding>${project.build.sourceEncoding}</encoding>
- </configuration>
- </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <configuration>
+ <encoding>${project.build.sourceEncoding}</encoding>
+ </configuration>
+ </plugin>
-->
- <plugin>
- <groupId>org.codehaus.gmaven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <version>1.5</version>
- <executions>
- <execution>
- <!-- Load postNoticeText from NOTICE file -->
- <id>read-notice</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>execute</goal>
- </goals>
- <configuration>
- <source>
- def noticeFile = new File(project.basedir.path +
- "/NOTICE");
- if (noticeFile.exists()) {
- project.properties.postNoticeText = noticeFile.text;
- }
- </source>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>1.6</version>
- </plugin>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <version>0.11</version>
- <executions>
- <execution>
- <id>default-cli</id>
- <configuration>
- <excludes>
- <!-- Plain documentation -->
- <exclude>README*</exclude>
- <!-- Release files -->
- <exclude>RELEASE_NOTES*</exclude>
- <exclude>issuesFixed/**</exclude>
- <exclude>release.properties</exclude>
- <!-- Build controls -->
- <exclude>.activate-enforce-compatibility</exclude>
- </excludes>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <!-- https://issues.apache.org/jira/browse/RAT-158 -->
- <dependency>
- <groupId>org.apache.maven.doxia</groupId>
- <artifactId>doxia-core</artifactId>
- <version>1.7</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.5.1</version>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- <!--encoding>UTF-8</encoding this inherited from apache pom 7 -->
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.3</version>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <configuration>
- <source>${maven.compiler.source}</source>
- </configuration>
- </execution>
- <execution>
- <id>default-cli</id> <!-- Jenkins runs this apparently 3/2015 -->
- <configuration>
- <source>${maven.compiler.source}</source>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.uima</groupId>
- <artifactId>jcasgen-maven-plugin</artifactId>
- <version>${uima.version}</version>
- </plugin>
- <!--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>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.codehaus.gmaven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <versionRange>[1.4,)</versionRange>
- <goals>
- <goal>execute</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- <profiles>
- <profile>
- <id>findbugs</id>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- <version>3.0.3</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>findbugs</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>enforce-compatibility</id>
- <activation>
- <file><exists>.activate-enforce-compatibility</exists></file>
- </activation>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.4.1</version>
- <dependencies>
- <dependency>
- <groupId>org.semver</groupId>
- <artifactId>enforcer-rule</artifactId>
- <version>0.9.33</version>
- </dependency>
- </dependencies>
- <executions>
- <execution>
- <id>enforce-compatibility</id>
- <phase>verify</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireBackwardCompatibility implementation="org.semver.enforcer.RequireBackwardCompatibility">
- <previousVersion>${compat.previous.version}</previousVersion>
- <dumpDetails>true</dumpDetails>
- <compatibilityType>${compat.level}</compatibilityType>
- </requireBackwardCompatibility>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
- </profiles>
+ <plugin>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>gmaven-plugin</artifactId>
+ <version>1.5</version>
+ <executions>
+ <execution>
+ <!-- Load postNoticeText from NOTICE file -->
+ <id>read-notice</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <source>
+ def noticeFile = new File(project.basedir.path +
+ "/NOTICE");
+ if (noticeFile.exists()) {
+ project.properties.postNoticeText = noticeFile.text;
+ }
+ </source>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.6</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <version>0.11</version>
+ <executions>
+ <execution>
+ <id>default-cli</id>
+ <configuration>
+ <excludes>
+ <!-- Plain documentation -->
+ <exclude>README*</exclude>
+ <!-- Release files -->
+ <exclude>RELEASE_NOTES*</exclude>
+ <exclude>issuesFixed/**</exclude>
+ <exclude>release.properties</exclude>
+ <!-- Build controls -->
+ <exclude>.activate-enforce-compatibility</exclude>
+ </excludes>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <!-- https://issues.apache.org/jira/browse/RAT-158 -->
+ <dependency>
+ <groupId>org.apache.maven.doxia</groupId>
+ <artifactId>doxia-core</artifactId>
+ <version>1.7</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.5.1</version>
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ <target>${maven.compiler.target}</target>
+ <!--encoding>UTF-8</encoding this inherited from apache pom 7 -->
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.10.3</version>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ </configuration>
+ </execution>
+ <execution>
+ <id>default-cli</id> <!-- Jenkins runs this apparently 3/2015 -->
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>jcasgen-maven-plugin</artifactId>
+ <version>${uima.version}</version>
+ </plugin>
+ <!--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>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>gmaven-plugin</artifactId>
+ <versionRange>[1.4,)</versionRange>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <profiles>
+ <profile>
+ <id>findbugs</id>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <version>3.0.3</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>findbugs</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>enforce-compatibility</id>
+ <activation>
+ <file>
+ <exists>.activate-enforce-compatibility</exists>
+ </file>
+ </activation>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-cli</id>
+ <configuration>
+ <excludes combine.children="append">
+ <exclude>**/api-change-report/**/*.*</exclude>
+ </excludes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+
+ <plugins>
+ <!-- https://siom79.github.io/japicmp/MavenPlugin.html -->
+ <plugin>
+ <groupId>com.github.siom79.japicmp</groupId>
+ <artifactId>japicmp-maven-plugin</artifactId>
+ <version>0.9.3</version>
+ <configuration>
+ <oldVersion>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${compat.previous.version}</version>
+ </dependency>
+ </oldVersion>
+ <parameter>
+ <onlyModified>true</onlyModified>
+ <!-- filter out classes with impl in their package or class name -->
+ <postAnalysisScript>${project.basedir}/../uimafit-parent/src/main/groovy/api-report.groovy</postAnalysisScript>
+ </parameter>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>cmp</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- This copy is to have the api change report included in the source distribution -->
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-API-change-report</id>
+ <phase>install</phase> <!-- must follow verify -->
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" />
+ <if>
+ <available file="${project.build.directory}/japicmp/" />
+ <then>
+ <copy toDir="${basedir}/api-change-report">
+ <fileset dir="${project.build.directory}/japicmp" />
+ </copy>
+ </then>
+ </if>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
\ No newline at end of file