Start 4.0.9
[odlparent.git] / karaf / karaf4-parent / pom.xml
index 5313a3430a372590896ea3e99ade810efc452c5a..8f1bfa904394a2cc903332e89ad36c33f038108d 100644 (file)
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
+        <version>4.0.9-SNAPSHOT</version>
         <relativePath>../../odlparent</relativePath>
     </parent>
 
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>karaf4-parent</artifactId>
-    <version>1.9.0-SNAPSHOT</version>
+    <version>4.0.9-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>ODL :: odlparent :: ${project.artifactId}</name>
 
     <properties>
         <!-- Projects can override this to add their own boot feature -->
         <karaf.localFeature>standard</karaf.localFeature>
+        <karaf.archiveZip>true</karaf.archiveZip>
+        <karaf.archiveTarGz>true</karaf.archiveTarGz>
     </properties>
 
     <dependencyManagement>
             <dependency>
                 <groupId>org.apache.karaf.features</groupId>
                 <artifactId>framework</artifactId>
-                <version>${karaf4.version}</version>
+                <version>${karaf.version}</version>
                 <type>kar</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.karaf.features</groupId>
                 <artifactId>framework</artifactId>
-                <version>${karaf4.version}</version>
+                <version>${karaf.version}</version>
                 <classifier>features</classifier>
                 <type>xml</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.karaf.features</groupId>
                 <artifactId>standard</artifactId>
-                <version>${karaf4.version}</version>
+                <version>${karaf.version}</version>
                 <classifier>features</classifier>
                 <type>xml</type>
             </dependency>
         <dependency>
             <groupId>org.apache.aries.quiesce</groupId>
             <artifactId>org.apache.aries.quiesce.api</artifactId>
-            <version>1.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <!-- for https://bugs.opendaylight.org/show_bug.cgi?id=4290 -->
+            <artifactId>org.osgi.service.event</artifactId>
+        </dependency>
+
+        <!-- Optional dependency of karaf.config.core -->
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.metatype</artifactId>
         </dependency>
 
         <!-- ODL Branding -->
         <!-- ODL configuration -->
         <dependency>
             <groupId>org.opendaylight.odlparent</groupId>
-            <artifactId>opendaylight-karaf4-resources</artifactId>
+            <artifactId>opendaylight-karaf-resources</artifactId>
+        </dependency>
+
+        <!-- BouncyCastle Framework Extension Bundles -->
+        <dependency>
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>bcpkix-framework-ext</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>bcprov-framework-ext</artifactId>
+            <scope>runtime</scope>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>process-resources</id>
-                        <goals>
-                            <goal>resources</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
             <plugin>
                 <artifactId>maven-remote-resources-plugin</artifactId>
                 <configuration>
                                 <artifactItem>
                                     <groupId>org.opendaylight.odlparent</groupId>
                                     <artifactId>karaf.branding</artifactId>
-                                    <version>1.9.0-SNAPSHOT</version>
+                                    <version>4.0.9-SNAPSHOT</version>
                                     <outputDirectory>target/assembly/lib</outputDirectory>
-                                    <destFileName>karaf.branding-1.9.0-SNAPSHOT.jar</destFileName>
+                                    <destFileName>karaf.branding-3.0.0-SNAPSHOT.jar</destFileName>
                                 </artifactItem>
                             </artifactItems>
                         </configuration>
                         <configuration>
                             <outputDirectory>${project.build.directory}/assembly</outputDirectory>
                             <groupId>org.opendaylight.odlparent</groupId>
