diff --git a/pom.xml b/pom.xml
index 9396bbd..918159f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -167,7 +167,7 @@
     <!--  *********************************************************************************************************** -->
     <!--  *********************************************************************************************************** -->
     <parentPomPatchVersion>12</parentPomPatchVersion>  <!-- UGH need to change this manually for release !!! -->
-    <uimaBuildResourcesVersion>5</uimaBuildResourcesVersion>
+    <uimaBuildResourcesVersion>6-SNAPSHOT</uimaBuildResourcesVersion>
     <uimaWebsiteUrl>https://uima.apache.org</uimaWebsiteUrl>
     <uimaWebsiteDistributionUrl>scp://people.apache.org/www/uima.apache.org/</uimaWebsiteDistributionUrl>
     <maven.build.timestamp.format>yyMMdd_HHmm</maven.build.timestamp.format>
@@ -774,7 +774,7 @@
           <!-- to support multi-module source-release builds -->
           <plugin>
             <artifactId>maven-assembly-plugin</artifactId>
-            <dependencies>            
+            <dependencies>
               <dependency>
                 <groupId>org.apache.uima</groupId>
                 <artifactId>uima-build-resources</artifactId>
@@ -2441,11 +2441,11 @@
                 <version>${uimaBuildResourcesVersion}</version>
               </dependency>
             </dependencies>
-          </plugin>    
-        </plugins>       
+          </plugin>
+        </plugins>
       </build>
     </profile>
-        
+
     <!-- ********************************** -->
     <!-- *   Build OSGi bundle            * -->
     <!-- ********************************** -->     
@@ -2458,13 +2458,10 @@
       </activation>
            
       <build>  
-        
         <plugins> 
-        
           <plugin>
             <artifactId>maven-resources-plugin</artifactId>
             <executions>
-                            
               <!-- copy the base-bin dir to the osgi dir -->
               <execution>
                 <id>Copy base-bin to osgi</id>
@@ -2563,13 +2560,12 @@
                   <archive>
                     <manifestFile>${project.build.directory}/osgi/META-INF/MANIFEST.MF</manifestFile>
                   </archive>
-                </configuration>                
+                </configuration>
               </execution>
             </executions>
           </plugin>
-                             
         </plugins>
-      </build>             
+      </build>
     </profile>
  
     <!-- ********************************** -->
@@ -2583,14 +2579,11 @@
         </file>
       </activation>
       <build>  
-        
         <plugins>  
-                     
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-resources-plugin</artifactId>
             <executions>
-              
               <!-- add the contents of desc if it exists to the jar.  
                    This puts the things like the WhitespaceTokenizer.xml file into the Jar
                    and makes it easier for users to run this, without installing a pear. 
@@ -2609,7 +2602,7 @@
                   </resources>
                 </configuration>
               </execution>
-                   
+
               <!-- copy the base-bin dir to the pearPackaging dir -->
               <execution>
                 <id>Copy base-bin to pearPackaging</id>
@@ -2628,7 +2621,6 @@
                   </resources>
                 </configuration>
               </execution>
-                                      
             </executions>
           </plugin>
           
@@ -2663,7 +2655,7 @@
                 </configuration>
               </execution>
             </executions>
-          </plugin>              
+          </plugin>
 
           <!-- Attach PEAR artifact after PEAR is built -->
           <plugin>
@@ -2705,7 +2697,6 @@
       <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>
@@ -3013,36 +3004,62 @@
       </activation>
       
       <properties>
-        <!-- This property must be set in POMs inheriting from this one -->
-        <japicmp.postAnalysisScript />
+        <japicmp.postAnalysisScript>${project.build.directory}/japicmp-resources/japicmp/api-report.groovy</japicmp.postAnalysisScript>
       </properties>
-      
+
       <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>
+              <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>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-dependency-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>provide-japicmp-postAnalysisScript</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>unpack</goal>
+                </goals>
+                <configuration>
+                  <artifactItems>
+                    <artifactItem>
+                      <groupId>org.apache.uima</groupId>
+                      <artifactId>uima-build-resources</artifactId>
+                      <version>${uimaBuildResourcesVersion}</version>
+                      <type>jar</type>
+                      <overWrite>true</overWrite>
+                      <outputDirectory>${project.build.directory}/japicmp-resources/</outputDirectory>
+                      <includes>japicmp/api-report.groovy</includes>
+                    </artifactItem>
+                  </artifactItems>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        
           <!-- https://siom79.github.io/japicmp/MavenPlugin.html -->
-          <plugin>              
+          <plugin>
             <groupId>com.github.siom79.japicmp</groupId>
             <artifactId>japicmp-maven-plugin</artifactId>
-            <version>0.13.0</version>
+            <version>0.14.4</version>
             <configuration>
               <oldVersion>
                 <dependency>
