BUG-6140: controll karaf zip and tar.gz creation
[controller.git] / karaf / karaf-parent / pom.xml
index f613a9af450f2234599d618b8f4565ad8c4cbf7e..30a8ed6a7d4e6c55b9b5cc60f6a70c728252095b 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>1.6.0-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -21,15 +21,17 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <packaging>pom</packaging>
 
   <properties>
-    <branding.version>1.2.0-SNAPSHOT</branding.version>
-    <karaf.resources.version>1.6.0-SNAPSHOT</karaf.resources.version>
+    <branding.version>1.3.0-SNAPSHOT</branding.version>
+    <karaf.resources.version>1.7.0-SNAPSHOT</karaf.resources.version>
     <karaf.localFeature>standard</karaf.localFeature>
-    <!--  Karaf Maven plugin 3.023 reinstalls already installed
+    <!--  Karaf Maven plugin 3.0.3 reinstalls already installed
           boot features to container, which could be observed
           in huge logs and seems like loop in build, even if it
           is not.
      -->
     <karaf.maven.version>3.0.1</karaf.maven.version>
+    <karaf.archiveTarGz>true</karaf.archiveTarGz>
+    <karaf.archiveZip>true</karaf.archiveZip>
   </properties>
   <dependencyManagement>
     <dependencies>
@@ -49,12 +51,20 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
             <groupId>org.apache.sshd</groupId>
             <artifactId>sshd-core</artifactId>
           </exclusion>
+          <!-- We provide a newer version of Aries Proxy -->
+          <exclusion>
+            <groupId>org.apache.aries.proxy</groupId>
+            <artifactId>org.apache.aries.proxy.impl</artifactId>
+          </exclusion>
         </exclusions>
       </dependency>
     </dependencies>
   </dependencyManagement>
   <dependencies>
-    <!-- karaf standard features -->
+    <!-- karaf standard features - scope is runtime so the feature repo is listed in the
+         features cfg file but the features aren't all installed by default via the
+         startup.properties. The features may be installed using the karaf-maven-plugin
+         configuration. -->
     <dependency>
       <groupId>org.apache.karaf.features</groupId>
       <artifactId>standard</artifactId>
@@ -63,6 +73,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <classifier>features</classifier>
       <scope>runtime</scope>
     </dependency>
+    <!-- karaf region dependency -->
+    <dependency>
+      <groupId>org.apache.karaf.region</groupId>
+      <artifactId>org.apache.karaf.region.persist</artifactId>
+      <version>${karaf.version}</version>
+      <scope>runtime</scope>
+    </dependency>
     <!-- ODL Branding -->
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
@@ -77,6 +94,14 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <artifactId>opendaylight-karaf-resources</artifactId>
       <version>${karaf.resources.version}</version>
     </dependency>
+
+    <!-- Aries Proxy 1.0.5 contains important bug fixes -->
+    <!-- Once we upgrade to a version of Karaf which has at least 1.0.5, this can be removed -->
+    <dependency>
+      <groupId>org.apache.aries.proxy</groupId>
+      <artifactId>org.apache.aries.proxy.impl</artifactId>
+      <version>1.0.5</version>
+    </dependency>
   </dependencies>
   <build>
     <pluginManagement>
@@ -189,7 +214,12 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
           <version>${karaf.maven.version}</version>
           <extensions>true</extensions>
           <configuration>
-            <!-- no startupFeatures -->
+            <startupFeatures>
+              <!-- For some reason, the eventadmin bundle works fine when installed via the
+                   startup.properties but doesn't work properly when installed via the
+                   boot features.  -->
+              <feature>eventadmin</feature>
+            </startupFeatures>
             <bootFeatures>
               <feature>standard</feature>
               <feature>${karaf.localFeature}</feature>
@@ -231,6 +261,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
               <goals>
                 <goal>instance-create-archive</goal>
               </goals>
+              <configuration>
+                <archiveTarGz>${karaf.archiveTarGz}</archiveTarGz>
+                <archiveZip>${karaf.archiveZip}</archiveZip>
+              </configuration>
             </execution>
           </executions>
         </plugin>
@@ -343,6 +377,34 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
                       <include name="shell"/>
                     </fileset>
                   </chmod>
+                  <!-- Remove this once Karaf provides a new-enough version of Aries Proxy -->
+                  <replace dir="${project.build.directory}/assembly/etc" token="org.apache.aries.proxy.impl/1.0.4"
+                           value="org.apache.aries.proxy.impl/1.0.5">
+                    <include name="startup.properties"/>
+                  </replace>
+
+                  <!-- BUG-5917, BUG-5943: remove overrides for platform factories and neuter Xalan's services-->
+                  <replace dir="${project.build.directory}/assembly/etc" token="javax.xml.parsers.DocumentBuilderFactory="
+                           value="# BUG-5943: javax.xml.parsers.DocumentBuilderFactory=">
+                    <include name="system.properties"/>
+                  </replace>
+                  <replace dir="${project.build.directory}/assembly/etc" token="javax.xml.transform.TransformerFactory="
+                           value="# BUG-5917: javax.xml.transform.TransformerFactory=">
+                    <include name="system.properties"/>
+                  </replace>
+                  <!-- Karaf 3.0.6 ships the Xalan 2.7.2_2 ServiceMix bundle -->
+                  <jar destfile="${project.build.directory}/assembly/lib/endorsed/odl-org.apache.servicemix.bundles.xalan-2.7.2_2_odl.jar">
+                    <zipfileset src="${project.build.directory}/assembly/lib/endorsed/org.apache.servicemix.bundles.xalan-2.7.2_2.jar"
+                                excludes="META-INF/services/javax.xml.*" erroronmissingarchive="false"/>
+                  </jar>
+                  <delete file="${project.build.directory}/assembly/lib/endorsed/org.apache.servicemix.bundles.xalan-2.7.2_2.jar" />
+                  <!-- Karaf 3.0.7 ships the Xalan 2.7.2_3 ServiceMix bundle -->
+                  <jar destfile="${project.build.directory}/assembly/lib/endorsed/odl-org.apache.servicemix.bundles.xalan-2.7.2_3_odl.jar">
+                    <zipfileset src="${project.build.directory}/assembly/lib/endorsed/org.apache.servicemix.bundles.xalan-2.7.2_3.jar"
+                                excludes="META-INF/services/javax.xml.*" erroronmissingarchive="false"/>
+                  </jar>
+                  <delete file="${project.build.directory}/assembly/lib/endorsed/org.apache.servicemix.bundles.xalan-2.7.2_3.jar" />
+
                 </tasks>
               </configuration>
             </execution>