<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.opendaylight.integration</groupId>
- <artifactId>root</artifactId>
- <version>0.5.0-SNAPSHOT</version>
- <relativePath>../</relativePath>
- </parent>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>karaf-parent</artifactId>
+ <version>1.7.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+ <groupId>org.opendaylight.integration</groupId>
<artifactId>distribution-karaf</artifactId>
+ <version>0.5.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
- <branding.version>1.3.0-SNAPSHOT</branding.version>
- <karaf.resources.version>1.7.0-SNAPSHOT</karaf.resources.version>
+ <odlparent.version>1.7.0-SNAPSHOT</odlparent.version>
+ <vtn.coordinator.version>6.3.0-SNAPSHOT</vtn.coordinator.version>
</properties>
<dependencies>
+ <!-- opendaylight-karaf-parent uses this too -->
<dependency>
- <!-- scope is compile so all features (there is only one) are installed
- into startup.properties and the feature repo itself is not installed -->
<groupId>org.apache.karaf.features</groupId>
<artifactId>framework</artifactId>
- <version>${karaf.version}</version>
<type>kar</type>
- <exclusions>
- <exclusion>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- </exclusion>
- <exclusion>
- <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>
- <!-- scope is runtime so the feature repo is listed in the features
- service config file, and features may be installed using the
- karaf-maven-plugin configuration -->
- <dependency>
- <groupId>org.apache.karaf.features</groupId>
- <artifactId>standard</artifactId>
- <version>${karaf.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
-
- <!-- ODL Branding -->
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>karaf.branding</artifactId>
- <version>${branding.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <!-- Resources needed -->
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>opendaylight-karaf-resources</artifactId>
- <version>${karaf.resources.version}</version>
</dependency>
-
<!-- integration feature -->
<dependency>
<artifactId>features-integration-index</artifactId>
</exclusion>
</exclusions>
</dependency>
-
<!-- integration test feature -->
<dependency>
<artifactId>features-integration-test</artifactId>
</exclusion>
</exclusions>
</dependency>
-
- <!-- External application -->
+ <!-- external application -->
<dependency>
<groupId>org.opendaylight.vtn</groupId>
<artifactId>distribution.vtn-coordinator</artifactId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>${vtn.coordinator.version}</version>
<type>tar.bz2</type>
<classifier>bin</classifier>
<exclusions>
<exclusion>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- </exclusion>
- <exclusion>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.json</groupId>
- <artifactId>json</artifactId>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
-
<dependency>
<groupId>org.opendaylight.vtn</groupId>
<artifactId>distribution.vtn-coordinator</artifactId>
- <version>6.3.0-SNAPSHOT</version>
+ <version>${vtn.coordinator.version}</version>
<type>txt</type>
<classifier>README</classifier>
<exclusions>
<exclusion>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- </exclusion>
- <exclusion>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.json</groupId>
- <artifactId>json</artifactId>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
</exclusion>
</exclusions>
</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>
- <plugins>
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <versionRange>[0,)</versionRange>
- <goals>
- <goal>cleanVersions</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <versionRange>[0,)</versionRange>
- <goals>
- <goal>copy</goal>
- <goal>unpack</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.karaf.tooling</groupId>
- <artifactId>karaf-maven-plugin</artifactId>
- <versionRange>[0,)</versionRange>
- <goals>
- <goal>commands-generate-help</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.fusesource.scalate</groupId>
- <artifactId>maven-scalate-plugin</artifactId>
- <versionRange>[0,)</versionRange>
- <goals>
- <goal>sitegen</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.servicemix.tooling</groupId>
- <artifactId>depends-maven-plugin</artifactId>
- <versionRange>[0,)</versionRange>
- <goals>
- <goal>generate-depends-file</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
<plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-resources</id>
- <!-- here the phase you need -->
- <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>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.karaf.tooling</groupId>
- <artifactId>karaf-maven-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <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>
- </bootFeatures>
- <!-- no installedFeatures -->
- </configuration>
- <executions>
- <execution>
- <id>populate-system</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>features-add-to-repository</goal>
- </goals>
- <configuration>
- <descriptors>
- <descriptor>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</descriptor>
- </descriptors>
- <features>
- <feature>standard</feature>
- <feature>config</feature>
- <feature>package</feature>
- <feature>kar</feature>
- <feature>ssh</feature>
- <feature>management</feature>
- <feature>war</feature>
- </features>
- <repository>target/assembly/system</repository>
- </configuration>
- </execution>
- <execution>
- <id>process-resources</id>
- <goals>
- <goal>install-kars</goal>
- </goals>
- <phase>process-resources</phase>
- </execution>
- <execution>
- <id>package</id>
- <goals>
- <goal>instance-create-archive</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
+ <!-- Overriding executions from parent. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
- <execution>
- <id>copy</id>
- <goals>
- <goal>copy</goal>
- </goals>
- <!-- here the phase you need -->
- <phase>generate-resources</phase>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>karaf.branding</artifactId>
- <version>${karaf.branding.version}</version>
- <outputDirectory>target/assembly/lib</outputDirectory>
- <destFileName>karaf.branding-${branding.version}.jar</destFileName>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- <execution>
- <id>unpack-karaf-resources</id>
- <goals>
- <goal>unpack-dependencies</goal>
- </goals>
- <phase>prepare-package</phase>
- <configuration>
- <outputDirectory>${project.build.directory}/assembly</outputDirectory>
- <groupId>org.opendaylight.controller</groupId>
- <includeArtifactIds>opendaylight-karaf-resources</includeArtifactIds>
- <excludes>META-INF\/**</excludes>
- <excludeTransitive>true</excludeTransitive>
- <ignorePermissions>false</ignorePermissions>
- </configuration>
- </execution>
+ <!-- This replaces one of executions (defined in parent) which would exclude the app. -->
<execution>
<id>copy-externalapps</id>
<phase>prepare-package</phase>
<excludeTransitive>true</excludeTransitive>
</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>
- <includeArtifactIds>org.apache.aries.proxy.impl</includeArtifactIds>
- <overWriteReleases>false</overWriteReleases>
- <overWriteSnapshots>true</overWriteSnapshots>
- <overWriteIfNewer>true</overWriteIfNewer>
- <useRepositoryLayout>true</useRepositoryLayout>
- <addParentPoms>true</addParentPoms>
- <copyPom>true</copyPom>
- </configuration>
- </execution>
-
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <phase>prepare-package</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <tasks>
- <chmod perm="755">
- <fileset dir="${project.build.directory}/assembly/bin">
- <include name="karaf"/>
- <include name="instance"/>
- <include name="start"/>
- <include name="stop"/>
- <include name="status"/>
- <include name="client"/>
- <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>
- <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" />
-
- </tasks>
- </configuration>
- </execution>
</executions>
</plugin>
+ <!-- karaf-parent does not use karaf-plugin (yet) -->
<plugin>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>karaf-plugin</artifactId>
- <version>1.7.0-SNAPSHOT</version>
+ <version>${odlparent.version}</version>
<executions>
<execution>
<id>populate-local-repo</id>
</plugins>
</build>
<scm>
- <connection>scm:git:ssh://git.opendaylight.org:29418/controller.git</connection>
- <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
<tag>HEAD</tag>
- <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:Main</url>
+ <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=distribution-karaf;hb=HEAD</url>
</scm>
</project>