AT&T 2.0.19 Code drop, stage 4
[aaf/authz.git] / authz-service / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!--\r
3   ============LICENSE_START====================================================\r
4   * org.onap.aaf\r
5   * ===========================================================================\r
6   * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
7   * ===========================================================================\r
8   * Licensed under the Apache License, Version 2.0 (the "License");\r
9   * you may not use this file except in compliance with the License.\r
10   * You may obtain a copy of the License at\r
11   * \r
12    *      http://www.apache.org/licenses/LICENSE-2.0\r
13   * \r
14    * Unless required by applicable law or agreed to in writing, software\r
15   * distributed under the License is distributed on an "AS IS" BASIS,\r
16   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17   * See the License for the specific language governing permissions and\r
18   * limitations under the License.\r
19   * ============LICENSE_END====================================================\r
20   *\r
21   * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
22   *\r
23 -->\r
24 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
25         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
26         <modelVersion>4.0.0</modelVersion>\r
27         <parent>\r
28                 <groupId>org.onap.aaf.authz</groupId>\r
29                 <artifactId>parent</artifactId>\r
30                 <version>1.0.1-SNAPSHOT</version>\r
31                 <relativePath>../pom.xml</relativePath>\r
32         </parent>\r
33                 \r
34         <artifactId>authz-service</artifactId>\r
35         <name>Authz Service</name>\r
36         <description>API for Authorization and Authentication</description>\r
37                 <url>https://github.com/att/AAF</url>\r
38         \r
39         <developers>\r
40                 <developer>\r
41                 <name>Jonathan Gathman</name>\r
42                 <email></email>\r
43         <organization>ATT</organization>\r
44         <organizationUrl></organizationUrl>\r
45                 </developer>\r
46         </developers>\r
47 \r
48         <properties>\r
49         <maven.build.timestamp.format>yyyy.MM.dd'T'hh.mm.ss'Z'</maven.build.timestamp.format>\r
50                 <maven.test.failure.ignore>true</maven.test.failure.ignore>\r
51                 <project.swmVersion>1</project.swmVersion>\r
52                         <project.innoVersion>1.0.0-SNAPSHOT</project.innoVersion>\r
53                 <project.cadiVersion>1.0.0-SNAPSHOT</project.cadiVersion>\r
54         <dockerLocation>${basedir}/target/</dockerLocation>\r
55                 <distFilesRootDirPath>opt/app/aaf/${project.artifactId}/${project.version}</distFilesRootDirPath>\r
56                         <sonar.language>java</sonar.language>\r
57                         <sonar.skip>true</sonar.skip>\r
58                 <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>\r
59                 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>\r
60                 <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>\r
61                 <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>\r
62                 <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>\r
63                 <sonar.projectVersion>${project.version}</sonar.projectVersion>\r
64         <nexusproxy>https://nexus.onap.org</nexusproxy>\r
65                 <docker.push.registry>localhost:5000</docker.push.registry>\r
66                 <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>\r
67                 <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>\r
68                 <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>\r
69                 <sitePath>/content/sites/site/org/onap/aaf/authz/${project.artifactId}/${project.version}</sitePath>\r
70         <skip.docker.build>true</skip.docker.build>\r
71         <skip.docker.push>true</skip.docker.push>\r
72         <skip.staging.artifacts>false</skip.staging.artifacts>\r
73         </properties>\r
74         \r
75                 \r
76         <dependencies>\r
77         <dependency>\r
78             <groupId>org.onap.aaf.authz</groupId>\r
79             <artifactId>authz-client</artifactId>\r
80                         <version>${project.version}</version>\r
81         </dependency>\r
82                 \r
83                 <dependency>\r
84             <groupId>org.onap.aaf.authz</groupId>\r
85             <artifactId>authz-cmd</artifactId>\r
86                         <version>${project.version}</version>\r
87         </dependency>           \r
88         <dependency>\r
89             <groupId>org.onap.aaf.authz</groupId>\r
90             <artifactId>authz-core</artifactId>\r
91                         <version>${project.version}</version>\r
92             <exclusions>\r
93                           <exclusion> \r
94                                         <groupId>javax.servlet</groupId>\r
95                         <artifactId>servlet-api</artifactId>\r
96                    </exclusion>\r
97                     </exclusions> \r
98         </dependency>\r
99         \r
100         <dependency>\r
101             <groupId>org.onap.aaf.authz</groupId>\r
102             <artifactId>authz-cass</artifactId>\r
103                         <version>${project.version}</version>\r
104         </dependency>\r
105 \r
106         <dependency>\r
107             <groupId>org.onap.aaf.authz</groupId>\r
108             <artifactId>authz-defOrg</artifactId>\r
109             <version>${project.version}</version>\r
110         </dependency>\r
111 \r
112 \r
113         \r
114         <dependency > \r
115                         <groupId>org.onap.aaf.inno</groupId>\r
116                         <artifactId>env</artifactId>\r
117                         <version>${project.innoVersion}</version>\r
118                 </dependency>\r
119 \r
120 \r
121                 <dependency>\r
122                         <groupId>org.onap.aaf.cadi</groupId>\r
123                         <artifactId>cadi-core</artifactId>\r
124                         <version>${project.cadiVersion}</version>\r
125                 </dependency>\r
126 \r
127                 <dependency>\r
128                         <groupId>com.att.aft</groupId>\r
129                         <artifactId>dme2</artifactId>\r
130                 </dependency>\r
131 \r
132                 <dependency>\r
133                         <groupId>org.onap.aaf.inno</groupId>\r
134                         <artifactId>rosetta</artifactId>\r
135                         <version>${project.innoVersion}</version>\r
136                 </dependency>\r
137                 <dependency>\r
138                         <groupId>org.onap.aaf.cadi</groupId>\r
139                         <artifactId>cadi-aaf</artifactId>\r
140                         <version>${project.cadiVersion}</version>\r
141                 </dependency>   \r
142         </dependencies>\r
143 \r
144 \r
145         <build>\r
146         <finalName>authz-service</finalName>\r
147             <plugins>\r
148         \r
149                 \r
150 <plugin>\r
151         <groupId>com.spotify</groupId>\r
152         <artifactId>docker-maven-plugin</artifactId>\r
153         <version>1.0.0</version>\r
154         <configuration>\r
155           <imageName>onap/aaf/authz-service</imageName>\r
156          <!-- <dockerDirectory>${dockerLocation}</dockerDirectory> -->\r
157                   <dockerDirectory>${basedir}/src/main/resources/docker</dockerDirectory>\r
158           <imageTags>\r
159             <imageTag>latest</imageTag>\r
160             <imageTag>${project.docker.latesttagtimestamp.version}</imageTag>\r
161             <imageTag>${project.docker.latesttag.version}</imageTag>\r
162           </imageTags>\r
163           <forceTags>true</forceTags>\r
164                  <!-- <resources>\r
165             <resource>\r
166                             <targetPath>/</targetPath>\r
167                     <directory>${project.build.directory}/opt</directory>\r
168                     <filtering>true</filtering>\r
169                      <includes>\r
170                         <include>**/**</include>\r
171                             </includes>\r
172             </resource>\r
173          </resources>  -->               \r
174                    <resources>\r
175             <resource>\r
176               <targetPath>/</targetPath>\r
177               <directory>${project.build.directory}/opt</directory>\r
178               <include>${project.build.finalName}.jar</include>\r
179             </resource>\r
180             <resource>\r
181               <targetPath>/</targetPath>\r
182               <directory>${project.build.directory}</directory>\r
183               <include>**/**</include>\r
184             </resource>\r
185           </resources>\r
186                  </configuration>\r
187         <executions>\r
188        <execution>\r
189             <id>build-image</id>\r
190             <phase>package</phase>\r
191             <goals>\r
192               <goal>build</goal>\r
193             </goals>\r
194             <configuration>\r
195               <skipDockerBuild>${skip.docker.build}</skipDockerBuild>\r
196             </configuration>\r
197           </execution> \r
198 \r
199           <execution>\r
200             <id>tag-image-project-version</id>\r
201             <phase>package</phase>\r
202             <goals>\r
203               <goal>tag</goal>\r
204             </goals>\r
205             <configuration>\r
206               <image>onap/aaf/authz-service</image>\r
207               <newName>${docker.push.registry}/onap/aaf/authz-service:${project.version}</newName>\r
208               <skipDockerTag>${skip.docker.push}</skipDockerTag>\r
209             </configuration>\r
210           </execution>\r
211                   \r
212                   <execution>\r
213             <id>tag-image-latest</id>\r
214             <phase>package</phase>\r
215             <goals>\r
216               <goal>tag</goal>\r
217             </goals>\r
218             <configuration>\r
219               <image>onap/aaf/authz-service</image>\r
220               <newName>${docker.push.registry}/onap/aaf/authz-service:latest</newName>\r
221               <skipDockerTag>${skip.docker.push}</skipDockerTag>\r
222             </configuration>\r
223           </execution>\r
224           \r
225          <execution>\r
226             <id>push-image-latest</id>\r
227             <phase>deploy</phase>\r
228             <goals>\r
229               <goal>push</goal>\r
230             </goals>\r
231             <configuration>\r
232               <imageName>${docker.push.registry}/onap/aaf/authz-service:${project.version}</imageName>\r
233               <skipDockerPush>${skip.docker.push}</skipDockerPush>\r
234             </configuration>\r
235           </execution>\r
236           \r
237           <execution>\r
238             <id>push-image</id>\r
239             <phase>deploy</phase>\r
240             <goals>\r
241               <goal>push</goal>\r
242             </goals>\r
243             <configuration>\r
244               <imageName>${docker.push.registry}/onap/aaf/authz-service:latest</imageName>\r
245               <skipDockerPush>${skip.docker.push}</skipDockerPush>\r
246             </configuration>\r
247           </execution>\r
248         </executions>\r
249       </plugin>\r
250 \r
251  <plugin>\r
252                 <artifactId>maven-resources-plugin</artifactId>\r
253                 <version>2.7</version>\r
254               <executions>\r
255                     <execution>\r
256                         <id>copy-docker-file</id>\r
257                         <phase>package</phase>\r
258                         <goals>\r
259                             <goal>copy-resources</goal>\r
260                         </goals>\r
261                         <configuration>\r
262                             <outputDirectory>${dockerLocation}</outputDirectory>\r
263                             <overwrite>true</overwrite>\r
264                             <resources>\r
265                                 <resource>\r
266                                     <directory>${basedir}/src/main/resources/docker</directory>\r
267                                     <filtering>true</filtering>\r
268                                     <includes>\r
269                                         <include>**/*</include>\r
270                                     </includes>\r
271                                 </resource>\r
272                             </resources>\r
273                         </configuration>\r
274                     </execution>  \r
275       <execution>\r
276         <id>copy-resources-1</id>\r
277         <phase>validate</phase>\r
278         <goals>\r
279           <goal>copy-resources</goal>\r
280         </goals>\r
281         <configuration>\r
282          <outputDirectory>${project.build.directory}/opt/dme2reg/</outputDirectory>\r
283           <resources>\r
284             <resource>\r
285                         <directory>${project.basedir}/src/main/resources/dme2reg/</directory> \r
286                                                  <includes>\r
287                                                  <include>**/*.txt</include>\r
288                         </includes>\r
289                     </resource>\r
290           </resources>\r
291         </configuration>\r
292       </execution>\r
293       <execution>\r
294         <id>copy-resources-2</id>\r
295         <phase>validate</phase>\r
296         <goals>\r
297           <goal>copy-resources</goal>\r
298         </goals>\r
299         <configuration>\r
300           <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/etc</outputDirectory>\r
301           <resources>\r
302             <resource>\r
303                         <directory>${project.basedir}/src/main/resources/etc</directory>\r
304                         <includes>\r
305                             <include>**/**</include>\r
306                         </includes>\r
307                     </resource>\r
308           </resources>\r
309         </configuration>\r
310       </execution>\r
311           \r
312            <execution>\r
313         <id>copy-resources-3</id>\r
314         <phase>validate</phase>\r
315         <goals>\r
316           <goal>copy-resources</goal>\r
317         </goals>\r
318         <configuration>\r
319           <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/lib</outputDirectory>\r
320           <resources>\r
321             <resource>\r
322                         <directory>${project.basedir}/../authz-cmd/target</directory>\r
323                         <includes>\r
324                             <include>**/*.jar</include>\r
325                         </includes>\r
326                     </resource>\r
327           </resources>\r
328         </configuration>\r
329       </execution>\r
330           <execution>\r
331         <id>copy-resources-4</id>\r
332         <phase>validate</phase>\r
333         <goals>\r
334           <goal>copy-resources</goal>\r
335         </goals>\r
336         <configuration>\r
337           <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/</outputDirectory>\r
338           <resources>\r
339             <resource>\r
340                         <directory>${project.basedir}/../authz-cmd</directory>\r
341                         <includes>\r
342                             <include>**/aafcli.sh</include>\r
343                         </includes>\r
344                     </resource>\r
345           </resources>\r
346         </configuration>\r
347       </execution>\r
348                 <execution>\r
349         <id>copy-resources-5</id>\r
350         <phase>validate</phase>\r
351         <goals>\r
352           <goal>copy-resources</goal>\r
353         </goals>\r
354         <configuration>\r
355           <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/etc/</outputDirectory>\r
356           <resources>\r
357             <resource>\r
358                         <directory>${project.basedir}/src/main/config</directory>\r
359                         <includes>\r
360                             <include>**/**</include>\r
361                         </includes>\r
362                     </resource>\r
363           </resources>\r
364         </configuration>\r
365       </execution>\r
366           <execution>\r
367         <id>copy-resources-6</id>\r
368         <phase>validate</phase>\r
369         <goals>\r
370           <goal>copy-resources</goal>\r
371         </goals>\r
372         <configuration>\r
373           <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/etc/data</outputDirectory>\r
374           <resources>\r
375             <resource>\r
376                         <directory>${project.basedir}/../opt/app/aaf/data</directory>\r
377                         <includes>\r
378                             <include>**/**</include>\r
379                         </includes>\r
380                     </resource>\r
381           </resources>\r
382         </configuration>\r
383                 </execution>\r
384     </executions>\r
385   </plugin>\r
386                         <plugin>\r
387                                 <groupId>org.apache.maven.plugins</groupId>\r
388                                 <artifactId>maven-dependency-plugin</artifactId>\r
389                                 <version>2.10</version>\r
390                                 <executions>\r
391                                         <execution>\r
392                                                 <id>copy-dependencies</id>\r
393                                                 <phase>package</phase>\r
394                                                 <goals>\r
395                                                         <goal>copy-dependencies</goal>\r
396                                                 </goals>\r
397                                                 <configuration>\r
398                                                         <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/lib</outputDirectory>\r
399                                                         <overWriteReleases>false</overWriteReleases>\r
400                                                         <overWriteSnapshots>false</overWriteSnapshots>\r
401                                                         <overWriteIfNewer>true</overWriteIfNewer>\r
402                                                 </configuration>\r
403                                         </execution>\r
404                                 </executions>\r
405                         </plugin>\r
406                                 \r
407                     <plugin>\r
408                         <groupId>org.codehaus.mojo</groupId>\r
409                         <artifactId>exec-maven-plugin</artifactId>\r
410                         <version>1.5.0</version>\r
411                         <configuration>\r
412                             <executable>java</executable>\r
413                             <arguments>\r
414                                 <argument>-DAFT_LATITUDE=33</argument>\r
415                                 <argument>-DAFT_LONGITUDE=-84</argument>\r
416                                 <argument>-DAFT_ENVIRONMENT=AFTUAT</argument>\r
417         \r
418                                 <argument>-XX:NewRatio=3</argument>\r
419                                 <argument>-XX:+PrintGCTimeStamps</argument>\r
420                                 <argument>-XX:+PrintGCDetails</argument>\r
421                                 <argument>-Xloggc:gc.log</argument>\r
422                                 <argument>-classpath</argument>\r
423         \r
424                                 <classpath>\r
425                                 \r
426                                 </classpath>\r
427                                 <argument>org.onap.aaf.authz.service.AuthAPI</argument>\r
428         \r
429                            <argument>service=org.onap.aaf.authz.AuthorizationService/version=2.0/envContext=DEV/routeOffer=Dev</argument>\r
430                             </arguments>\r
431                         </configuration>\r
432                     </plugin>\r
433         \r
434                     <plugin>\r
435                                 <groupId>org.apache.maven.plugins</groupId>\r
436                                 <artifactId>maven-jar-plugin</artifactId>\r
437                                         <configuration>\r
438                                                 <excludes>\r
439                                 <exclude>*.properties</exclude>\r
440                                 </excludes>\r
441                                         </configuration>\r
442                                         <version>2.3.1</version>\r
443                                 </plugin>\r
444  \r
445 \r
446                 <plugin>\r
447                         <groupId>org.apache.maven.plugins</groupId>\r
448                         <artifactId>maven-javadoc-plugin</artifactId>\r
449                         <version>2.10.4</version>\r
450                         <configuration>\r
451                         <failOnError>false</failOnError>\r
452                         </configuration>\r
453                         <executions>\r
454                                 <execution>\r
455                                         <id>attach-javadocs</id>\r
456                                         <goals>\r
457                                                 <goal>jar</goal>\r
458                                         </goals>\r
459                                 </execution>\r
460                         </executions>\r
461                 </plugin> \r
462            \r
463            \r
464                <plugin>\r
465                       <groupId>org.apache.maven.plugins</groupId>\r
466                       <artifactId>maven-source-plugin</artifactId>\r
467                       <version>2.2.1</version>\r
468                       <executions>\r
469                         <execution>\r
470                           <id>attach-sources</id>\r
471                           <goals>\r
472                             <goal>jar-no-fork</goal>\r
473                           </goals>\r
474                         </execution>\r
475                       </executions>\r
476                     </plugin>\r
477                         \r
478 <plugin>\r
479                                 <groupId>org.sonatype.plugins</groupId>\r
480                                 <artifactId>nexus-staging-maven-plugin</artifactId>\r
481                                 <version>1.6.7</version>\r
482                                 <extensions>true</extensions>\r
483                                 <configuration>\r
484                                         <nexusUrl>${nexusproxy}</nexusUrl>\r
485                                         <stagingProfileId>176c31dfe190a</stagingProfileId>\r
486                                         <serverId>ecomp-staging</serverId>\r
487                                 </configuration>\r
488                         </plugin>               \r
489                         <plugin>\r
490                                 <groupId>org.jacoco</groupId>\r
491                                 <artifactId>jacoco-maven-plugin</artifactId>\r
492                                 <version>0.7.7.201606060606</version>\r
493                                 <configuration>\r
494                                         <dumpOnExit>true</dumpOnExit>\r
495                                         <includes>\r
496                                                 <include>org.onap.aaf.*</include>\r
497                                         </includes>\r
498                                 </configuration>\r
499                                 <executions>\r
500                                         <execution>\r
501                                                 <id>pre-unit-test</id>\r
502                                                 <goals>\r
503                                                         <goal>prepare-agent</goal>\r
504                                                 </goals>\r
505                                                 <configuration>\r
506                                                         <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>\r
507                                                         <!-- <append>true</append> -->\r
508                                                 </configuration>\r
509                                         </execution>\r
510                                         <execution>\r
511                                                 <id>pre-integration-test</id>\r
512                                                 <phase>pre-integration-test</phase>\r
513                                                 <goals>\r
514                                                         <goal>prepare-agent</goal>\r
515                                                 </goals>\r
516                                                 <configuration>\r
517                                                         <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>\r
518                                                         <!-- <append>true</append> -->\r
519                                                 </configuration>\r
520                                         </execution>\r
521                                         <execution>\r
522                         <goals>\r
523                             <goal>merge</goal>\r
524                         </goals>\r
525                         <phase>post-integration-test</phase>\r
526                         <configuration>\r
527                             <fileSets>\r
528                                 <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">\r
529                                     <directory>${project.build.directory}/coverage-reports</directory>\r
530                                     <includes>\r
531                                         <include>*.exec</include>\r
532                                     </includes>\r
533                                 </fileSet>\r
534                             </fileSets>\r
535                             <destFile>${project.build.directory}/jacoco-dev.exec</destFile>\r
536                         </configuration>\r
537                     </execution>\r
538                                 </executions>\r
539                         </plugin>     \r
540 \r
541                 \r
542                         </plugins>\r
543 \r
544         </build>\r
545 \r
546 \r
547                 <distributionManagement>\r
548                 <repository>\r
549                         <id>ecomp-releases</id>\r
550                         <name>AAF Release Repository</name>\r
551                         <url>${nexusproxy}${releaseNexusPath}</url>\r
552                 </repository>\r
553                 <snapshotRepository>\r
554                         <id>ecomp-snapshots</id>\r
555                         <name>AAF Snapshot Repository</name>\r
556                         <url>${nexusproxy}${snapshotNexusPath}</url>\r
557                 </snapshotRepository>\r
558                 <site>\r
559                         <id>ecomp-site</id>\r
560                         <url>dav:${nexusproxy}${sitePath}</url>\r
561                 </site>\r
562         </distributionManagement>\r
563  <profiles>\r
564     <profile>\r
565       <id>docker</id>\r
566       <properties>\r
567         <skip.staging.artifacts>true</skip.staging.artifacts>\r
568         <skip.docker.build>false</skip.docker.build>\r
569         <skip.docker.tag>false</skip.docker.tag>\r
570         <skip.docker.push>false</skip.docker.push>\r
571       </properties>\r
572     </profile>\r
573   </profiles>\r
574 </project>\r