-                            <includeArtifactIds>opendaylight-karaf4-resources</includeArtifactIds>
+                            <includeArtifactIds>opendaylight-karaf-resources</includeArtifactIds>
                             <excludes>META-INF\/**</excludes>
                             <excludeTransitive>true</excludeTransitive>
                             <ignorePermissions>false</ignorePermissions>
                             <artifactItems>
                                 <artifactItem>
                                     <groupId>org.opendaylight.odlparent</groupId>
-                                    <artifactId>opendaylight-karaf4-resources</artifactId>
+                                    <artifactId>opendaylight-karaf-resources</artifactId>
                                     <type>properties</type>
                                     <classifier>config</classifier>
                                     <overWrite>true</overWrite>
                     </execution>
                 </executions>
             </plugin>
-
-            <!-- This needs to execute before patching, otherwise the feature will be left unpatched -->
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-resources</id>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${basedir}/target/assembly</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/assembly</directory>
+                                </resource>
+                            </resources>
+                            <overwrite>true</overwrite>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>process-resources</id>
+                        <goals>
+                            <goal>resources</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
             <plugin>
                 <groupId>org.opendaylight.odlparent</groupId>
-                <artifactId>karaf4-plugin</artifactId>
-                <version>1.9.0-SNAPSHOT</version>
+                <artifactId>karaf-plugin</artifactId>
+                <version>4.0.9-SNAPSHOT</version>
                 <executions>
                     <execution>
                         <id>populate-local-repo</id>
+                        <phase>prepare-package</phase>
                         <goals>
                             <goal>populate-local-repo</goal>
                         </goals>
                 <artifactId>maven-antrun-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>patch-karaf-scripts</id>
+                        <id>fix-permissions</id>
                         <phase>prepare-package</phase>
                         <goals>
                             <goal>run</goal>
                         </goals>
                         <configuration>
                             <target>
-                                <!-- Patches only work with LF line endings from ant -->
-                                <fixcrlf srcdir="${project.build.directory}/assembly/bin"
-                                         includes="*.bat" eol="lf"/>
-                                <patch patchfile="${project.build.directory}/assembly/patches/karaf-instance.patch"
-                                       originalfile="${project.build.directory}/assembly/bin/instance"
-                                       failonerror="true"/>
-                                <patch patchfile="${project.build.directory}/assembly/patches/karaf-instance.bat.patch"
-                                       originalfile="${project.build.directory}/assembly/bin/instance.bat"
-                                       failonerror="true" ignorewhitespace="true"/>
-                                <patch patchfile="${project.build.directory}/assembly/patches/karaf-karaf-${karaf4.version}.patch"
-                                       originalfile="${project.build.directory}/assembly/bin/karaf"
-                                       failonerror="true"/>
-                                <patch patchfile="${project.build.directory}/assembly/patches/karaf-karaf.bat.patch"
-                                       originalfile="${project.build.directory}/assembly/bin/karaf.bat"
-                                       failonerror="true"/>
-                                <patch patchfile="${project.build.directory}/assembly/patches/karaf-setenv-${karaf4.version}.patch"
-                                       originalfile="${project.build.directory}/assembly/bin/setenv"
-                                       failonerror="true"/>
-                                <patch patchfile="${project.build.directory}/assembly/patches/karaf-setenv.bat.patch"
-                                       originalfile="${project.build.directory}/assembly/bin/setenv.bat"
-                                       failonerror="true"/>
-                                <patch patchfile="${project.build.directory}/assembly/patches/karaf-quiesce-${karaf4.version}.patch"
-                                       originalfile="${project.build.directory}/assembly/system/org/apache/karaf/features/standard/${karaf4.version}/standard-${karaf4.version}-features.xml"
-                                       failonerror="true"/>
-                                <patch patchfile="${project.build.directory}/assembly/patches/karaf-javax-mail-${karaf4.version}.patch"
-                                       originalfile="${project.build.directory}/assembly/system/org/apache/karaf/features/standard/${karaf4.version}/standard-${karaf4.version}-features.xml"
-                                       failonerror="true"/>
-                                <patch patchfile="${project.build.directory}/assembly/patches/karaf-paxweb.patch"
-                                       originalfile="${project.build.directory}/assembly/system/org/ops4j/pax/web/pax-web-features/4.3.0/pax-web-features-4.3.0-features.xml"
-                                       failonerror="true"/>
-                                <patch patchfile="${project.build.directory}/assembly/patches/karaf-etc-startup-properties-4.0.9.patch"
-                                       originalfile="${project.build.directory}/assembly/etc/startup.properties"
-                                       failonerror="true"/>
-                                <fixcrlf srcdir="${project.build.directory}/assembly/bin"
-                                         includes="*.bat" eol="crlf"/>
-                                <echo file="${project.build.directory}/assembly/etc/system.properties" append="true">mvn\:org.osgi/org.osgi.service.event/1.3.1 = 8</echo>
+                                <chmod perm="755">
+                                    <fileset dir="${project.build.directory}/assembly/bin">
+                                        <!-- Ensure that all the shell scripts are executable -->
+                                        <exclude name="*.bat"/>
+                                        <exclude name="contrib/*"/>
+                                    </fileset>
+                                </chmod>
                             </target>
                         </configuration>
                     </execution>
             <plugin>
                 <groupId>org.apache.karaf.tooling</groupId>
                 <artifactId>karaf-maven-plugin</artifactId>
-                <version>${karaf4.plugin.version}</version>
+                <!-- Revert to ${karaf.version} once the POM deployment issue is fixed -->
+                <version>4.2.1</version>
                 <executions>
                     <execution>
                         <id>process-resources</id>
                     </installedFeatures>
                     <bootFeatures>
                         <feature>standard</feature>
-                        <!-- We load wrap as a workaround to handle old features without the wrap prerequisite -->
-                        <!-- TODO Remove this once all the downstream features are fixed -->
-                        <feature>wrap</feature>
+                        <!-- Features always assumed to be present. Keep in sync with feature parent exclusions. -->
+                        <feature>ssh</feature>
                         <!-- Local feature if any -->
                         <feature>${karaf.localFeature}</feature>
                     </bootFeatures>
                     <javase>1.8</javase>
+                    <archiveTarGz>${karaf.archiveTarGz}</archiveTarGz>
+                    <archiveZip>${karaf.archiveZip}</archiveZip>
                 </configuration>
             </plugin>
         </plugins>
     </build>
-
 </project>