New Casablanca SSL certs
[dmaap/buscontroller.git] / pom.xml
1 <?xml version="1.0"?>
2 <!--
3   ============LICENSE_START==========================================
4   org.onap.dmaap
5   ===================================================================
6   Copyright © 2018 AT&T Intellectual Property. All rights reserved.
7   ===================================================================
8   Licensed under the Apache License, Version 2.0 (the "License");
9   you may not use this file except in compliance with the License.
10   You may obtain a copy of the License at
11  
12          http://www.apache.org/licenses/LICENSE-2.0
13  
14   Unless required by applicable law or agreed to in writing, software
15   distributed under the License is distributed on an "AS IS" BASIS,
16   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17   See the License for the specific language governing permissions and
18   limitations under the License.
19   ============LICENSE_END============================================
20   ECOMP is a trademark and service mark of AT&T Intellectual Property.
21 -->
22 <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">
23   <modelVersion>4.0.0</modelVersion>
24   <groupId>org.onap.dmaap.buscontroller</groupId>
25   <artifactId>buscontroller</artifactId>
26   <version>${artifact.version}</version>
27   <name>dmaap-buscontroller</name>
28   <parent>
29     <groupId>org.onap.oparent</groupId>
30     <artifactId>oparent</artifactId>
31     <version>1.1.0</version>
32     <relativePath/>
33   </parent>
34     <build>
35     <finalName>buscontroller</finalName>
36
37     <plugins>
38       <plugin>
39         <groupId>org.apache.maven.plugins</groupId>
40         <artifactId>maven-enforcer-plugin</artifactId>
41         <executions>
42           <execution>
43             <id>enforce-no-snapshots</id>
44             <goals>
45               <goal>enforce</goal>
46             </goals>
47             <configuration>
48               <rules>
49                 <requireReleaseDeps>
50                   <message>No Snapshots Allowed!</message>
51                   <excludes>
52                     <exclude>org.onap.dmaap.dbcapi:dbcapi</exclude>
53                                         <exclude>org.onap.aaf.authz:aaf-cadi-client</exclude>
54                                         <exclude>org.onap.aaf.authz:aaf-misc-env</exclude>
55                                         <exclude>org.onap.aaf.authz:aaf-cadi-aaf</exclude>
56                                         <exclude>org.onap.aaf.authz:aaf-auth-client</exclude>
57                                         <exclude>org.onap.aaf.authz:aaf-cadi-core</exclude>
58                                         <exclude>org.onap.aaf.authz:aaf-misc-rosetta</exclude>
59
60                   </excludes>
61                 </requireReleaseDeps>
62               </rules>
63               <fail>true</fail>
64             </configuration>
65           </execution>
66         </executions>
67       </plugin>
68
69            <!-- Package an Uber jar -->
70             <plugin>
71                 <groupId>org.apache.maven.plugins</groupId>
72                 <artifactId>maven-shade-plugin</artifactId>
73                 <version>2.4.3</version>
74                 <executions>
75                     <!-- Run shade goal on package phase -->
76                     <execution>
77                         <phase>package</phase>
78                         <goals>
79                             <goal>shade</goal>
80                         </goals>
81                         <configuration>
82                                                         <!-- this filter section is needed to avoid runtime error:
83                                                                 java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
84                                                                 suggestion found at: https://stackoverflow.com/q/999489 
85                                                         -->
86                                                         <filters>
87                                                                 <filter>
88                                                                         <artifact>*:*</artifact>
89                                                                         <excludes>
90                                                                                 <exclude>META-INF/*.SF</exclude>
91                                                                                 <exclude>META-INF/*.DSA</exclude>
92                                                                                 <exclude>META-INF/*.RSA</exclude>
93                                                                         </excludes>
94                                                                 </filter>
95                                                         </filters>
96                             <transformers>
97                                 <!-- NOTE: Need the following transformer else gets "Could not resolve type id 'https' into a subtype" error
98                                 Solution found from here:
99                                 http://stackoverflow.com/questions/27543060/why-does-dropwizard-configuration-is-not-working
100                                 Some more context here:
101                                 https://github.com/dropwizard/dropwizard/issues/455 -->
102                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
103                                 <!-- add Main-Class to manifest file -->
104                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
105                                     <mainClass>org.onap.dmaap.dbcapi.server.Main</mainClass>
106                                 </transformer>
107                             </transformers>
108                         </configuration>
109                     </execution>
110                 </executions>
111             </plugin>
112
113
114
115       <plugin>
116                 <groupId>org.sonatype.plugins</groupId>
117                 <artifactId>nexus-staging-maven-plugin</artifactId>
118                 <extensions>true</extensions>
119                 <configuration>
120                     <serverId>ecomp-staging</serverId>
121                     <nexusUrl>${nexusproxy}</nexusUrl>
122                     <stagingProfileId>176c31dfe190a</stagingProfileId>
123                 </configuration>
124             </plugin>
125
126
127         <!-- for Distribution management -->
128                 <plugin>
129                   <groupId>org.apache.maven.plugins</groupId>
130                   <artifactId>maven-site-plugin</artifactId>
131                   <dependencies>
132                         <dependency>
133                           <groupId>org.apache.maven.wagon</groupId>
134                           <artifactId>wagon-webdav-jackrabbit</artifactId>
135                           <version>2.10</version>
136                         </dependency>
137                   </dependencies>
138                 </plugin>
139
140     </plugins>
141     <pluginManagement>
142       <plugins>
143         <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
144         <plugin>
145           <groupId>org.eclipse.m2e</groupId>
146           <artifactId>lifecycle-mapping</artifactId>
147           <version>1.0.0</version>
148           <configuration>
149             <lifecycleMappingMetadata>
150               <pluginExecutions>
151                 <pluginExecution>
152                   <pluginExecutionFilter>
153                     <groupId>org.apache.maven.plugins</groupId>
154                     <artifactId>maven-dependency-plugin</artifactId>
155                     <versionRange>[2.10,)</versionRange>
156                                             <phase>install</phase>
157                         <goals>
158                           <goal>copy-dependencies</goal>
159                         </goals>
160                   </pluginExecutionFilter>
161                   <action>
162                     <ignore/>
163                   </action>
164                 </pluginExecution>
165               </pluginExecutions>
166             </lifecycleMappingMetadata>
167           </configuration>
168         </plugin>
169       </plugins>
170     </pluginManagement>
171   </build>
172         <profiles>
173         <profile>
174                 <id>docker</id>
175                 <build>
176                         <plugins>
177       <plugin>
178                 <groupId>com.spotify</groupId>
179                  <artifactId>docker-maven-plugin</artifactId>
180                  <version>1.0.0</version>
181                  <configuration>
182                                  <imageName>${onap.nexus.dockerregistry.daily}/${docker.image}</imageName>
183                              <dockerDirectory>${project.basedir}</dockerDirectory>
184                                  <serverId>${onap.nexus.dockerregistry.daily}</serverId>
185                                  <imageTags>
186                                                  <imageTag>${artifact.version}</imageTag>
187                                                  <imageTag>latest</imageTag>
188                                  </imageTags>
189                                  <forceTags>true</forceTags>
190                                  <resources>
191                                                  <resource>
192                                                                  <targetPath>/</targetPath>
193                                                                  <directory>${project.basedir}</directory>
194                                                                  <excludes>
195                                                                         <exclude>target/**/*</exclude>
196                                                                         <exclude>pom.xml</exclude>
197                                                                 </excludes>
198                                                  </resource>
199
200                                                  <resource>
201                                                                  <targetPath>/</targetPath>
202                                                                  <directory>${project.build.directory}</directory>
203                                                                  <include>**/**</include>
204                                                  </resource>
205                                  </resources>
206                  </configuration>
207       </plugin>
208                         </plugins>
209                 </build>
210         </profile>
211         </profiles>
212   <dependencyManagement>
213     <dependencies>
214  
215       <dependency>
216         <groupId>org.glassfish.jersey</groupId>
217         <artifactId>jersey-bom</artifactId>
218         <version>${jersey.version}</version>
219         <type>pom</type>
220         <scope>import</scope>
221       </dependency>
222     </dependencies>
223   </dependencyManagement>
224   <dependencies>
225         <dependency>
226         <groupId>io.swagger</groupId>
227         <artifactId>swagger-core</artifactId>
228         <version>1.5.13</version>
229       </dependency>
230       <dependency>
231         <groupId>io.swagger</groupId>
232         <artifactId>swagger-jersey2-jaxrs</artifactId>
233         <version>1.5.13</version>
234       </dependency>
235        <dependency>
236         <groupId>io.swagger</groupId>
237         <artifactId>swagger-annotations</artifactId>
238         <version>1.5.13</version>
239       </dependency>   
240     <dependency>
241       <groupId>org.glassfish.jersey.containers</groupId>
242       <artifactId>jersey-container-servlet-core</artifactId>
243       <!-- use the following artifactId if you don't need servlet 2.x compatibility -->
244       <!-- artifactId>jersey-container-servlet</artifactId -->
245     </dependency>
246     <dependency>
247       <groupId>org.glassfish.jersey.media</groupId>
248       <artifactId>jersey-media-moxy</artifactId>
249     </dependency>
250     <dependency>
251       <groupId>log4j</groupId>
252       <artifactId>log4j</artifactId>
253       <version>1.2.17</version>
254     </dependency>
255     <dependency>
256       <groupId>org.eclipse.jetty</groupId>
257       <artifactId>jetty-server</artifactId>
258       <version>${jettyVersion}</version>
259     </dependency>
260         <dependency>
261             <groupId>org.onap.aaf.authz</groupId>
262             <artifactId>aaf-cadi-aaf</artifactId>
263             <version>2.1.2-SNAPSHOT</version>
264             <classifier>full</classifier>
265         </dependency>
266
267     <dependency>
268       <groupId>org.eclipse.jetty</groupId>
269       <artifactId>jetty-servlet</artifactId>
270       <version>${jettyVersion}</version>
271       <scope>compile</scope>
272     </dependency>
273     <dependency>
274       <groupId>org.eclipse.jetty</groupId>
275       <artifactId>jetty-servlets</artifactId>
276       <version>${jettyVersion}</version>
277       <scope>compile</scope>
278     </dependency>
279     <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
280     <dependency>
281       <groupId>com.googlecode.json-simple</groupId>
282       <artifactId>json-simple</artifactId>
283       <version>1.1.1</version>
284     </dependency>
285     <dependency>
286       <groupId>commons-codec</groupId>
287       <artifactId>commons-codec</artifactId>
288       <version>1.6</version>
289     </dependency>
290     <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
291     <dependency>
292       <groupId>org.postgresql</groupId>
293       <artifactId>postgresql</artifactId>
294       <version>9.4.1208.jre7</version>
295     </dependency>
296         <dependency>
297                 <groupId>com.att.eelf</groupId> 
298                 <artifactId>eelf-core</artifactId> 
299                 <version>${eelf.version}</version> 
300         </dependency>
301         <dependency>
302                 <groupId>org.onap.dmaap.dbcapi</groupId>
303                 <artifactId>dbcapi</artifactId>
304                 <version>1.0.12-SNAPSHOT</version>
305         </dependency>
306   </dependencies>
307   <reporting>
308     <plugins>
309       <plugin>
310         <groupId>org.apache.maven.plugins</groupId>
311         <artifactId>maven-javadoc-plugin</artifactId>
312         <version>2.10.4</version>
313         <configuration>
314           <failOnError>false</failOnError>
315           <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
316           <docletArtifact>
317             <groupId>org.umlgraph</groupId>
318             <artifactId>umlgraph</artifactId>
319             <version>5.6</version>
320           </docletArtifact>
321           <additionalparam>-views</additionalparam>
322           <useStandardDocletOptions>true</useStandardDocletOptions>
323         </configuration>
324       </plugin>
325     </plugins>
326   </reporting>
327
328   <distributionManagement>
329         <site>
330                 <id>ecomp-site</id>
331                 <url>dav:${nexusproxy}${sitePath}</url>
332         </site>
333   </distributionManagement>
334   <properties>
335     <jersey.version>2.16</jersey.version>
336     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
337     <jettyVersion>9.3.7.v20160115</jettyVersion>
338     <eelf.version>0.0.1</eelf.version>
339     <artifact.version>1.0.14</artifact.version>
340                 <!--  SONAR  -->
341                  <jacoco.version>0.7.7.201606060606</jacoco.version>
342             <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
343             <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
344             <!-- Default Sonar configuration -->
345             <sonar.jacoco.reportPath>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
346             <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
347             <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
348             <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
349
350         <!-- docker image -->
351                  <docker.image>onap/dmaap/buscontroller</docker.image>
352
353                  <nexusproxy>https://nexus.onap.org</nexusproxy>
354                  <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
355
356         <!-- for Distribution Management -->
357                 <sitePath>/content/sites/site/org/onap/dmaap/buscontroller/${artifact.version}</sitePath>
358   </properties>
359   <description>Packaging Platform (DMaaP) Bus Controller API as a Docker container. </description>
360 </project>