Disable the version of Xalan bundled in Karaf 3.0.7
[controller.git] / karaf / karaf-parent / pom.xml
index baf67302e0d49f68affda9850d15cd6910177970..1404ed42ba39a89862e21a1981a88a3bd281324a 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.5.0-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -21,8 +21,15 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <packaging>pom</packaging>
 
   <properties>
-    <branding.version>1.1.0-SNAPSHOT</branding.version>
-    <karaf.resources.version>1.5.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.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>
   </properties>
   <dependencyManagement>
     <dependencies>
@@ -42,11 +49,35 @@ 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 - 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>
+      <version>${karaf.version}</version>
+      <type>xml</type>
+      <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>
@@ -61,6 +92,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>
@@ -170,10 +209,15 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <plugin>
           <groupId>org.apache.karaf.tooling</groupId>
           <artifactId>karaf-maven-plugin</artifactId>
-          <version>${karaf.version}</version>
+          <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>
@@ -286,6 +330,23 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
                 <overWriteSnapshots>true</overWriteSnapshots>
               </configuration>
             </execution>
+            <execution>
+              <id>copy-dependencies</id>
+              <phase>prepare-package</phase>
+              <goals>
+                <goal>copy-dependencies</goal>
+              </goals>
+              <configuration>
+                <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
+                <excludeArtifactIds>distribution.vtn-coordinator</excludeArtifactIds>
+                <overWriteReleases>false</overWriteReleases>
+                <overWriteSnapshots>true</overWriteSnapshots>
+                <overWriteIfNewer>true</overWriteIfNewer>
+                <useRepositoryLayout>true</useRepositoryLayout>
+                <addParentPoms>true</addParentPoms>
+                <copyPom>true</copyPom>
+              </configuration>
+            </execution>
           </executions>
         </plugin>
         <plugin>
@@ -310,6 +371,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>