Update license date and text
[aai/search-data-service.git] / pom.xml
1 <!--
2 ============LICENSE_START=======================================================
3 org.onap.aai
4 ================================================================================
5 Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 Copyright © 2017-2018 Amdocs
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 -->
21
22 <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/xsd/maven-4.0.0.xsd">
24     <modelVersion>4.0.0</modelVersion>
25
26     <parent>
27         <artifactId>ajsc-archetype-parent</artifactId>
28         <groupId>com.att.ajsc</groupId>
29         <version>2.0.0</version>
30     </parent>
31     <groupId>org.onap.aai</groupId>
32     <artifactId>search-data-service</artifactId>
33     <version>1.2.0-SNAPSHOT</version>
34     <name>aai-search-data-service</name>
35
36     <properties>
37         <module.ajsc.namespace.name>search-data-service</module.ajsc.namespace.name>
38         <module.ajsc.namespace.version>v1</module.ajsc.namespace.version>
39         <ajscRuntimeVersion>2.0.0</ajscRuntimeVersion>
40         <absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>
41         <docker.location>${basedir}/target</docker.location>
42         <nexusproxy>https://nexus.onap.org</nexusproxy>
43
44         <!-- For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot>
45             property, below. PLEASE, NOTE: If your ${project.version} is a "-SNAPSHOT"
46             version, THIS will be used as your directory structure. If you do NOT want
47             this, simply remove the "-SNAPSHOT" from your <version> declaration at the
48             top of pom.xml -->
49         <distFilesRoot>/appl/${project.artifactId}/${project.version}</distFilesRoot>
50         <runAjscHome>${basedir}/target/swm/package/nix/dist_files${distFilesRoot}</runAjscHome>
51
52         <!-- For SOA Cloud Installation -->
53         <installOwnerUser>aaiadmin</installOwnerUser>
54         <installOwnerGroup>aaiadmin</installOwnerGroup>
55         <ownerManagementGroup>com.att.csid.lab</ownerManagementGroup>
56
57         <!-- Port Selection. A value of 0 will allow for dynamic port selection.
58             For local testing, you may choose to hardcode this value to something like
59             8080 -->
60         <serverPort>8080</serverPort>
61         <sslport>9509</sslport>
62
63         <testRouteOffer>workstation</testRouteOffer>
64         <testEnv>DEV</testEnv>
65         <generatedSourceDir>${basedir}/src/main/java-gen</generatedSourceDir>
66         <checkstyle.config.location>google_checks.xml</checkstyle.config.location>
67
68         <sonar.language>java</sonar.language>
69         <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
70         <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports
71         </sonar.surefire.reportsPath>
72         <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec
73         </sonar.jacoco.reportPath>
74         <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero>
75         <sonar.projectVersion>${project.version}</sonar.projectVersion>
76     </properties>
77
78     <dependencies>
79
80         <dependency>
81             <groupId>com.googlecode.json-simple</groupId>
82             <artifactId>json-simple</artifactId>
83             <version>1.1.1</version>
84         </dependency>
85         <dependency>
86             <groupId>dom4j</groupId>
87             <artifactId>dom4j</artifactId>
88             <version>1.6.1</version>
89             <scope>provided</scope>
90         </dependency>
91
92         <dependency>
93             <groupId>com.att.aft</groupId>
94             <artifactId>dme2</artifactId>
95             <version>3.1.200</version>
96             <scope>provided</scope>
97         </dependency>
98
99
100         <dependency>
101             <groupId>org.elasticsearch</groupId>
102             <artifactId>elasticsearch</artifactId>
103             <version>2.3.1</version>
104         </dependency>
105         <dependency>
106             <groupId>commons-io</groupId>
107             <artifactId>commons-io</artifactId>
108             <version>2.4</version>
109         </dependency>
110
111
112         <!-- Common logging framework -->
113         <dependency>
114           <groupId>org.onap.aai.logging-service</groupId>
115           <artifactId>common-logging</artifactId>
116           <version>1.2.1</version>
117         </dependency>
118
119         <!--  Jersey Test Framework. -->
120         <dependency>
121             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
122             <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
123             <version>2.23.2</version>
124             <scope>test</scope>
125         </dependency>
126
127         <!-- For JSON Mapping Support. -->
128         <dependency>
129             <groupId>com.fasterxml.jackson.core</groupId>
130             <artifactId>jackson-databind</artifactId>
131             <version>2.7.8</version>
132         </dependency>
133
134     </dependencies>
135
136     <repositories>
137         <repository>
138             <id>central</id>
139             <name>Maven 2 repository 2</name>
140             <url>http://repo2.maven.org/maven2/</url>
141         </repository>
142         <repository>
143             <id>ecomp-releases</id>
144             <name>ECOMP Release Repository</name>
145             <url>${nexusproxy}/content/repositories/releases/</url>
146         </repository>
147         <repository>
148             <id>ecomp-snapshots</id>
149             <name>ECOMP Snapshot Repository</name>
150             <url>${nexusproxy}/content/repositories/snapshots/</url>
151         </repository>
152         <repository>
153             <id>ecomp-staging</id>
154             <name>ECOMP Staging Repository</name>
155             <url>${nexusproxy}/content/repositories/staging/</url>
156         </repository>
157
158     </repositories>
159
160     <profiles>
161         <profile>
162             <id>runAjsc</id>
163             <build>
164                 <defaultGoal>initialize</defaultGoal>
165                 <plugins>
166                     <plugin>
167                         <groupId>org.codehaus.mojo</groupId>
168                         <artifactId>exec-maven-plugin</artifactId>
169                         <version>1.3.2</version>
170                         <executions>
171                             <execution>
172                                 <phase>initialize</phase>
173                                 <goals>
174                                     <goal>java</goal>
175                                 </goals>
176                                 <configuration>
177                                     <includeProjectDependencies>false</includeProjectDependencies>
178                                     <includePluginDependencies>true</includePluginDependencies>
179                                     <executable>java</executable>
180                                     <mainClass>com.att.ajsc.runner.Runner</mainClass>
181                                     <executableDependency>
182                                         <groupId>com.att.ajsc</groupId>
183                                         <artifactId>ajsc-runner</artifactId>
184                                     </executableDependency>
185                                     <additionalClasspathElements>
186                                         <additionalClasspathElement>${basedir}/ajsc-shared-config/etc
187                                         </additionalClasspathElement>
188                                     </additionalClasspathElements>
189
190                                     <environmentVariables>
191                                         <AJSC_HOME>${runAjscHome}</AJSC_HOME>
192                                     </environmentVariables>
193
194                                     <!-- Main AJSC System Properties below (necessary for proper startup) -->
195                                     <systemProperties>
196                                         <systemProperty>
197                                             <key>AJSC_HOME</key>
198                                             <value>${runAjscHome}</value>
199                                         </systemProperty>
200                                         <systemProperty>
201                                             <key>CONFIG_HOME</key>
202                                             <value>${basedir}/appconfig-local/</value>
203                                         </systemProperty>
204                                         <systemProperty>
205                                             <key>AJSC_CONF_HOME</key>
206                                             <value>${basedir}/bundleconfig-local</value>
207                                         </systemProperty>
208                                         <systemProperty>
209                                             <key>logback.configurationFile</key>
210                                             <value>${basedir}/ajsc-shared-config/etc/logback.xml</value>
211                                         </systemProperty>
212                                         <systemProperty>
213                                             <key>AJSC_SHARED_CONFIG</key>
214                                             <value>${basedir}/ajsc-shared-config</value>
215                                         </systemProperty>
216
217                                         <sysproperty>
218                                             <key>AJSC_EXTERNAL_LIB_FOLDERS</key>
219                                             <value>${basedir}/target/commonLibs</value>
220                                         </sysproperty>
221                                         <sysproperty>
222                                             <key>AJSC_EXTERNAL_PROPERTIES_FOLDERS</key>
223                                             <value>${basedir}/ajsc-shared-config/etc</value>
224                                         </sysproperty>
225
226                                         <systemProperty>
227                                             <key>AJSC_SERVICE_NAMESPACE</key>
228                                             <value>${module.ajsc.namespace.name}</value>
229                                         </systemProperty>
230                                         <systemProperty>
231                                             <key>AJSC_SERVICE_VERSION</key>
232                                             <value>${module.ajsc.namespace.version}</value>
233                                         </systemProperty>
234                                         <systemProperty>
235                                             <key>SOACLOUD_SERVICE_VERSION</key>
236                                             <value>${project.version}</value>
237                                         </systemProperty>
238                                         <systemProperty>
239                                             <key>server.port</key>
240                                             <value>${serverPort}</value>
241                                         </systemProperty>
242                                     </systemProperties>
243
244                                     <!-- Command Line Arguments to add to the java command. Here, you
245                                         can specify the port as well as the Context you want your service to run
246                                         in. Use context=/ to run in an unnamed Context (Root Context). The default
247                                         configuration of the AJSC is to run under the / Context. Setting the port
248                                         here can aid during the development phase of your service. However, you can
249                                         leave this argument out entirely, and the AJSC will default to using an Ephemeral
250                                         port. -->
251                                     <arguments>
252                                         <argument>context=//</argument>
253                                         <argument>port=${serverPort}</argument>
254                                         <argument>sslport=${sslport}</argument>
255                                     </arguments>
256                                 </configuration>
257                             </execution>
258                         </executions>
259                         <configuration>
260                             <executable>java</executable>
261                         </configuration>
262                         <dependencies>
263                             <dependency>
264                                 <groupId>com.att.ajsc</groupId>
265                                 <artifactId>ajsc-runner</artifactId>
266                                 <version>${ajscRuntimeVersion}</version>
267                             </dependency>
268                         </dependencies>
269                     </plugin>
270                 </plugins>
271             </build>
272         </profile>
273     </profiles>
274     <dependencyManagement>
275         <dependencies>
276             <dependency>
277                 <groupId>ch.qos.logback</groupId>
278                 <artifactId>logback-classic</artifactId>
279                 <version>1.2.1</version>
280             </dependency>
281             <dependency>
282                 <groupId>com.fasterxml.jackson.core</groupId>
283                 <artifactId>jackson-core</artifactId>
284                 <version>2.7.8</version>
285             </dependency>
286         </dependencies>
287     </dependencyManagement>
288
289     <build>
290         <plugins>
291             <!-- Checkstyle plugin - used to report on compliance with -->
292             <!-- the Google style guide. -->
293             <plugin>
294                 <groupId>org.apache.maven.plugins</groupId>
295                 <artifactId>maven-site-plugin</artifactId>
296                 <version>3.3</version>
297                 <configuration>
298                     <reportPlugins>
299                         <plugin>
300                             <groupId>org.apache.maven.plugins</groupId>
301                             <artifactId>maven-checkstyle-plugin</artifactId>
302                             <version>2.17</version>
303                             <reportSets>
304                                 <reportSet>
305                                     <reports>
306                                         <report>checkstyle</report>
307                                     </reports>
308                                 </reportSet>
309                             </reportSets>
310                         </plugin>
311                     </reportPlugins>
312                 </configuration>
313             </plugin>
314             <!-- This plugin overrides the compiler settings to use java 1.8 -->
315             <plugin>
316                 <groupId>org.apache.maven.plugins</groupId>
317                 <artifactId>maven-compiler-plugin</artifactId>
318                 <version>3.1</version>
319                 <configuration>
320                     <compilerId>groovy-eclipse-compiler</compilerId>
321                     <verbose>true</verbose>
322                     <source>1.8</source>
323                     <target>1.8</target>
324                 </configuration>
325                 <dependencies>
326                     <dependency>
327                         <groupId>org.codehaus.groovy</groupId>
328                         <artifactId>groovy-eclipse-compiler</artifactId>
329                         <version>2.9.0-01</version>
330                     </dependency>
331                     <dependency>
332                         <groupId>org.codehaus.groovy</groupId>
333                         <artifactId>groovy-eclipse-batch</artifactId>
334                         <version>2.3.4-01</version>
335                     </dependency>
336                 </dependencies>
337             </plugin>
338             <plugin>
339                 <groupId>com.spotify</groupId>
340                 <artifactId>docker-maven-plugin</artifactId>
341                 <version>0.4.11</version>
342                 <configuration>
343                     <verbose>true</verbose>
344                     <serverId>docker-hub</serverId>
345                     <imageName>${docker.push.registry}/onap/${project.artifactId}</imageName>
346                     <dockerDirectory>${docker.location}</dockerDirectory>
347                     <imageTags>
348                         <imageTag>latest</imageTag>
349                     </imageTags>
350                     <forceTags>true</forceTags>
351                 </configuration>
352             </plugin>
353             <plugin>
354                 <groupId>org.sonatype.plugins</groupId>
355                 <artifactId>nexus-staging-maven-plugin</artifactId>
356                 <version>1.6.7</version>
357                 <extensions>true</extensions>
358                 <configuration>
359                     <nexusUrl>${nexusproxy}</nexusUrl>
360                     <stagingProfileId>176c31dfe190a</stagingProfileId>
361                     <serverId>ecomp-staging</serverId>
362                 </configuration>
363             </plugin>
364
365             <!-- This plugin is used to generate Java POJO's from json format schema
366                 file. -->
367             <plugin>
368                 <groupId>org.jsonschema2pojo</groupId>
369                 <artifactId>jsonschema2pojo-maven-plugin</artifactId>
370                 <version>0.4.26</version>
371                 <configuration>
372                     <addCompileSourceRoot>true</addCompileSourceRoot>
373                     <sourceDirectory>${basedir}/src/main/resources/json/schema</sourceDirectory>
374                     <outputDirectory>${generatedSourceDir}</outputDirectory>
375                     <targetPackage>org.onap.aai.sa.rest</targetPackage>
376                 </configuration>
377                 <executions>
378                     <execution>
379                         <goals>
380                             <goal>generate</goal>
381                         </goals>
382                     </execution>
383                 </executions>
384             </plugin>
385
386             <plugin>
387                 <groupId>org.apache.maven.plugins</groupId>
388                 <artifactId>maven-resources-plugin</artifactId>
389                 <version>2.7</version>
390                 <executions>
391                     <execution>
392                         <id>copy-docker-file</id>
393                         <phase>package</phase>
394                         <goals>
395                             <goal>copy-resources</goal>
396                         </goals>
397                         <configuration>
398                             <outputDirectory>target</outputDirectory>
399                             <overwrite>true</overwrite>
400                             <resources>
401                                 <resource>
402                                     <directory>${basedir}/src/main/docker</directory>
403                                     <filtering>true</filtering>
404                                     <includes>
405                                         <include>**/*</include>
406                                     </includes>
407                                 </resource>
408                                 <resource>
409                                     <directory>${basedir}/src/main/bin/</directory>
410                                 </resource>
411                             </resources>
412                         </configuration>
413                     </execution>
414                 </executions>
415             </plugin>
416             <!-- license plugin -->
417             <plugin>
418                 <groupId>com.mycila</groupId>
419                 <artifactId>license-maven-plugin</artifactId>
420                 <version>3.0</version>
421                 <configuration>
422                     <header>License.txt</header>
423                     <includes>
424                         <include>src/main/java/**</include>
425                         <include>src/test/java/**</include>
426                     </includes>
427                 </configuration>
428                 <executions>
429                     <execution>
430                         <goals>
431                             <goal>format</goal>
432                         </goals>
433                         <phase>process-sources</phase>
434                     </execution>
435                 </executions>
436             </plugin>
437
438             <plugin>
439                 <groupId>org.apache.maven.plugins</groupId>
440                 <artifactId>maven-deploy-plugin</artifactId>
441                 <configuration>
442                     <skip>true</skip>
443                 </configuration>
444             </plugin>
445             <plugin>
446                 <groupId>org.codehaus.mojo</groupId>
447                 <artifactId>sonar-maven-plugin</artifactId>
448                 <version>3.2</version>
449             </plugin>
450             <plugin>
451                 <groupId>org.jacoco</groupId>
452                 <artifactId>jacoco-maven-plugin</artifactId>
453                 <version>0.7.7.201606060606</version>
454                 <configuration>
455                     <dumpOnExit>true</dumpOnExit>
456                 </configuration>
457                 <executions>
458                     <execution>
459                         <id>jacoco-initialize-unit-tests</id>
460                         <goals>
461                             <goal>prepare-agent</goal>
462                         </goals>
463                         <configuration>
464                             <destFile>${project.build.directory}/coverage-reports/jacoco.exec
465                             </destFile>
466                             <!-- <append>true</append> -->
467                         </configuration>
468                     </execution>
469                 </executions>
470             </plugin>
471
472             <!-- This plugin adds the generated sources directory to the clean lifecycle
473                 so that automatically generated code will get cleaned up properly. -->
474             <plugin>
475                 <artifactId>maven-clean-plugin</artifactId>
476                 <version>3.0.0</version>
477                 <configuration>
478                     <filesets>
479                         <fileset>
480                             <directory>${generatedSourceDir}</directory>
481                         </fileset>
482                     </filesets>
483                 </configuration>
484             </plugin>
485         </plugins>
486     </build>
487     <distributionManagement>
488         <repository>
489             <id>ecomp-releases</id>
490             <name>ECOMP Release Repository</name>
491             <url>${nexusproxy}/content/repositories/releases/</url>
492         </repository>
493         <snapshotRepository>
494             <id>ecomp-snapshots</id>
495             <name>ECOMP Snapshot Repository</name>
496             <url>${nexusproxy}/content/repositories/snapshots/</url>
497         </snapshotRepository>
498         <site>
499             <id>ecomp-javadoc</id>
500             <url>dav:https://ecomp-nexus:8443/repository/aai/search-data-service-javadoc/${project.version}</url>
501         </site>
502     </distributionManagement>
503 </project>