Enable TPCE in sodium 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>5.0.11</version>
17         <relativePath/>
18     </parent>
19     <groupId>org.opendaylight.integration</groupId>
20     <artifactId>karaf</artifactId>
21     <version>0.11.5-SNAPSHOT</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>${project.groupId}</groupId>
45                 <artifactId>all-artifacts</artifactId>
46                 <version>${project.version}</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>${project.groupId}</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.controller</groupId>
67                     <artifactId>opendaylight-karaf-empty</artifactId>
68                 </exclusion>
69                 <exclusion>
70                     <groupId>org.opendaylight.odlparent</groupId>
71                     <artifactId>opendaylight-karaf-empty</artifactId>
72                 </exclusion>
73             </exclusions>
74         </dependency>
75         <!-- Integration test feature repository. -->
76         <dependency>
77             <groupId>${project.groupId}</groupId>
78             <artifactId>features-test</artifactId>
79             <classifier>features</classifier>
80             <type>xml</type>
81             <scope>test</scope>
82             <exclusions>
83                 <exclusion>
84                     <groupId>org.opendaylight.odlparent</groupId>
85                     <artifactId>opendaylight-karaf4-empty</artifactId>
86                 </exclusion>
87                 <exclusion>
88                     <groupId>org.opendaylight.controller</groupId>
89                     <artifactId>opendaylight-karaf-empty</artifactId>
90                 </exclusion>
91                 <exclusion>
92                     <groupId>org.opendaylight.odlparent</groupId>
93                     <artifactId>opendaylight-karaf-empty</artifactId>
94                 </exclusion>
95             </exclusions>
96         </dependency>
97
98         <!-- This scope test here is just a trick, so that we can use the dependencies
99          in maven-dependency-plugin, but don't have karaf-maven-plugin choke on it -->
100         <dependency>
101             <groupId>org.opendaylight.aaa</groupId>
102             <artifactId>aaa-cli-jar</artifactId>
103             <scope>test</scope>
104         </dependency>
105         <dependency>
106             <groupId>org.opendaylight.integration</groupId>
107             <artifactId>karaf-scripts</artifactId>
108             <version>${project.version}</version>
109             <scope>test</scope>
110         </dependency>
111     </dependencies>
112
113     <build>
114         <plugins>
115             <plugin>
116                 <groupId>org.apache.maven.plugins</groupId>
117                 <artifactId>maven-dependency-plugin</artifactId>
118                 <executions>
119                     <execution>
120                         <id>copy-aaa-cli-jar</id>
121                         <phase>prepare-package</phase>
122                         <goals>
123                             <goal>copy-dependencies</goal>
124                         </goals>
125                         <configuration>
126                             <outputDirectory>${project.build.directory}/assembly/bin</outputDirectory>
127                             <includeArtifactIds>aaa-cli-jar</includeArtifactIds>
128                             <overWriteReleases>true</overWriteReleases>
129                             <overWriteSnapshots>true</overWriteSnapshots>
130                             <overWriteIfNewer>true</overWriteIfNewer>
131                             <excludeTransitive>true</excludeTransitive>
132                             <!-- Do not include version in JAR filename, as external scripts call this utility,
133                                  and they understandly do not want to have to adjust for every ODL release;
134                                  see e.g. https://github.com/dfarrell07/puppet-opendaylight/pull/140 -->
135                             <stripVersion>true</stripVersion>
136                         </configuration>
137                     </execution>
138                     <execution>
139                         <id>unpack-odl-karaf-resources</id>
140                         <goals>
141                             <goal>unpack-dependencies</goal>
142                         </goals>
143                         <phase>prepare-package</phase>
144                         <configuration>
145                             <outputDirectory>${project.build.directory}/assembly</outputDirectory>
146                             <groupId>org.opendaylight.integration</groupId>
147                             <includeArtifactIds>karaf-scripts</includeArtifactIds>
148                             <excludes>META-INF\/**</excludes>
149                             <excludeTransitive>true</excludeTransitive>
150                             <ignorePermissions>false</ignorePermissions>
151                         </configuration>
152                     </execution>
153                 </executions>
154             </plugin>
155         </plugins>
156     </build>
157
158     <profiles>
159         <profile>
160             <id>dependency-convergence</id>
161             <build>
162                 <plugins>
163                     <plugin>
164                         <artifactId>maven-enforcer-plugin</artifactId>
165                         <executions>
166                             <execution>
167                                 <id>enforce-dependency-convergence</id>
168                                 <goals>
169                                     <goal>enforce</goal>
170                                 </goals>
171                                 <configuration>
172                                     <rules>
173                                         <dependencyConvergence/>
174                                     </rules>
175                                 </configuration>
176                             </execution>
177                         </executions>
178                     </plugin>
179                 </plugins>
180             </build>
181         </profile>
182     </profiles>
183 </project>