Release odlparent
[odlparent.git] / single-feature-parent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  Copyright © 2016, 2017 Red Hat, Inc. and others.  All rights reserved.
4
5  This program and the accompanying materials are made available under the
6  terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  and is available at http://www.eclipse.org/legal/epl-v10.html
8  -->
9 <project xmlns="http://maven.apache.org/POM/4.0.0"
10          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
14     <!--
15          Base parent POM for building and packaging single Karaf features.
16          Karaf features are generated based on the POM dependencies; they can be supplemented by a base
17          feature.xml file in src/main/feature.
18
19          By default, such single features aren't tested for loadability; they're supposed to be aggregated
20          in a feature repository (see feature-repo-parent), which is tested using SingleFeatureTest. The
21          sft profile can be used to enforce SingleFeatureTest on single features too.
22
23          Single features which aren't part of a repository can not be considered part of a project's API.
24          In any case, refer to each project's declared features to determine their API and future
25          availability.
26
27          Users should do the following:
28
29          - specify this as their parent
30          - make sure the packaging is set to feature
31          - setup projects <dependencies/> as needed for their features
32     -->
33
34     <parent>
35         <groupId>org.opendaylight.odlparent</groupId>
36         <artifactId>abstract-feature-parent</artifactId>
37         <version>13.0.9</version>
38         <relativePath>../abstract-feature-parent</relativePath>
39     </parent>
40
41     <artifactId>single-feature-parent</artifactId>
42     <packaging>pom</packaging>
43     <name>ODL :: odlparent :: ${project.artifactId}</name>
44
45     <build>
46         <pluginManagement>
47             <plugins>
48                 <!--
49                     This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.
50                 -->
51                 <plugin>
52                     <groupId>org.eclipse.m2e</groupId>
53                     <artifactId>lifecycle-mapping</artifactId>
54                     <version>1.0.0</version>
55                     <configuration>
56                         <lifecycleMappingMetadata>
57                             <pluginExecutions>
58                                 <pluginExecution>
59                                     <pluginExecutionFilter>
60                                         <groupId>org.apache.karaf.tooling</groupId>
61                                         <artifactId>karaf-maven-plugin</artifactId>
62                                         <versionRange>[4.1.5,)</versionRange>
63                                         <goals>
64                                             <goal>verify</goal>
65                                         </goals>
66                                     </pluginExecutionFilter>
67                                     <action>
68                                         <ignore/>>
69                                     </action>
70                                 </pluginExecution>
71                             </pluginExecutions>
72                         </lifecycleMappingMetadata>
73                     </configuration>
74                 </plugin>
75             </plugins>
76         </pluginManagement>
77
78         <plugins>
79             <plugin>
80                 <groupId>org.apache.karaf.tooling</groupId>
81                 <artifactId>karaf-maven-plugin</artifactId>
82                 <version>${karaf.version}</version>
83                 <extensions>true</extensions>
84                 <configuration combine.children="append">
85                     <enableGeneration>true</enableGeneration>
86                     <simplifyBundleDependencies>true</simplifyBundleDependencies>
87                     <checkDependencyChange>${checkDependencyChange}</checkDependencyChange>
88                     <logDependencyChanges>true</logDependencyChanges>
89                     <failOnDependencyChange>${failOnDependencyChange}</failOnDependencyChange>
90                     <excludedArtifactIds>
91                         <!-- These artifacts are provided by our Karaf distribution. -->
92                         <!-- Keep in synch with karaf parent minimal bootFeatures. -->
93                         <!-- Aries Blueprint -->
94                         <excludedArtifactId>org.apache.aries.blueprint.api</excludedArtifactId>
95                         <excludedArtifactId>org.apache.aries.blueprint.core</excludedArtifactId>
96                         <!-- Aries Quiesce -->
97                         <excludedArtifactId>org.apache.aries.quiesce.api</excludedArtifactId>
98                         <!-- jline -->
99                         <excludedArtifactId>jline</excludedArtifactId>
100                         <!-- SLF4J -->
101                         <excludedArtifactId>slf4j-api</excludedArtifactId>
102                         <excludedArtifactId>jcl-over-slf4j</excludedArtifactId>
103                         <!-- Karaf artifacts -->
104                         <!-- TODO Rework this once Karaf supports wildcards here -->
105                         <excludedArtifactId>org.apache.karaf.jaas.config</excludedArtifactId>
106                         <excludedArtifactId>org.apache.karaf.jaas.modules</excludedArtifactId>
107                         <excludedArtifactId>org.apache.karaf.shell.console</excludedArtifactId>
108                         <excludedArtifactId>org.apache.karaf.shell.core</excludedArtifactId>
109                         <!-- OSGi -->
110                         <excludedArtifactId>org.osgi.compendium</excludedArtifactId>
111                         <excludedArtifactId>org.osgi.core</excludedArtifactId>
112                         <excludedArtifactId>org.osgi.enterprise</excludedArtifactId>
113                         <!-- Bouncy Castle -->
114                         <excludedArtifactId>bcprov-jdk18on</excludedArtifactId>
115                         <excludedArtifactId>bcprov-ext-jdk18on</excludedArtifactId>
116                         <excludedArtifactId>bcpkix-jdk18on</excludedArtifactId>
117                         <excludedArtifactId>bcutil-jdk18on</excludedArtifactId>
118                         <!-- JAXB -->
119                         <excludedArtifactId>jaxb-api</excludedArtifactId>
120                         <excludedArtifactId>jaxb-runtime</excludedArtifactId>
121                         <excludedArtifactId>jakarta.xml.bind-api</excludedArtifactId>
122
123                         <!-- Guava's annotations -->
124                         <excludedArtifactId>error_prone_annotations</excludedArtifactId>
125                         <excludedArtifactId>j2objc-annotations</excludedArtifactId>
126                         <excludedArtifactId>listenablefuture</excludedArtifactId>
127
128                         <!-- Eclipse JDK annotations -->
129                         <excludedArtifactId>org.eclipse.jdt.annotation</excludedArtifactId>
130
131                         <!-- Immutables.org annotations -->
132                         <excludedArtifactId>value</excludedArtifactId>
133
134                         <!-- Our slf4j logging markers -->
135                         <excludedArtifactId>logging-markers</excludedArtifactId>
136                     </excludedArtifactIds>
137                 </configuration>
138             </plugin>
139         </plugins>
140     </build>
141 </project>