108e6a215f5f548485cc2e9a71d481312f09b9f1
[aai/champ.git] / champ-service / 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 <project xmlns="http://maven.apache.org/POM/4.0.0"
22          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         <groupId>com.att.ajsc</groupId>
28         <artifactId>ajsc-archetype-parent</artifactId>
29         <version>2.0.0</version>
30     </parent>
31
32     <groupId>org.onap.aai</groupId>
33     <artifactId>champ-service</artifactId>
34     <version>1.2.0-SNAPSHOT</version>
35     <name>champ</name>
36
37     <properties>
38         <runAjscHome>${basedir}/target/swm/package/nix/dist_files${distFilesRoot}</runAjscHome>
39         <ajscRuntimeVersion>2.0.0</ajscRuntimeVersion>
40
41         <absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>
42
43         <!-- For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot>
44             property, below. PLEASE, NOTE: If your ${project.version} is a "-SNAPSHOT"
45             version, THIS will be used as your directory structure. If you do NOT want
46             this, simply remove the "-SNAPSHOT" from your <version> declaration at the
47             top of pom.xml -->
48         <distFilesRoot>/appl/${project.artifactId}/${project.version}</distFilesRoot>
49
50         <common.logging.groupid>org.onap.aai.logging-service</common.logging.groupid>
51         <common.logging.version>1.2.2</common.logging.version>
52         <org.apache.httpcomponents.httpclient.version>4.5.2</org.apache.httpcomponents.httpclient.version>
53
54         <docker.location>${basedir}/target</docker.location>
55         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
56         <version.org.hamcrest.hamcrest-library>1.3</version.org.hamcrest.hamcrest-library>
57     </properties>
58
59     <dependencies>
60         <dependency>
61             <groupId>com.sun.jersey</groupId>
62             <artifactId>jersey-core</artifactId>
63             <version>1.18.6</version>
64         </dependency>
65
66         <dependency>
67             <groupId>dom4j</groupId>
68             <artifactId>dom4j</artifactId>
69             <version>1.6.1</version>
70             <scope>provided</scope>
71         </dependency>
72
73         <dependency>
74             <groupId>com.att.aft</groupId>
75             <artifactId>dme2</artifactId>
76             <version>3.1.200</version>
77             <scope>provided</scope>
78         </dependency>
79
80         <dependency>
81             <groupId>org.json</groupId>
82             <artifactId>json</artifactId>
83             <version>20160212</version>
84         </dependency>
85
86         <dependency>
87             <groupId>org.glassfish.jersey.core</groupId>
88             <artifactId>jersey-client</artifactId>
89             <version>2.23</version>
90         </dependency>
91
92         <dependency>
93             <groupId>commons-io</groupId>
94             <artifactId>commons-io</artifactId>
95             <version>2.4</version>
96         </dependency>
97
98         <dependency>
99             <groupId>com.google.code.gson</groupId>
100             <artifactId>gson</artifactId>
101             <version>2.6.2</version>
102         </dependency>
103
104         <dependency>
105             <groupId>${common.logging.groupid}</groupId>
106             <artifactId>common-logging</artifactId>
107             <version>${common.logging.version}</version>
108         </dependency>
109
110         <dependency>
111             <groupId>ch.qos.logback</groupId>
112             <artifactId>logback-core</artifactId>
113             <version>1.1.7</version>
114         </dependency>
115
116         <dependency>
117             <groupId>org.eclipse.persistence</groupId>
118             <artifactId>eclipselink</artifactId>
119             <version>2.6.2</version>
120         </dependency>
121
122         <dependency>
123             <groupId>org.apache.httpcomponents</groupId>
124             <artifactId>httpclient</artifactId>
125             <version>${org.apache.httpcomponents.httpclient.version}</version>
126         </dependency>
127
128         <dependency>
129             <groupId>org.onap.aai</groupId>
130             <artifactId>champ-core</artifactId>
131             <version>1.2.0-SNAPSHOT</version>
132             <scope>compile</scope>
133             <exclusions>
134                 <exclusion>
135                     <groupId>org.apache.hbase</groupId>
136                     <artifactId>hbase-client</artifactId>
137                 </exclusion>
138             </exclusions>
139         </dependency>
140
141         <dependency>
142             <groupId>org.hamcrest</groupId>
143             <artifactId>hamcrest-library</artifactId>
144             <version>${version.org.hamcrest.hamcrest-library}</version>
145             <scope>test</scope>
146         </dependency>
147
148         <dependency>
149             <groupId>org.skyscreamer</groupId>
150             <artifactId>jsonassert</artifactId>
151             <version>1.5.0</version>
152             <scope>test</scope>
153         </dependency>
154     </dependencies>
155
156     <distributionManagement>
157         <repository>
158             <id>ecomp-releases</id>
159             <name>ECOMP Release Repository</name>
160             <url>${onap.nexus.url}/content/repositories/releases/</url>
161         </repository>
162         <snapshotRepository>
163             <id>ecomp-snapshots</id>
164             <name>ECOMP Snapshot Repository</name>
165             <url>${onap.nexus.url}/content/repositories/snapshots/</url>
166         </snapshotRepository>
167     </distributionManagement>
168
169     <build>
170         <finalName>${project.artifactId}</finalName>
171         <plugins>
172             <plugin>
173                 <groupId>org.apache.maven.plugins</groupId>
174                 <artifactId>maven-resources-plugin</artifactId>
175                 <version>2.7</version>
176                 <executions>
177                     <execution>
178                         <id>copy-docker-file</id>
179                         <phase>package</phase>
180                         <goals>
181                             <goal>copy-resources</goal>
182                         </goals>
183                         <configuration>
184                             <outputDirectory>target</outputDirectory>
185                             <overwrite>true</overwrite>
186                             <resources>
187                                 <resource>
188                                     <directory>${basedir}/src/main/docker</directory>
189                                     <filtering>true</filtering>
190                                     <includes>
191                                         <include>**/*</include>
192                                     </includes>
193                                 </resource>
194                                 <resource>
195                                     <directory>${basedir}/src/main/bin/</directory>
196                                 </resource>
197                                 <resource>
198                                     <directory>../champ-service-deps-janus/target/</directory>
199                                 </resource>
200                                 <resource>
201                                     <directory>../champ-service-deps-titan/target/</directory>
202                                 </resource>
203                             </resources>
204                         </configuration>
205                     </execution>
206                 </executions>
207             </plugin>
208             <plugin>
209                 <groupId>org.apache.maven.plugins</groupId>
210                 <artifactId>maven-deploy-plugin</artifactId>
211                 <configuration>
212                     <skip>true</skip>
213                 </configuration>
214             </plugin>
215             <!-- Uncomment to add a license header to source files
216             <plugin>
217                 <groupId>com.mycila</groupId>
218                 <artifactId>license-maven-plugin</artifactId>
219                 <version>3.0</version>
220                 <configuration>
221                     <header>License.txt</header>
222                     <includes>
223                         <include>src/main/java/**</include>
224                     </includes>
225                 </configuration>
226                 <executions>
227                     <execution>
228                         <goals>
229                             <goal>format</goal>
230                         </goals>
231                         <phase>process-sources</phase>
232                     </execution>
233                 </executions>
234             </plugin>
235             -->
236             <plugin>
237                 <groupId>com.spotify</groupId>
238                 <artifactId>docker-maven-plugin</artifactId>
239                 <version>0.4.11</version>
240                 <configuration>
241                     <verbose>true</verbose>
242                     <serverId>docker-hub</serverId>
243                     <imageName>${docker.push.registry}/onap/${project.name}</imageName>
244                     <dockerDirectory>${docker.location}</dockerDirectory>
245                     <imageTags>
246                         <imageTag>latest</imageTag>
247                     </imageTags>
248                     <forceTags>true</forceTags>
249                 </configuration>
250             </plugin>
251             <plugin>
252                 <groupId>org.jacoco</groupId>
253                 <artifactId>jacoco-maven-plugin</artifactId>
254                 <version>0.7.9</version>
255                 <executions>
256                     <execution>
257                         <id>default-prepare-agent</id>
258                         <goals>
259                             <goal>prepare-agent</goal>
260                         </goals>
261                     </execution>
262                     <execution>
263                         <id>default-report</id>
264                         <phase>prepare-package</phase>
265                         <goals>
266                             <goal>report</goal>
267                         </goals>
268                     </execution>
269                 </executions>
270             </plugin>
271         </plugins>
272     </build>
273
274     <profiles>
275         <profile>
276             <id>runAjsc</id>
277             <build>
278                 <defaultGoal>initialize</defaultGoal>
279                 <plugins>
280                     <plugin>
281                         <groupId>org.codehaus.mojo</groupId>
282                         <artifactId>exec-maven-plugin</artifactId>
283                         <version>1.3.2</version>
284                         <executions>
285                             <execution>
286                                 <phase>initialize</phase>
287                                 <goals>
288                                     <goal>java</goal>
289                                 </goals>
290                                 <configuration>
291                                     <includeProjectDependencies>false</includeProjectDependencies>
292                                     <includePluginDependencies>true</includePluginDependencies>
293                                     <executable>java</executable>
294                                     <mainClass>com.att.ajsc.runner.Runner</mainClass>
295                                     <executableDependency>
296                                         <groupId>com.att.ajsc</groupId>
297                                         <artifactId>ajsc-runner</artifactId>
298                                     </executableDependency>
299                                     <additionalClasspathElements>
300                                         <additionalClasspathElement>${basedir}/ajsc-shared-config/etc</additionalClasspathElement>
301                                     </additionalClasspathElements>
302
303                                     <environmentVariables>
304                                         <AJSC_HOME>${runAjscHome}</AJSC_HOME>
305                                     </environmentVariables>
306
307                                     <!-- Main AJSC System Properties below (necessary for proper startup) -->
308                                     <systemProperties>
309                                         <systemProperty>
310                                             <key>AJSC_HOME</key>
311                                             <value>${runAjscHome}</value>
312                                         </systemProperty>
313                                         <systemProperty>
314                                             <key>CONFIG_HOME</key>
315                                             <value>${basedir}/appconfig-local/</value>
316                                         </systemProperty>
317                                         <systemProperty>
318                                             <key>AJSC_CONF_HOME</key>
319                                             <value>${basedir}/bundleconfig-local</value>
320                                         </systemProperty>
321                                         <systemProperty>
322                                             <key>logback.configurationFile</key>
323                                             <value>${basedir}/ajsc-shared-config/etc/logback.xml</value>
324                                         </systemProperty>
325                                         <systemProperty>
326                                             <key>AJSC_SHARED_CONFIG</key>
327                                             <value>${basedir}/ajsc-shared-config</value>
328                                         </systemProperty>
329
330                                         <sysproperty>
331                                             <key>AJSC_EXTERNAL_LIB_FOLDERS</key>
332                                             <value>${basedir}/target/commonLibs</value>
333                                         </sysproperty>
334                                         <sysproperty>
335                                             <key>AJSC_EXTERNAL_PROPERTIES_FOLDERS</key>
336                                             <value>${basedir}/ajsc-shared-config/etc</value>
337                                         </sysproperty>
338
339                                         <systemProperty>
340                                             <key>AJSC_SERVICE_NAMESPACE</key>
341                                             <value>${module.ajsc.namespace.name}</value>
342                                         </systemProperty>
343                                         <systemProperty>
344                                             <key>AJSC_SERVICE_VERSION</key>
345                                             <value>${module.ajsc.namespace.version}</value>
346                                         </systemProperty>
347                                         <systemProperty>
348                                             <key>SOACLOUD_SERVICE_VERSION</key>
349                                             <value>${project.version}</value>
350                                         </systemProperty>
351                                         <systemProperty>
352                                             <key>server.port</key>
353                                             <value>${serverPort}</value>
354                                         </systemProperty>
355                                     </systemProperties>
356
357                                     <!-- Command Line Arguments to add to the java command. Here, you
358                                         can specify the port as well as the Context you want your service to run
359                                         in. Use context=/ to run in an unnamed Context (Root Context). The default
360                                         configuration of the AJSC is to run under the / Context. Setting the port
361                                         here can aid during the development phase of your service. However, you can
362                                         leave this argument out entirely, and the AJSC will default to using an Ephemeral
363                                         port. -->
364                                     <arguments>
365                                         <argument>context=/</argument>
366                                         <argument>port=${serverPort}</argument>
367                                         <argument>sslport=${sslport}</argument>
368                                     </arguments>
369                                 </configuration>
370                             </execution>
371                         </executions>
372                         <configuration>
373                             <executable>java</executable>
374                         </configuration>
375                         <dependencies>
376                             <dependency>
377                                 <groupId>com.att.ajsc</groupId>
378                                 <artifactId>ajsc-runner</artifactId>
379                                 <version>${ajscRuntimeVersion}</version>
380                             </dependency>
381                         </dependencies>
382                     </plugin>
383                 </plugins>
384             </build>
385         </profile>
386     </profiles>
387 </project>