Merge "Upgrade to latest oparent"
[dmaap/buscontroller.git] / pom.xml
1 <?xml version="1.0"?>
2 <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/maven-v4_0_0.xsd">
3   <modelVersion>4.0.0</modelVersion>
4   <groupId>org.onap.dmaap.buscontroller</groupId>
5   <artifactId>buscontroller</artifactId>
6   <version>1.0.1</version>
7   <name>dmaap-buscontroller</name>
8   <parent>
9     <groupId>org.onap.oparent</groupId>
10     <artifactId>oparent</artifactId>
11     <version>1.1.0</version>
12     <relativePath/>
13   </parent>
14     <build>
15     <finalName>buscontroller</finalName>
16
17     <plugins>
18       <plugin>
19         <groupId>org.apache.maven.plugins</groupId>
20         <artifactId>maven-enforcer-plugin</artifactId>
21         <version>3.0.0-M1</version>
22         <executions>
23           <execution>
24             <id>enforce-no-snapshots</id>
25             <goals>
26               <goal>enforce</goal>
27             </goals>
28             <configuration>
29               <rules>
30                 <requireReleaseDeps>
31                   <message>No Snapshots Allowed!</message>
32                   <excludes>
33                     <exclude>org.onap.dmaap.dbcapi:dbcapi</exclude>
34                   </excludes>
35                 </requireReleaseDeps>
36               </rules>
37               <fail>true</fail>
38             </configuration>
39           </execution>
40         </executions>
41       </plugin>
42
43            <!-- Package an Uber jar -->
44             <plugin>
45                 <groupId>org.apache.maven.plugins</groupId>
46                 <artifactId>maven-shade-plugin</artifactId>
47                 <version>2.4.3</version>
48                 <executions>
49                     <!-- Run shade goal on package phase -->
50                     <execution>
51                         <phase>package</phase>
52                         <goals>
53                             <goal>shade</goal>
54                         </goals>
55                         <configuration>
56                             <transformers>
57                                 <!-- NOTE: Need the following transformer else gets "Could not resolve type id 'https' into a subtype" error
58                                 Solution found from here:
59                                 http://stackoverflow.com/questions/27543060/why-does-dropwizard-configuration-is-not-working
60                                 Some more context here:
61                                 https://github.com/dropwizard/dropwizard/issues/455 -->
62                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
63                                 <!-- add Main-Class to manifest file -->
64                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
65                                     <mainClass>org.onap.dmaap.dbcapi.server.Main</mainClass>
66                                 </transformer>
67                             </transformers>
68                         </configuration>
69                     </execution>
70                 </executions>
71             </plugin>
72
73
74
75       <plugin>
76                 <groupId>org.sonatype.plugins</groupId>
77                 <artifactId>nexus-staging-maven-plugin</artifactId>
78                 <version>1.6.7</version>
79                 <extensions>true</extensions>
80                 <configuration>
81                     <serverId>ecomp-staging</serverId>
82                     <nexusUrl>${nexusproxy}</nexusUrl>
83                     <stagingProfileId>176c31dfe190a</stagingProfileId>
84                 </configuration>
85             </plugin>
86
87
88         <!-- for Distribution management -->
89                 <plugin>
90                   <groupId>org.apache.maven.plugins</groupId>
91                   <artifactId>maven-site-plugin</artifactId>
92                   <version>3.6</version>
93                   <dependencies>
94                         <dependency>
95                           <groupId>org.apache.maven.wagon</groupId>
96                           <artifactId>wagon-webdav-jackrabbit</artifactId>
97                           <version>2.10</version>
98                         </dependency>
99                   </dependencies>
100                 </plugin>
101
102     </plugins>
103     <pluginManagement>
104       <plugins>
105         <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
106         <plugin>
107           <groupId>org.eclipse.m2e</groupId>
108           <artifactId>lifecycle-mapping</artifactId>
109           <version>1.0.0</version>
110           <configuration>
111             <lifecycleMappingMetadata>
112               <pluginExecutions>
113                 <pluginExecution>
114                   <pluginExecutionFilter>
115                     <groupId>org.apache.maven.plugins</groupId>
116                     <artifactId>maven-dependency-plugin</artifactId>
117                     <versionRange>[2.10,)</versionRange>
118                                             <phase>install</phase>
119                         <goals>
120                           <goal>copy-dependencies</goal>
121                         </goals>
122                   </pluginExecutionFilter>
123                   <action>
124                     <ignore/>
125                   </action>
126                 </pluginExecution>
127               </pluginExecutions>
128             </lifecycleMappingMetadata>
129           </configuration>
130         </plugin>
131       </plugins>
132     </pluginManagement>
133   </build>
134         <profiles>
135         <profile>
136                 <id>docker</id>
137                 <build>
138                         <plugins>
139       <plugin>
140                 <groupId>com.spotify</groupId>
141                  <artifactId>docker-maven-plugin</artifactId>
142                  <version>1.0.0</version>
143                  <configuration>
144                                  <imageName>${onap.nexus.dockerregistry.daily}/${docker.image}</imageName>
145                              <dockerDirectory>${project.basedir}</dockerDirectory>
146                                  <serverId>${onap.nexus.dockerregistry.daily}</serverId>
147                                  <imageTags>
148                                                  <imageTag>${artifact.version}</imageTag>
149                                                  <imageTag>latest</imageTag>
150                                  </imageTags>
151                                  <forceTags>true</forceTags>
152                                  <resources>
153                                                  <resource>
154                                                                  <targetPath>/</targetPath>
155                                                                  <directory>${project.basedir}</directory>
156                                                                  <excludes>
157                                                                         <exclude>target/**/*</exclude>
158                                                                         <exclude>pom.xml</exclude>
159                                                                 </excludes>
160                                                  </resource>
161
162                                                  <resource>
163                                                                  <targetPath>/</targetPath>
164                                                                  <directory>${project.build.directory}</directory>
165                                                                  <include>**/**</include>
166                                                  </resource>
167                                  </resources>
168                  </configuration>
169       </plugin>
170                         </plugins>
171                 </build>
172         </profile>
173         </profiles>
174   <dependencyManagement>
175     <dependencies>
176  
177       <dependency>
178         <groupId>org.glassfish.jersey</groupId>
179         <artifactId>jersey-bom</artifactId>
180         <version>${jersey.version}</version>
181         <type>pom</type>
182         <scope>import</scope>
183       </dependency>
184     </dependencies>
185   </dependencyManagement>
186   <dependencies>
187         <dependency>
188         <groupId>io.swagger</groupId>
189         <artifactId>swagger-core</artifactId>
190         <version>1.5.13</version>
191       </dependency>
192       <dependency>
193         <groupId>io.swagger</groupId>
194         <artifactId>swagger-jersey2-jaxrs</artifactId>
195         <version>1.5.13</version>
196       </dependency>
197        <dependency>
198         <groupId>io.swagger</groupId>
199         <artifactId>swagger-annotations</artifactId>
200         <version>1.5.13</version>
201       </dependency>   
202     <dependency>
203       <groupId>org.glassfish.jersey.containers</groupId>
204       <artifactId>jersey-container-servlet-core</artifactId>
205       <!-- use the following artifactId if you don't need servlet 2.x compatibility -->
206       <!-- artifactId>jersey-container-servlet</artifactId -->
207     </dependency>
208     <dependency>
209       <groupId>org.glassfish.jersey.media</groupId>
210       <artifactId>jersey-media-moxy</artifactId>
211     </dependency>
212     <dependency>
213       <groupId>log4j</groupId>
214       <artifactId>log4j</artifactId>
215       <version>1.2.17</version>
216     </dependency>
217     <dependency>
218       <groupId>org.eclipse.jetty</groupId>
219       <artifactId>jetty-server</artifactId>
220       <version>${jettyVersion}</version>
221     </dependency>
222     <dependency>
223       <groupId>org.eclipse.jetty</groupId>
224       <artifactId>jetty-servlet</artifactId>
225       <version>${jettyVersion}</version>
226       <scope>compile</scope>
227     </dependency>
228     <dependency>
229       <groupId>org.eclipse.jetty</groupId>
230       <artifactId>jetty-servlets</artifactId>
231       <version>${jettyVersion}</version>
232       <scope>compile</scope>
233     </dependency>
234     <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
235     <dependency>
236       <groupId>com.googlecode.json-simple</groupId>
237       <artifactId>json-simple</artifactId>
238       <version>1.1.1</version>
239     </dependency>
240     <dependency>
241       <groupId>commons-codec</groupId>
242       <artifactId>commons-codec</artifactId>
243       <version>1.6</version>
244     </dependency>
245     <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
246     <dependency>
247       <groupId>org.postgresql</groupId>
248       <artifactId>postgresql</artifactId>
249       <version>9.4.1208.jre7</version>
250     </dependency>
251         <dependency>
252                 <groupId>com.att.eelf</groupId> 
253                 <artifactId>eelf-core</artifactId> 
254                 <version>${eelf.version}</version> 
255         </dependency>
256         <dependency>
257                 <groupId>org.onap.dmaap.dbcapi</groupId>
258                 <artifactId>dbcapi</artifactId>
259                 <version>1.0.1-SNAPSHOT</version>
260         </dependency>
261   </dependencies>
262   <reporting>
263     <plugins>
264       <plugin>
265         <groupId>org.apache.maven.plugins</groupId>
266         <artifactId>maven-javadoc-plugin</artifactId>
267         <version>2.10.4</version>
268         <configuration>
269           <failOnError>false</failOnError>
270           <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
271           <docletArtifact>
272             <groupId>org.umlgraph</groupId>
273             <artifactId>umlgraph</artifactId>
274             <version>5.6</version>
275           </docletArtifact>
276           <additionalparam>-views</additionalparam>
277           <useStandardDocletOptions>true</useStandardDocletOptions>
278         </configuration>
279       </plugin>
280     </plugins>
281   </reporting>
282
283   <distributionManagement>
284         <site>
285                 <id>ecomp-site</id>
286                 <url>dav:${nexusproxy}${sitePath}</url>
287         </site>
288   </distributionManagement>
289   <properties>
290     <jersey.version>2.16</jersey.version>
291     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
292     <jettyVersion>9.3.7.v20160115</jettyVersion>
293     <eelf.version>0.0.1</eelf.version>
294     <artifact.version>1.0.1</artifact.version>
295                 <!--  SONAR  -->
296                  <jacoco.version>0.7.7.201606060606</jacoco.version>
297             <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
298             <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
299             <!-- Default Sonar configuration -->
300             <sonar.jacoco.reportPath>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
301             <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
302             <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
303             <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
304
305         <!-- docker image -->
306                  <docker.image>onap/dmaap/buscontroller</docker.image>
307
308                  <nexusproxy>https://nexus.onap.org</nexusproxy>
309                  <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
310
311         <!-- for Distribution Management -->
312                 <sitePath>/content/sites/site/org/onap/dmaap/buscontroller/${artifact.version}</sitePath>
313   </properties>
314   <description>Packaging Platform (DMaaP) Bus Controller API as a Docker container. </description>
315 </project>