Adding docker plugin to pom
[aai/babel.git] / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3         <modelVersion>4.0.0</modelVersion>
4
5         <parent>
6                 <artifactId>ajsc-archetype-parent</artifactId>
7                 <groupId>com.att.ajsc</groupId>
8                 <version>2.0.0</version>
9         </parent>
10         <groupId>org.onap.aai.babel</groupId>
11         <artifactId>babel</artifactId>
12         <version>2.0.0-SNAPSHOT</version>
13
14         <properties>
15                 <module.ajsc.namespace.name>babel-service</module.ajsc.namespace.name>
16                 <module.ajsc.namespace.version>v1</module.ajsc.namespace.version>
17                 <ajscRuntimeVersion>2.0.0</ajscRuntimeVersion>
18                 <absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>
19
20                 <!-- For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot> 
21                         property, below. PLEASE, NOTE: If your ${project.version} is a "-SNAPSHOT" 
22                         version, THIS will be used as your directory structure. If you do NOT want 
23                         this, simply remove the "-SNAPSHOT" from your <version> declaration at the 
24                         top of pom.xml -->
25                 <distFilesRoot>/appl/${project.artifactId}/${project.version}</distFilesRoot>
26                 <runAjscHome>${basedir}/target/swm/package/nix/dist_files${distFilesRoot}</runAjscHome>
27
28                 <!-- For SOA Cloud Installation -->
29                 <installOwnerUser>aaiadmin</installOwnerUser>
30                 <installOwnerGroup>aaiadmin</installOwnerGroup>
31                 <ownerManagementGroup>com.att.csid.lab</ownerManagementGroup>
32
33                 <!-- Port Selection. A value of 0 will allow for dynamic port selection. 
34                         For local testing, you may choose to hardcode this value to something like 
35                         8080 -->
36                 <serverPort>9515</serverPort>
37                 <sslport>9516</sslport>
38
39                 <testRouteOffer>workstation</testRouteOffer>
40                 <testEnv>DEV</testEnv>
41                 <checkstyle.config.location>google_checks.xml</checkstyle.config.location>
42                 <sitePath>/content/sites/site/org/onap/aai/babel/${project.artifactId}/${project.version}</sitePath>
43
44                 <!-- Dependency Versions -->
45                 <aai.artifact.generator.version>1.1.0</aai.artifact.generator.version>
46                 <apache.lang3.version>3.6</apache.lang3.version> 
47                 <commons-compress.version>1.14</commons-compress.version>
48                 <common.logging.version>1.1.0</common.logging.version>
49                 <dom4j.version>1.6.1</dom4j.version>
50                 <fasterxml.version>2.8.1</fasterxml.version>
51                 <hamcrest.version>1.3</hamcrest.version>
52                 <javaassist.version>3.21.0-GA</javaassist.version>
53                 <logback.version>1.1.9</logback.version>
54                 <mockito.version>1.10.19</mockito.version>
55                 <powermock.version>1.6.2</powermock.version>
56                 <sdc.distribution.client.version>1.1.32-SNAPSHOT</sdc.distribution.client.version>
57                 <snakeyamle.version>1.18</snakeyamle.version>
58                 <jacoco.version>0.7.9</jacoco.version>
59                 <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
60                 <docker.location>${basedir}/target</docker.location>
61         </properties>
62
63         <dependencies>
64                 <dependency>
65                         <groupId>javax.ws.rs</groupId>
66                         <artifactId>javax.ws.rs-api</artifactId>
67                         <version>2.0.1</version>
68                 </dependency>
69                 <dependency>
70                         <groupId>dom4j</groupId>
71                         <artifactId>dom4j</artifactId>
72                         <version>${dom4j.version}</version>
73                         <scope>provided</scope>
74                 </dependency>
75
76                 <!-- Common logging framework -->
77                 <dependency>
78                         <groupId>org.onap.aai.logging-service</groupId>
79                         <artifactId>common-logging</artifactId>
80                         <version>${common.logging.version}</version>
81                 </dependency>
82                 <dependency>
83                         <groupId>org.hamcrest</groupId>
84                         <artifactId>hamcrest-library</artifactId>
85                         <version>1.3</version>
86                         <scope>test</scope>
87                 </dependency>
88                 <dependency>
89                         <groupId>com.google.code.gson</groupId>
90                         <artifactId>gson</artifactId>
91                         <version>2.8.1</version>
92                 </dependency>
93                 <dependency>
94                         <groupId>ch.qos.logback</groupId>
95                         <artifactId>logback-core</artifactId>
96                         <version>${logback.version}</version>
97                 </dependency>
98
99                 <!-- apache commons -->
100                 <dependency>
101                         <groupId>org.apache.commons</groupId>
102                         <artifactId>commons-compress</artifactId>
103                         <version>${commons-compress.version}</version>
104                 </dependency>
105                 <dependency>
106                         <groupId>commons-io</groupId>
107                         <artifactId>commons-io</artifactId>
108                 </dependency>
109                 <dependency>
110                         <groupId>org.apache.commons</groupId>
111                         <artifactId>commons-lang3</artifactId>
112                         <version>${apache.lang3.version}</version>
113                 </dependency>
114
115                 <!-- Artifact generation -->
116                 <dependency>
117                         <groupId>org.openecomp.sdc.common</groupId>
118                         <artifactId>openecomp-sdc-artifact-generator-core</artifactId>
119                         <version>${aai.artifact.generator.version}</version>
120                 </dependency>
121                 <dependency>
122                         <groupId>com.fasterxml.jackson.core</groupId>
123                         <artifactId>jackson-core</artifactId>
124                         <version>${fasterxml.version}</version>
125                 </dependency>
126
127                 <!-- Testing -->
128                 <dependency>
129                         <groupId>org.mockito</groupId>
130                         <artifactId>mockito-core</artifactId>
131                         <version>${mockito.version}</version>
132                         <scope>test</scope>
133                 </dependency>
134                 <dependency>
135                         <groupId>org.powermock</groupId>
136                         <artifactId>powermock-module-junit4</artifactId>
137                         <version>${powermock.version}</version>
138                         <scope>test</scope>
139                 </dependency>
140                 <dependency>
141                         <groupId>org.powermock</groupId>
142                         <artifactId>powermock-api-mockito</artifactId>
143                         <version>${powermock.version}</version>
144                         <scope>test</scope>
145                 </dependency>
146                 <dependency>
147                         <groupId>org.powermock</groupId>
148                         <artifactId>powermock-module-javaagent</artifactId>
149                         <version>${powermock.version}</version>
150                         <scope>test</scope>
151                 </dependency>
152                 <dependency>
153                         <groupId>org.powermock</groupId>
154                         <artifactId>powermock-module-junit4-rule-agent</artifactId>
155                         <version>${powermock.version}</version>
156                         <scope>test</scope>
157                 </dependency>
158                 <dependency>
159                         <groupId>org.javassist</groupId>
160                         <artifactId>javassist</artifactId>
161                         <version>${javaassist.version}</version>
162                 </dependency>
163                 <dependency>
164                         <groupId>org.openecomp.sdc.sdc-distribution-client</groupId>
165                         <artifactId>sdc-distribution-client</artifactId>
166                         <version>${sdc.distribution.client.version}</version>
167                 </dependency>
168            <dependency>
169                <groupId>xmlunit</groupId>
170                <artifactId>xmlunit</artifactId>
171                <version>1.6</version>
172                <scope>test</scope>
173            </dependency>
174         </dependencies>
175
176         <repositories>
177             <repository>
178                 <id>ecomp-staging</id>
179                 <name>ECOMP Staging Repository</name>
180                 <url>${onap.nexus.url}/content/repositories/staging/</url>
181             </repository>
182         </repositories>
183
184         <distributionManagement>
185                 <repository>
186                         <id>ecomp-releases</id>
187                         <name>ECOMP Release Repository</name>
188                         <url>${onap.nexus.url}/content/repositories/releases/</url>
189                 </repository>
190                 <snapshotRepository>
191                         <id>ecomp-snapshots</id>
192                         <name>ECOMP Snapshot Repository</name>
193                         <url>${onap.nexus.url}/content/repositories/snapshots/</url>
194                 </snapshotRepository>
195                 <site>
196                         <id>ecomp-site</id>
197                         <url>dav:${onap.nexus.url}${sitePath}</url>
198                 </site>
199         </distributionManagement>
200
201         <build>
202                 <plugins>
203
204                         <plugin>
205                                 <groupId>org.codehaus.mojo</groupId>
206                                 <artifactId>cobertura-maven-plugin</artifactId>
207                                 <version>2.7</version>
208                                 <executions>
209                                         <execution>
210                                                 <phase />
211                                         </execution>
212                                 </executions>
213                         </plugin>
214
215                         <plugin>
216                                 <groupId>org.jacoco</groupId>
217                                 <artifactId>jacoco-maven-plugin</artifactId>
218                                 <version>${jacoco.version}</version>
219
220                                 <executions>
221                                         <execution>
222                                                 <id>prepare-agent</id>
223                                                 <goals>
224                                                         <goal>prepare-agent</goal>
225                                                 </goals>
226                                         </execution>
227
228                                         <execution>
229                                                 <id>report</id>
230                                                 <phase>package</phase>
231                                                 <goals>
232                                                         <goal>report</goal>
233                                                 </goals>
234                                         </execution>
235                                 </executions>
236
237                         </plugin>
238
239                         <plugin>
240                                 <groupId>org.codehaus.groovy</groupId>
241                                 <artifactId>groovy-eclipse-compiler</artifactId>
242                                 <version>2.9.2-01</version>
243                         </plugin>
244                         <plugin>
245                                 <groupId>org.apache.maven.plugins</groupId>
246                                 <artifactId>maven-resources-plugin</artifactId>
247                                 <version>3.0.2</version>
248                                 <executions>
249                                         <execution>
250                                                 <id>copy-docker-file</id>
251                                                 <phase>package</phase>
252                                                 <goals>
253                                                         <goal>copy-resources</goal>
254                                                 </goals>
255                                                 <configuration>
256                                                         <outputDirectory>target</outputDirectory>
257                                                         <overwrite>true</overwrite>
258                                                         <resources>
259                                                                 <resource>
260                                                                         <directory>${basedir}/src/main/docker</directory>
261                                                                         <filtering>true</filtering>
262                                                                         <includes>
263                                                                                 <include>**/*</include>
264                                                                         </includes>
265                                                                 </resource>
266                                                                 <resource>
267                                                                         <directory>${basedir}/src/main/bin/</directory>
268                                                                 </resource>
269                                                         </resources>
270                                                 </configuration>
271                                         </execution>
272                                 </executions>
273                         </plugin>
274                         <plugin>
275                                 <groupId>org.apache.maven.plugins</groupId>
276                                 <artifactId>maven-jar-plugin</artifactId>
277                                 <version>3.0.2</version>
278                                 <executions>
279                                         <execution>
280                                                 <phase>package</phase>
281                                                 <goals>
282                                                         <goal>jar</goal>
283                                                 </goals>
284                                                 <configuration>
285                                                         <classifier>client</classifier>
286                                                         <includes>
287                                                                 <include>**/babel/service/data/*</include>
288                                                         </includes>
289                                                 </configuration>
290                                         </execution>
291                                 </executions>
292                         </plugin>
293                         <plugin>
294                                 <groupId>com.spotify</groupId>
295                                 <artifactId>docker-maven-plugin</artifactId>
296                                 <version>0.4.11</version>
297                                 <configuration>
298                                         <verbose>true</verbose>
299                                         <serverId>docker-hub</serverId>
300                                         <imageName>${docker.push.registry}/openecomp/${project.artifactId}</imageName>
301                                         <dockerDirectory>${docker.location}</dockerDirectory>
302                                         <imageTags>
303                                 <imageTag>latest</imageTag>
304                                         </imageTags>
305                                         <forceTags>true</forceTags>
306                                 </configuration>
307                         </plugin>
308
309                         <!-- license plugin -->
310                         <plugin>
311                                 <groupId>com.mycila</groupId>
312                                 <artifactId>license-maven-plugin</artifactId>
313                                 <version>3.0</version>
314                                 <configuration>
315                                         <header>License.txt</header>
316                                         <includes>
317                                                 <include>src/main/java/**</include>
318                                                 <include>src/test/java/**</include>
319                                         </includes>
320                                 </configuration>
321                                 <executions>
322                                         <execution>
323                                                 <goals>
324                                                         <goal>format</goal>
325                                                 </goals>
326                                                 <phase>process-sources</phase>
327                                         </execution>
328                                 </executions>
329                         </plugin>
330
331                         <plugin>
332                                 <groupId>org.apache.maven.plugins</groupId>
333                                 <artifactId>maven-deploy-plugin</artifactId>
334                                 <configuration>
335                                         <classifier>client</classifier>
336                                 </configuration>
337                         </plugin>
338
339                         <plugin>
340                                 <groupId>org.apache.maven.plugins</groupId>
341                                 <artifactId>maven-site-plugin</artifactId>
342                                 <version>3.3</version>
343                                 <configuration>
344                                         <reportPlugins>
345                                                 <plugin>
346                                                         <groupId>org.apache.maven.plugins</groupId>
347                                                         <artifactId>maven-checkstyle-plugin</artifactId>
348                                                         <version>2.17</version>
349                                                         <reportSets>
350                                                                 <reportSet>
351                                                                         <reports>
352                                                                                 <report>checkstyle</report>
353                                                                         </reports>
354                                                                 </reportSet>
355                                                         </reportSets>
356                                                 </plugin>
357                                         </reportPlugins>
358                                 </configuration>
359                         </plugin>
360                         
361                         <plugin>
362                             <groupId>org.sonatype.plugins</groupId>
363                             <artifactId>nexus-staging-maven-plugin</artifactId>
364                             <version>1.6.7</version>
365                             <extensions>true</extensions>
366                             <configuration>
367                                 <nexusUrl>${onap.nexus.url}</nexusUrl>
368                                 <stagingProfileId>176c31dfe190a</stagingProfileId>
369                                 <serverId>ecomp-staging</serverId>
370                             </configuration>
371                         </plugin>
372                         <!-- Strong recommendation to use forkCount and reuseForks parameters as forkMode is deprecated since v2.14 -->
373                         <plugin>
374                             <groupId>org.apache.maven.plugins</groupId>
375                             <artifactId>maven-surefire-plugin</artifactId>
376                             <configuration>
377                                 <reuseForks>false</reuseForks>
378                                 <forkCount>1</forkCount>
379                             </configuration>
380                         </plugin>
381                 </plugins>
382         </build>
383
384         <!-- Added to fix build warnings caused by parent pom and bom -->
385
386         <profiles>
387                 <profile>
388                         <id>runAjsc</id>
389                         <build>
390                                 <defaultGoal>initialize</defaultGoal>
391                                 <plugins>
392                                         <plugin>
393                                                 <groupId>org.codehaus.mojo</groupId>
394                                                 <artifactId>exec-maven-plugin</artifactId>
395                                                 <version>1.3.2</version>
396                                                 <executions>
397                                                         <execution>
398                                                                 <phase>initialize</phase>
399                                                                 <goals>
400                                                                         <goal>java</goal>
401                                                                 </goals>
402                                                                 <configuration>
403                                                                         <includeProjectDependencies>false</includeProjectDependencies>
404                                                                         <includePluginDependencies>true</includePluginDependencies>
405                                                                         <executable>java</executable>
406                                                                         <mainClass>com.att.ajsc.runner.Runner</mainClass>
407                                                                         <executableDependency>
408                                                                                 <groupId>com.att.ajsc</groupId>
409                                                                                 <artifactId>ajsc-runner</artifactId>
410                                                                         </executableDependency>
411                                                                         <additionalClasspathElements>
412                                                                                 <additionalClasspathElement>${basedir}/ajsc-shared-config/etc</additionalClasspathElement>
413                                                                         </additionalClasspathElements>
414
415                                                                         <environmentVariables>
416                                                                                 <AJSC_HOME>${runAjscHome}</AJSC_HOME>
417                                                                         </environmentVariables>
418
419                                                                         <!-- Main AJSC System Properties below (necessary for proper startup) -->
420                                                                         <systemProperties>
421                                                                                 <systemProperty>
422                                                                                         <key>AJSC_HOME</key>
423                                                                                         <value>${runAjscHome}</value>
424                                                                                 </systemProperty>
425                                                                                 <systemProperty>
426                                                                                         <key>AJSC_HOME</key>
427                                                                                         <value>${runAjscHome}</value>
428                                                                                 </systemProperty>
429                                                                                 <systemProperty>
430                                                                                         <key>AJSC_CONF_HOME</key>
431                                                                                         <value>${basedir}/bundleconfig-local</value>
432                                                                                 </systemProperty>
433                                                                                 <systemProperty>
434                                                                                         <key>logback.configurationFile</key>
435                                                                                         <value>${basedir}/ajsc-shared-config/etc/logback.xml</value>
436                                                                                 </systemProperty>
437                                                                                 <systemProperty>
438                                                                                         <key>AJSC_SHARED_CONFIG</key>
439                                                                                         <value>${basedir}/ajsc-shared-config</value>
440                                                                                 </systemProperty>
441                                                                                 <sysproperty>
442                                                                                         <key>AJSC_EXTERNAL_LIB_FOLDERS</key>
443                                                                                         <value>${basedir}/target/commonLibs</value>
444                                                                                 </sysproperty>
445                                                                                 <sysproperty>
446                                                                                         <key>AJSC_EXTERNAL_PROPERTIES_FOLDERS</key>
447                                                                                         <value>${basedir}/ajsc-shared-config/etc</value>
448                                                                                 </sysproperty>
449
450                                                                                 <systemProperty>
451                                                                                         <key>AJSC_SERVICE_NAMESPACE</key>
452                                                                                         <value>${module.ajsc.namespace.name}</value>
453                                                                                 </systemProperty>
454                                                                                 <systemProperty>
455                                                                                         <key>AJSC_SERVICE_VERSION</key>
456                                                                                         <value>${module.ajsc.namespace.version}</value>
457                                                                                 </systemProperty>
458                                                                                 <systemProperty>
459                                                                                         <key>SOACLOUD_SERVICE_VERSION</key>
460                                                                                         <value>${project.version}</value>
461                                                                                 </systemProperty>
462                                                                                 <systemProperty>
463                                                                                         <key>server.port</key>
464                                                                                         <value>${serverPort}</value>
465                                                                                 </systemProperty>
466                                                                                 <systemProperty>
467                                                                                         <key>CONFIG_HOME</key>
468                                                                                         <value>${basedir}/appconfig-local</value>
469                                                                                 </systemProperty>
470                                                                                 <systemProperty>
471                                                                                         <key>artifactgenerator.config</key>
472                                                                                         <value>${basedir}/appconfig-local/artifact-generator.properties</value>
473                                                                                 </systemProperty>
474                                                                         </systemProperties>
475
476                                                                         <!-- Command Line Arguments to add to the java command. Here, you 
477                                                                                 can specify the port as well as the Context you want your service to run 
478                                                                                 in. Use context=/ to run in an unnamed Context (Root Context). The default 
479                                                                                 configuration of the AJSC is to run under the / Context. Setting the port 
480                                                                                 here can aid during the development phase of your service. However, you can 
481                                                                                 leave this argument out entirely, and the AJSC will default to using an Ephemeral 
482                                                                                 port. -->
483                                                                         <arguments>
484                                                                                 <argument>context=/</argument>
485                                                                                 <argument>port=${serverPort}</argument>
486                                                                                 <argument>sslport=${sslport}</argument>
487                                                                         </arguments>
488                                                                 </configuration>
489                                                         </execution>
490                                                 </executions>
491                                                 <configuration>
492                                                         <executable>java</executable>
493                                                 </configuration>
494                                                 <dependencies>
495                                                         <dependency>
496                                                                 <groupId>com.att.ajsc</groupId>
497                                                                 <artifactId>ajsc-runner</artifactId>
498                                                                 <version>${ajscRuntimeVersion}</version>
499                                                         </dependency>
500                                                 </dependencies>
501                                         </plugin>
502                                 </plugins>
503                         </build>
504                 </profile>
505         </profiles>
506
507 </project>