Release integration/distribution
[integration/distribution.git] / karaf / pom.xml
1 <?xml version="1.0"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4  Copyright (c) 2014-2017 Cisco Systems, Inc. and others.  All rights reserved.
5
6  This program and the accompanying materials are made available under the
7  terms of the Eclipse Public License v1.0 which accompanies this distribution,
8  and is available at http://www.eclipse.org/legal/epl-v10.html
9 -->
10 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
11   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
12     <modelVersion>4.0.0</modelVersion>
13     <parent>
14         <groupId>org.opendaylight.odlparent</groupId>
15         <artifactId>karaf4-parent</artifactId>
16         <version>8.1.9</version>
17         <relativePath/>
18     </parent>
19     <groupId>org.opendaylight.integration</groupId>
20     <artifactId>karaf</artifactId>
21     <version>0.14.5</version>
22     <packaging>pom</packaging>
23     <!-- <name> formatting is used by autorelease to parse and notify projects on
24          build failure. Please do not modify this unless you have a good reason. -->
25     <name>ODL :: integration :: ${project.artifactId}</name>
26     <description>The actual Karaf archive building sub-project.</description>
27     <url>https://wiki.opendaylight.org/view/Integration/Distribution</url>
28     <licenses>
29         <license>
30             <name>Eclipse Public License v1.0</name>
31             <url>http://www.eclipse.org/legal/epl-v10.html</url>
32         </license>
33     </licenses>
34     <!-- FIXME: Add developers section -->
35     <scm>
36         <connection>scm:git:https://git.opendaylight.org/gerrit/integration/distribution.git</connection>
37         <developerConnection>scm:git:ssh://git.opendaylight.org:29418/integration/distribution.git</developerConnection>
38         <url>https://git.opendaylight.org/gerrit/gitweb?p=integration/distribution.git;a=tree;f=karaf;hb=HEAD</url>
39         <tag>HEAD</tag>
40     </scm>
41     <dependencyManagement>
42         <dependencies>
43             <dependency>
44                 <groupId>org.opendaylight.integration</groupId>
45                 <artifactId>all-artifacts</artifactId>
46                 <version>0.14.5</version>
47                 <scope>import</scope>
48                 <type>pom</type>
49             </dependency>
50         </dependencies>
51     </dependencyManagement>
52     <dependencies>
53         <!-- Integration index feature repository. -->
54         <dependency>
55             <groupId>org.opendaylight.integration</groupId>
56             <artifactId>features-index</artifactId>
57             <classifier>features</classifier>
58             <type>xml</type>
59             <scope>runtime</scope>
60             <exclusions>
61                 <exclusion>
62                     <groupId>org.opendaylight.odlparent</groupId>
63                     <artifactId>opendaylight-karaf4-empty</artifactId>
64                 </exclusion>
65                 <exclusion>
66                     <groupId>org.opendaylight.odlparent</groupId>
67                     <artifactId>opendaylight-karaf-empty</artifactId>
68                 </exclusion>
69             </exclusions>
70         </dependency>
71         <!-- Integration test feature repository. -->
72         <dependency>
73             <groupId>org.opendaylight.integration</groupId>
74             <artifactId>features-test</artifactId>
75             <classifier>features</classifier>
76             <type>xml</type>
77             <scope>test</scope>
78             <exclusions>
79                 <exclusion>
80                     <groupId>org.opendaylight.odlparent</groupId>
81                     <artifactId>opendaylight-karaf4-empty</artifactId>
82                 </exclusion>
83                 <exclusion>
84                     <groupId>org.opendaylight.odlparent</groupId>
85                     <artifactId>opendaylight-karaf-empty</artifactId>
86                 </exclusion>
87             </exclusions>
88         </dependency>
89
90         <!-- This scope test here is just a trick, so that we can use the dependencies
91          in maven-dependency-plugin, but don't have karaf-maven-plugin choke on it -->
92         <dependency>
93             <groupId>org.opendaylight.aaa</groupId>
94             <artifactId>aaa-cli-jar</artifactId>
95             <scope>test</scope>
96         </dependency>
97         <dependency>
98             <groupId>org.opendaylight.integration</groupId>
99             <artifactId>karaf-scripts</artifactId>
100             <version>0.14.5</version>
101             <scope>test</scope>
102         </dependency>
103     </dependencies>
104
105     <build>
106         <plugins>
107             <plugin>
108                 <groupId>org.apache.maven.plugins</groupId>
109                 <artifactId>maven-dependency-plugin</artifactId>
110                 <executions>
111                     <execution>
112                         <id>copy-aaa-cli-jar</id>
113                         <phase>prepare-package</phase>
114                         <goals>
115                             <goal>copy-dependencies</goal>
116                         </goals>
117                         <configuration>
118                             <outputDirectory>${project.build.directory}/assembly/bin</outputDirectory>
119                             <includeArtifactIds>aaa-cli-jar</includeArtifactIds>
120                             <overWriteReleases>true</overWriteReleases>
121                             <overWriteSnapshots>true</overWriteSnapshots>
122                             <overWriteIfNewer>true</overWriteIfNewer>
123                             <excludeTransitive>true</excludeTransitive>
124                             <!-- Do not include version in JAR filename, as external scripts call this utility,
125                                  and they understandly do not want to have to adjust for every ODL release;
126                                  see e.g. https://github.com/dfarrell07/puppet-opendaylight/pull/140 -->
127                             <stripVersion>true</stripVersion>
128                         </configuration>
129                     </execution>
130                     <execution>
131                         <id>unpack-odl-karaf-resources</id>
132                         <goals>
133                             <goal>unpack-dependencies</goal>
134                         </goals>
135                         <phase>prepare-package</phase>
136                         <configuration>
137                             <outputDirectory>${project.build.directory}/assembly</outputDirectory>
138                             <groupId>org.opendaylight.integration</groupId>
139                             <includeArtifactIds>karaf-scripts</includeArtifactIds>
140                             <excludes>META-INF\/**</excludes>
141                             <excludeTransitive>true</excludeTransitive>
142                             <ignorePermissions>false</ignorePermissions>
143                         </configuration>
144                     </execution>
145                 </executions>
146             </plugin>
147         </plugins>
148     </build>
149
150     <profiles>
151         <profile>
152             <id>dependency-convergence</id>
153             <build>
154                 <plugins>
155                     <plugin>
156                         <artifactId>maven-enforcer-plugin</artifactId>
157                         <executions>
158                             <execution>
159                                 <id>enforce-dependency-convergence</id>
160                                 <goals>
161                                     <goal>enforce</goal>
162                                 </goals>
163                                 <configuration>
164                                     <rules>
165                                         <dependencyConvergence/>
166                                     </rules>
167                                 </configuration>
168                             </execution>
169                         </executions>
170                     </plugin>
171                 </plugins>
172             </build>
173         </profile>
174     </profiles>
175 </project>