blob: 2a0474f29a7a50709972ac1c9ba14dbdf32ebfc2 [file] [log] [blame]
ATT default cloud user17b1b972017-08-31 21:34:47 +00001<?xml version="1.0"?>
dglFromAtt39c8bab2018-05-09 21:26:55 -04002<!--
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
Gary Wu9dcd8792018-08-24 15:22:21 -070011
dglFromAtt39c8bab2018-05-09 21:26:55 -040012 http://www.apache.org/licenses/LICENSE-2.0
Gary Wu9dcd8792018-08-24 15:22:21 -070013
dglFromAtt39c8bab2018-05-09 21:26:55 -040014 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-->
Tomasz Golabek07fb4c02018-10-01 16:32:13 +020022<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
ATT default cloud user17b1b972017-08-31 21:34:47 +000024 <modelVersion>4.0.0</modelVersion>
25 <groupId>org.onap.dmaap.buscontroller</groupId>
26 <artifactId>buscontroller</artifactId>
dglFromAtt24e34482018-03-21 08:28:10 -040027 <version>${artifact.version}</version>
Jessica Wagantall9af84512017-09-08 14:38:04 -070028 <name>dmaap-buscontroller</name>
ATT default cloud user19c51782017-09-01 22:03:23 +000029 <parent>
30 <groupId>org.onap.oparent</groupId>
31 <artifactId>oparent</artifactId>
Gary Wu9dcd8792018-08-24 15:22:21 -070032 <version>1.2.0</version>
ATT default cloud usere50b8b62017-12-12 21:41:46 +000033 <relativePath/>
ATT default cloud user19c51782017-09-01 22:03:23 +000034 </parent>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +020035 <build>
ATT default cloud user17b1b972017-08-31 21:34:47 +000036 <finalName>buscontroller</finalName>
37
38 <plugins>
Dominic Lunanuova4a7c3572018-02-12 22:09:44 +000039 <plugin>
40 <groupId>org.apache.maven.plugins</groupId>
41 <artifactId>maven-enforcer-plugin</artifactId>
Dominic Lunanuova4a7c3572018-02-12 22:09:44 +000042 <executions>
43 <execution>
44 <id>enforce-no-snapshots</id>
45 <goals>
46 <goal>enforce</goal>
47 </goals>
48 <configuration>
49 <rules>
50 <requireReleaseDeps>
51 <message>No Snapshots Allowed!</message>
52 <excludes>
53 <exclude>org.onap.dmaap.dbcapi:dbcapi</exclude>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +020054 <exclude>org.onap.aaf.authz:aaf-cadi-client</exclude>
55 <exclude>org.onap.aaf.authz:aaf-misc-env</exclude>
56 <exclude>org.onap.aaf.authz:aaf-cadi-aaf</exclude>
57 <exclude>org.onap.aaf.authz:aaf-auth-client</exclude>
58 <exclude>org.onap.aaf.authz:aaf-cadi-core</exclude>
59 <exclude>org.onap.aaf.authz:aaf-misc-rosetta</exclude>
Dominic Lunanuova4a7c3572018-02-12 22:09:44 +000060 </excludes>
61 </requireReleaseDeps>
62 </rules>
63 <fail>true</fail>
64 </configuration>
65 </execution>
dglFromAtt0113d282018-03-13 07:11:29 -040066 </executions>
Dominic Lunanuova4a7c3572018-02-12 22:09:44 +000067 </plugin>
dglFromAtt0113d282018-03-13 07:11:29 -040068
Tomasz Golabek07fb4c02018-10-01 16:32:13 +020069 <!-- 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>
dglFromAtt0113d282018-03-13 07:11:29 -0400112
113 <plugin>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200114 <groupId>org.sonatype.plugins</groupId>
115 <artifactId>nexus-staging-maven-plugin</artifactId>
116 <extensions>true</extensions>
117 <configuration>
118 <serverId>ecomp-staging</serverId>
119 <nexusUrl>${nexusproxy}</nexusUrl>
120 <stagingProfileId>176c31dfe190a</stagingProfileId>
121 </configuration>
122 </plugin>
dglFromAtt0113d282018-03-13 07:11:29 -0400123
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200124 <!-- for Distribution management -->
125 <plugin>
126 <groupId>org.apache.maven.plugins</groupId>
127 <artifactId>maven-site-plugin</artifactId>
128 <dependencies>
129 <dependency>
130 <groupId>org.apache.maven.wagon</groupId>
131 <artifactId>wagon-webdav-jackrabbit</artifactId>
132 <version>2.10</version>
133 </dependency>
134 </dependencies>
135 </plugin>
dglFromAtt233bc192018-03-13 00:50:42 -0400136
137 </plugins>
138 <pluginManagement>
139 <plugins>
140 <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
141 <plugin>
142 <groupId>org.eclipse.m2e</groupId>
143 <artifactId>lifecycle-mapping</artifactId>
144 <version>1.0.0</version>
145 <configuration>
146 <lifecycleMappingMetadata>
147 <pluginExecutions>
148 <pluginExecution>
149 <pluginExecutionFilter>
150 <groupId>org.apache.maven.plugins</groupId>
151 <artifactId>maven-dependency-plugin</artifactId>
152 <versionRange>[2.10,)</versionRange>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200153 <phase>install</phase>
154 <goals>
155 <goal>copy-dependencies</goal>
156 </goals>
dglFromAtt233bc192018-03-13 00:50:42 -0400157 </pluginExecutionFilter>
158 <action>
159 <ignore/>
160 </action>
161 </pluginExecution>
162 </pluginExecutions>
163 </lifecycleMappingMetadata>
164 </configuration>
165 </plugin>
166 </plugins>
167 </pluginManagement>
168 </build>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200169 <profiles>
170 <profile>
171 <id>docker</id>
172 <build>
173 <plugins>
174 <plugin>
175 <groupId>com.spotify</groupId>
176 <artifactId>docker-maven-plugin</artifactId>
177 <version>1.0.0</version>
178 <configuration>
179 <baseImage>java:openjdk-8-jre</baseImage>
180 <imageName>${onap.nexus.dockerregistry.daily}/${docker.image}</imageName>
181 <entryPoint>["./bin/dmaapbc", "deploy"]</entryPoint>
182 <serverId>${onap.nexus.dockerregistry.daily}</serverId>
183 <imageTags>
184 <imageTag>${artifact.version}</imageTag>
185 <imageTag>latest</imageTag>
186 </imageTags>
187 <volumes>
188 <volume>/opt/app/dmaapbc/log</volume>
189 </volumes>
190 <forceTags>true</forceTags>
191 <user>root</user>
192 <resources>
193 <resource>
194 <targetPath>/opt/app/dmaapbc/lib</targetPath>
195 <directory>target</directory>
196 <include>buscontroller.jar</include>
197 </resource>
198 <resource>
199 <targetPath>/opt/app/dmaapbc/etc</targetPath>
200 <directory>misc</directory>
201 <include>LocalKey</include>
202 <include>logback.xml</include>
203 <include>org.onap.dmaap-bc.trust.jks</include>
204 <include>dbc-api.jks</include>
205 </resource>
206 <resource>
207 <targetPath>/opt/app/dmaapbc/etc</targetPath>
208 <directory>.</directory>
209 <include>version.properties</include>
210 </resource>
211 <resource>
212 <targetPath>/opt/app/dmaapbc/misc</targetPath>
213 <directory>misc</directory>
214 <include>opensource.env</include>
215 <include>cert-client-init.sh</include>
216 <include>*.tmpl</include>
217 </resource>
218 <resource>
219 <targetPath>/opt/app/dmaapbc/bin</targetPath>
220 <directory>misc</directory>
221 <include>dmaapbc</include>
222 <include>doaction</include>
223 </resource>
224 </resources>
225 <runs>
226 <run>mv /opt/app/dmaapbc/etc/dbc-api.jks /opt/app/dmaapbc/etc/keystore</run>
227 <run>chmod 600 /opt/app/dmaapbc/etc/keystore</run>
228 <run>chmod 600 /opt/app/dmaapbc/etc/org.onap.dmaap-bc.trust.jks</run>
229 <run>chmod +x /opt/app/dmaapbc/misc/cert-client-init.sh</run>
230 <run>chmod +x /opt/app/dmaapbc/bin/*</run>
231 <run>mkdir /opt/app/dmaapbc/logs</run>
232 <run>mkdir /opt/app/dmaapbc/www</run>
233 <run>mkdir /opt/app/dmaapbc/www/doc</run>
234 </runs>
235 <workdir>/opt/app/dmaapbc</workdir>
236 </configuration>
237 </plugin>
238 </plugins>
239 </build>
240 </profile>
241 </profiles>
ATT default cloud user17b1b972017-08-31 21:34:47 +0000242 <dependencyManagement>
243 <dependencies>
ATT default cloud user17b1b972017-08-31 21:34:47 +0000244 <dependency>
245 <groupId>org.glassfish.jersey</groupId>
246 <artifactId>jersey-bom</artifactId>
247 <version>${jersey.version}</version>
248 <type>pom</type>
249 <scope>import</scope>
250 </dependency>
251 </dependencies>
252 </dependencyManagement>
253 <dependencies>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200254 <dependency>
255 <groupId>io.swagger</groupId>
256 <artifactId>swagger-core</artifactId>
257 <version>1.5.13</version>
258 </dependency>
259 <dependency>
260 <groupId>io.swagger</groupId>
261 <artifactId>swagger-jersey2-jaxrs</artifactId>
262 <version>1.5.13</version>
263 </dependency>
264 <dependency>
265 <groupId>io.swagger</groupId>
266 <artifactId>swagger-annotations</artifactId>
267 <version>1.5.13</version>
268 </dependency>
ATT default cloud user17b1b972017-08-31 21:34:47 +0000269 <dependency>
270 <groupId>org.glassfish.jersey.containers</groupId>
271 <artifactId>jersey-container-servlet-core</artifactId>
272 <!-- use the following artifactId if you don't need servlet 2.x compatibility -->
273 <!-- artifactId>jersey-container-servlet</artifactId -->
274 </dependency>
275 <dependency>
276 <groupId>org.glassfish.jersey.media</groupId>
277 <artifactId>jersey-media-moxy</artifactId>
278 </dependency>
279 <dependency>
280 <groupId>log4j</groupId>
281 <artifactId>log4j</artifactId>
282 <version>1.2.17</version>
283 </dependency>
284 <dependency>
285 <groupId>org.eclipse.jetty</groupId>
286 <artifactId>jetty-server</artifactId>
287 <version>${jettyVersion}</version>
288 </dependency>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200289 <dependency>
290 <groupId>org.onap.aaf.authz</groupId>
291 <artifactId>aaf-cadi-aaf</artifactId>
292 <version>2.1.2-SNAPSHOT</version>
293 <classifier>full</classifier>
294 </dependency>
dglFromAttf5e3ff52018-08-22 18:02:11 -0400295
ATT default cloud user17b1b972017-08-31 21:34:47 +0000296 <dependency>
297 <groupId>org.eclipse.jetty</groupId>
298 <artifactId>jetty-servlet</artifactId>
299 <version>${jettyVersion}</version>
300 <scope>compile</scope>
301 </dependency>
302 <dependency>
303 <groupId>org.eclipse.jetty</groupId>
304 <artifactId>jetty-servlets</artifactId>
305 <version>${jettyVersion}</version>
306 <scope>compile</scope>
307 </dependency>
308 <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
309 <dependency>
310 <groupId>com.googlecode.json-simple</groupId>
311 <artifactId>json-simple</artifactId>
312 <version>1.1.1</version>
313 </dependency>
314 <dependency>
315 <groupId>commons-codec</groupId>
316 <artifactId>commons-codec</artifactId>
317 <version>1.6</version>
318 </dependency>
319 <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
320 <dependency>
321 <groupId>org.postgresql</groupId>
322 <artifactId>postgresql</artifactId>
323 <version>9.4.1208.jre7</version>
324 </dependency>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200325 <dependency>
326 <groupId>com.att.eelf</groupId>
327 <artifactId>eelf-core</artifactId>
328 <version>${eelf.version}</version>
329 </dependency>
330 <dependency>
331 <groupId>org.onap.dmaap.dbcapi</groupId>
332 <artifactId>dbcapi</artifactId>
dglFromAtt6a40bca2018-10-12 20:56:43 +0000333 <version>1.0.16-SNAPSHOT</version>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200334 </dependency>
ATT default cloud user17b1b972017-08-31 21:34:47 +0000335 </dependencies>
336 <reporting>
337 <plugins>
338 <plugin>
339 <groupId>org.apache.maven.plugins</groupId>
340 <artifactId>maven-javadoc-plugin</artifactId>
341 <version>2.10.4</version>
342 <configuration>
343 <failOnError>false</failOnError>
344 <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
345 <docletArtifact>
346 <groupId>org.umlgraph</groupId>
347 <artifactId>umlgraph</artifactId>
348 <version>5.6</version>
349 </docletArtifact>
350 <additionalparam>-views</additionalparam>
351 <useStandardDocletOptions>true</useStandardDocletOptions>
352 </configuration>
353 </plugin>
354 </plugins>
355 </reporting>
dglFromAttdcfef472018-03-03 23:46:15 -0500356
357 <distributionManagement>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200358 <site>
359 <id>ecomp-site</id>
360 <url>dav:${nexusproxy}${sitePath}</url>
361 </site>
dglFromAttdcfef472018-03-03 23:46:15 -0500362 </distributionManagement>
ATT default cloud user17b1b972017-08-31 21:34:47 +0000363 <properties>
364 <jersey.version>2.16</jersey.version>
365 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
dglFromAtt06c57712018-08-30 18:39:33 -0400366 <jettyVersion>9.3.8.RC0</jettyVersion>
ATT default cloud user17b1b972017-08-31 21:34:47 +0000367 <eelf.version>0.0.1</eelf.version>
dglFromAtt6350b1e2018-10-13 18:18:58 +0000368 <artifact.version>1.0.22</artifact.version>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200369 <!-- SONAR -->
370 <jacoco.version>0.7.7.201606060606</jacoco.version>
371 <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
372 <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
373 <!-- Default Sonar configuration -->
374 <sonar.jacoco.reportPath>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
375 <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
376 <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
377 <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
dglFromAtt89a52432018-03-03 22:07:58 -0500378
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200379 <!-- docker image -->
380 <docker.image>onap/dmaap/buscontroller</docker.image>
dglFromAtt0113d282018-03-13 07:11:29 -0400381
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200382 <nexusproxy>https://nexus.onap.org</nexusproxy>
383 <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
dglFromAttdcfef472018-03-03 23:46:15 -0500384
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200385 <!-- for Distribution Management -->
386 <sitePath>/content/sites/site/org/onap/dmaap/buscontroller/${artifact.version}</sitePath>
ATT default cloud user17b1b972017-08-31 21:34:47 +0000387 </properties>
Tomasz Golabek07fb4c02018-10-01 16:32:13 +0200388 <description>Packaging Platform (DMaaP) Bus Controller API as a Docker container.</description>
ATT default cloud user17b1b972017-08-31 21:34:47 +0000389</project>