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.1.1</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     <properties>
46         <!-- See https://issues.apache.org/jira/browse/MINSTALL-151 -->
47         <allowIncompleteProjects>true</allowIncompleteProjects>
48     </properties>
49
50     <build>
51         <pluginManagement>
52             <plugins>
53                 <!--
54                     This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.
55                 -->
56                 <plugin>
57                     <groupId>org.eclipse.m2e</groupId>
58                     <artifactId>lifecycle-mapping</artifactId>
59                     <version>1.0.0</version>
60                     <configuration>
61                         <lifecycleMappingMetadata>
62                             <pluginExecutions>
63                                 <pluginExecution>
64                                     <pluginExecutionFilter>
65                                         <groupId>org.apache.karaf.tooling</groupId>
66                                         <artifactId>karaf-maven-plugin</artifactId>
67                                         <versionRange>[4.1.5,)</versionRange>
68                                         <goals>
69                                             <goal>verify</goal>
70                                         </goals>
71                                     </pluginExecutionFilter>
72                                     <action>
73                                         <ignore/>>
74                                     </action>
75                                 </pluginExecution>
76                             </pluginExecutions>
77                         </lifecycleMappingMetadata>
78                     </configuration>
79                 </plugin>
80             </plugins>
81         </pluginManagement>
82
83         <plugins>
84             <plugin>
85                 <groupId>org.apache.karaf.tooling</groupId>
86                 <artifactId>karaf-maven-plugin</artifactId>
87                 <version>${karaf.version}</version>
88                 <extensions>true</extensions>
89                 <configuration combine.children="append">
90                     <enableGeneration>true</enableGeneration>
91                     <simplifyBundleDependencies>true</simplifyBundleDependencies>
92                     <checkDependencyChange>${checkDependencyChange}</checkDependencyChange>
93                     <logDependencyChanges>true</logDependencyChanges>
94                     <failOnDependencyChange>${failOnDependencyChange}</failOnDependencyChange>
95                     <excludedArtifactIds>
96                         <!-- These artifacts are provided by our Karaf distribution. -->
97                         <!-- Keep in synch with karaf parent minimal bootFeatures. -->
98                         <!-- Aries Blueprint -->
99                         <excludedArtifactId>org.apache.aries.blueprint.api</excludedArtifactId>
100                         <excludedArtifactId>org.apache.aries.blueprint.core</excludedArtifactId>
101                         <!-- Aries Quiesce -->
102                         <excludedArtifactId>org.apache.aries.quiesce.api</excludedArtifactId>
103                         <!-- jline -->
104                         <excludedArtifactId>jline</excludedArtifactId>
105                         <!-- SLF4J -->
106                         <excludedArtifactId>slf4j-api</excludedArtifactId>
107                         <excludedArtifactId>jcl-over-slf4j</excludedArtifactId>
108                         <!-- Karaf artifacts -->
109                         <!-- TODO Rework this once Karaf supports wildcards here -->
110                         <excludedArtifactId>org.apache.karaf.jaas.config</excludedArtifactId>
111                         <excludedArtifactId>org.apache.karaf.jaas.modules</excludedArtifactId>
112                         <excludedArtifactId>org.apache.karaf.shell.console</excludedArtifactId>
113                         <excludedArtifactId>org.apache.karaf.shell.core</excludedArtifactId>
114                         <!-- OSGi -->
115                         <excludedArtifactId>org.osgi.compendium</excludedArtifactId>
116                         <excludedArtifactId>org.osgi.core</excludedArtifactId>
117                         <excludedArtifactId>org.osgi.enterprise</excludedArtifactId>
118                         <!-- Bouncy Castle -->
119                         <excludedArtifactId>bcprov-jdk18on</excludedArtifactId>
120                         <excludedArtifactId>bcprov-ext-jdk18on</excludedArtifactId>
121                         <excludedArtifactId>bcpkix-jdk18on</excludedArtifactId>
122                         <excludedArtifactId>bcutil-jdk18on</excludedArtifactId>
123                         <!-- JAXB -->
124                         <excludedArtifactId>jaxb-api</excludedArtifactId>
125                         <excludedArtifactId>jaxb-runtime</excludedArtifactId>
126                         <excludedArtifactId>jakarta.xml.bind-api</excludedArtifactId>
127
128                         <!-- Guava's annotations -->
129                         <excludedArtifactId>error_prone_annotations</excludedArtifactId>
130                         <excludedArtifactId>j2objc-annotations</excludedArtifactId>
131                         <excludedArtifactId>listenablefuture</excludedArtifactId>
132
133                         <!-- Eclipse JDK annotations -->
134                         <excludedArtifactId>org.eclipse.jdt.annotation</excludedArtifactId>
135
136                         <!-- Immutables.org annotations -->
137                         <excludedArtifactId>value</excludedArtifactId>
138
139                         <!-- Our slf4j logging markers -->
140                         <excludedArtifactId>logging-markers</excludedArtifactId>
141                     </excludedArtifactIds>
142                 </configuration>
143             </plugin>
144         </plugins>
145     </build>
146 </project>