Author: rec
Date: Thu May 28 19:44:55 2015
New Revision: 1682316

URL: http://svn.apache.org/r1682316
Log:
[UIMA-4436] Check backwards compatibility during build
- Added profile for binary compatibility checks and activated it for uimaj-core 
via a marker file

Added:
    uima/uimaj/trunk/uimaj-core/.activate-enforce-compatibility
Modified:
    uima/uimaj/trunk/uimaj-parent/pom.xml

Added: uima/uimaj/trunk/uimaj-core/.activate-enforce-compatibility
URL: 
http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/.activate-enforce-compatibility?rev=1682316&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-core/.activate-enforce-compatibility (added)
+++ uima/uimaj/trunk/uimaj-core/.activate-enforce-compatibility Thu May 28 
19:44:55 2015
@@ -0,0 +1 @@
+Marker file to enable the "enforce-compatibility" profile.

Modified: uima/uimaj/trunk/uimaj-parent/pom.xml
URL: 
http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-parent/pom.xml?rev=1682316&r1=1682315&r2=1682316&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-parent/pom.xml (original)
+++ uima/uimaj/trunk/uimaj-parent/pom.xml Thu May 28 19:44:55 2015
@@ -139,6 +139,13 @@
   <properties>
     <uimaScmRoot>uimaj</uimaScmRoot>
     <uimaScmProject>${project.artifactId}</uimaScmProject>
+    <!-- 
+     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.7.0</compat.previous.version>
   </properties>
   
   <build>
@@ -194,4 +201,52 @@
       </plugin>
     </plugins>
   </build>
+  <profiles>
+    <profile>
+      <id>enforce-compatibility</id>
+      <activation>
+        <file>
+          <exists>.activate-enforce-compatibility</exists>
+        </file>
+      </activation>
+      <build>
+        <pluginManagement>
+          <plugins>
+            <plugin>
+              <artifactId>maven-enforcer-plugin</artifactId>
+              <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>
+                        <excludes>
+                          <exclude>**/impl/**/*</exclude>
+                          <exclude>**/internal/**/*</exclude>
+                        </excludes>
+                      </requireBackwardCompatibility>
+                    </rules>
+                  </configuration>
+                </execution>
+              </executions>
+            </plugin>
+          </plugins>
+        </pluginManagement>
+      </build>
+    </profile>
+  </profiles>
 </project>


Reply via email to