Merge "Implemented UAT runtime services"
[ccsdk/cds.git] / ms / blueprintsprocessor / application / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~  Copyright © 2017-2018 AT&T Intellectual Property.
4   ~
5   ~  Modifications Copyright © 2018 IBM.
6   ~  Modifications Copyright © 2019 Bell Canada.
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   -->
20 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
21     <modelVersion>4.0.0</modelVersion>
22
23     <parent>
24         <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
25         <artifactId>parent</artifactId>
26         <version>0.7.0-SNAPSHOT</version>
27         <relativePath>..</relativePath>
28     </parent>
29
30     <artifactId>application</artifactId>
31     <packaging>jar</packaging>
32
33     <name>Blueprints Processor Application</name>
34     <description>Blueprints Processor Application</description>
35
36     <properties>
37         <assembly.id>maven</assembly.id>
38         <name.space>org.onap.ccsdk.cds</name.space>
39         <serviceArtifactName>blueprintsprocessor</serviceArtifactName>
40         <image.name>onap/ccsdk-blueprintsprocessor</image.name>
41         <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
42         <docker.push.phase>deploy</docker.push.phase>
43         <docker.verbose>true</docker.verbose>
44         <ccsdk.project.version>${project.version}</ccsdk.project.version>
45         <ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp>
46     </properties>
47
48     <dependencies>
49
50         <dependency>
51             <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
52             <artifactId>blueprint-core</artifactId>
53             <exclusions>
54                 <exclusion>
55                     <groupId>org.springframework.boot</groupId>
56                     <artifactId>spring-boot-starter-logging</artifactId>
57                 </exclusion>
58             </exclusions>
59         </dependency>
60         <dependency>
61             <groupId>org.springframework.boot</groupId>
62             <artifactId>spring-boot-starter-security</artifactId>
63             <exclusions>
64                 <exclusion>
65                     <groupId>org.springframework.boot</groupId>
66                     <artifactId>spring-boot-starter-logging</artifactId>
67                 </exclusion>
68             </exclusions>
69         </dependency>
70
71         <!-- North Bound -->
72         <dependency>
73             <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
74             <artifactId>designer-api</artifactId>
75         </dependency>
76         <dependency>
77             <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
78             <artifactId>resource-api</artifactId>
79         </dependency>
80         <dependency>
81             <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
82             <artifactId>selfservice-api</artifactId>
83         </dependency>
84         <dependency>
85             <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
86             <artifactId>configs-api</artifactId>
87         </dependency>
88         <!--
89         <dependency>
90             <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
91             <artifactId>health-api</artifactId>
92         </dependency>
93         -->
94
95         <!-- Functions -->
96         <dependency>
97             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
98             <artifactId>python-executor</artifactId>
99         </dependency>
100         <dependency>
101             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
102             <artifactId>ansible-awx-executor</artifactId>
103         </dependency>
104         <dependency>
105             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
106             <artifactId>netconf-executor</artifactId>
107         </dependency>
108         <dependency>
109             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
110             <artifactId>restconf-executor</artifactId>
111         </dependency>
112         <dependency>
113             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
114             <artifactId>cli-executor</artifactId>
115         </dependency>
116         <dependency>
117             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
118             <artifactId>config-snapshots</artifactId>
119         </dependency>
120         <dependency>
121             <groupId>com.h2database</groupId>
122             <artifactId>h2</artifactId>
123         </dependency>
124         <dependency>
125             <groupId>org.powermock</groupId>
126             <artifactId>powermock-api-mockito2</artifactId>
127             <scope>test</scope>
128         </dependency>
129         <dependency>
130             <groupId>org.springframework.boot</groupId>
131             <artifactId>spring-boot-starter-test</artifactId>
132             <scope>test</scope>
133         </dependency>
134         <dependency>
135             <groupId>org.jetbrains.kotlin</groupId>
136             <artifactId>kotlin-test-junit</artifactId>
137             <scope>test</scope>
138         </dependency>
139         <dependency>
140             <groupId>io.projectreactor</groupId>
141             <artifactId>reactor-test</artifactId>
142             <scope>test</scope>
143         </dependency>
144         <!-- BEGIN UAT -->
145         <dependency>
146             <groupId>org.skyscreamer</groupId>
147             <artifactId>jsonassert</artifactId>
148         </dependency>
149         <dependency>
150             <groupId>org.yaml</groupId>
151             <artifactId>snakeyaml</artifactId>
152         </dependency>
153         <dependency>
154             <groupId>com.nhaarman.mockitokotlin2</groupId>
155             <artifactId>mockito-kotlin</artifactId>
156             <version>2.2.0</version>
157         </dependency>
158         <dependency>
159             <groupId>com.schibsted.spt.data</groupId>
160             <artifactId>jslt</artifactId>
161             <version>0.1.8</version>
162         </dependency>
163         <dependency>
164             <groupId>org.apache.httpcomponents</groupId>
165             <artifactId>httpclient</artifactId>
166             <version>${apache.httpcomponents.client.version}</version>
167         </dependency>
168         <dependency>
169             <groupId>org.apache.httpcomponents</groupId>
170             <artifactId>httpmime</artifactId>
171             <version>${apache.httpcomponents.client.version}</version>
172         </dependency>
173         <dependency>
174             <groupId>com.github.tomakehurst</groupId>
175             <artifactId>wiremock-jre8</artifactId>
176             <version>2.25.0</version>
177             <scope>test</scope>
178         </dependency>
179         <!-- END UAT -->
180         <dependency>
181             <groupId>ch.qos.logback</groupId>
182             <artifactId>logback-classic</artifactId>
183         </dependency>
184     </dependencies>
185
186     <build>
187         <resources>
188             <resource>
189                 <!--config and resource files -->
190                 <directory>${basedir}/etc</directory>
191                 <targetPath>${basedir}/target/etc</targetPath>
192                 <filtering>true</filtering>
193                 <includes>
194                     <include>**/*</include>
195                 </includes>
196             </resource>
197             <resource>
198                 <!--config and resource files -->
199                 <directory>${basedir}/src/main/resources</directory>
200                 <targetPath>${basedir}/target/src/main/resources</targetPath>
201                 <filtering>true</filtering>
202                 <includes>
203                     <include>**/*</include>
204                 </includes>
205             </resource>
206             <resource>
207                 <directory>src/main/resources</directory>
208                 <includes>
209                     <include>**/*</include>
210                 </includes>
211                 <filtering>true</filtering>
212             </resource>
213         </resources>
214         <plugins>
215             <plugin>
216                 <artifactId>maven-resources-plugin</artifactId>
217                 <version>2.6</version>
218                 <executions>
219                     <execution>
220                         <id>copy-dockerfile</id>
221                         <goals>
222                             <goal>copy-resources</goal>
223                         </goals><!-- here the phase you need -->
224                         <phase>validate</phase>
225                         <configuration>
226                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
227                             <resources>
228                                 <resource>
229                                     <directory>src/main/docker</directory>
230                                     <includes>
231                                         <include>*</include>
232                                     </includes>
233                                     <filtering>true</filtering>
234                                 </resource>
235                             </resources>
236                         </configuration>
237                     </execution>
238                 </executions>
239             </plugin>
240             <plugin>
241                 <groupId>org.apache.maven.plugins</groupId>
242                 <artifactId>maven-antrun-plugin</artifactId>
243                 <executions>
244                     <execution>
245                         <id>ant-test</id>
246                         <phase>package</phase>
247                         <configuration>
248                             <tasks>
249                                 <fixcrlf srcdir="${basedir}" eol="unix" includes="**/*.sh, **/*.source"/>
250                             </tasks>
251                         </configuration>
252                         <goals>
253                             <goal>run</goal>
254                         </goals>
255                     </execution>
256                 </executions>
257             </plugin>
258             <plugin><!--build the final artifact for docker deployment -->
259                 <artifactId>maven-assembly-plugin</artifactId>
260                 <version>3.1.0</version>
261                 <configuration>
262                     <!-- <skipAssembly>${skip.assembly}</skipAssembly> -->
263                     <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
264                     <descriptors>
265                         <descriptor>src/main/docker/distribution.xml</descriptor>
266                     </descriptors>
267                     <tarLongFileMode>posix</tarLongFileMode>
268                 </configuration>
269                 <executions>
270                     <execution>
271                         <id>${assembly.id}</id>
272                         <phase>package</phase>
273                         <goals>
274                             <goal>single</goal>
275                         </goals>
276                     </execution>
277                 </executions>
278             </plugin>
279             <plugin>
280                 <groupId>org.codehaus.groovy.maven</groupId>
281                 <artifactId>gmaven-plugin</artifactId>
282                 <version>1.0</version>
283                 <executions>
284                     <execution>
285                         <phase>validate</phase>
286                         <goals>
287                             <goal>execute</goal>
288                         </goals>
289                         <configuration>
290                             <source>${basedir}/../../../TagVersion.groovy</source>
291                         </configuration>
292                     </execution>
293                 </executions>
294             </plugin>
295             <plugin>
296                 <artifactId>maven-compiler-plugin</artifactId>
297                 <version>3.1</version>
298                 <configuration>
299                     <source>1.8</source>
300                     <target>1.8</target>
301                 </configuration>
302             </plugin>
303         </plugins>
304     </build>
305
306     <profiles>
307         <profile>
308             <id>docker</id>
309             <build>
310                 <plugins>
311                     <plugin>
312                         <groupId>io.fabric8</groupId>
313                         <artifactId>docker-maven-plugin</artifactId>
314                         <version>0.26.1</version>
315                         <inherited>false</inherited>
316                         <configuration>
317                             <images>
318                                 <image>
319                                     <name>${image.name}</name>
320                                     <build>
321                                         <cleanup>try</cleanup>
322                                         <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
323                                         <tags>
324                                             <tag>${project.docker.latestminortag.version}</tag>
325                                             <tag>${project.docker.latestfulltag.version}</tag>
326                                             <tag>${project.docker.latesttagtimestamp.version}</tag>
327                                         </tags>
328                                     </build>
329                                 </image>
330                             </images>
331                             <verbose>true</verbose>
332                         </configuration>
333                         <executions>
334                             <execution>
335                                 <id>generate-images</id>
336                                 <phase>package</phase>
337                                 <goals>
338                                     <goal>build</goal>
339                                 </goals>
340                             </execution>
341                             <execution>
342                                 <id>push-images</id>
343                                 <phase>${docker.push.phase}</phase>
344                                 <goals>
345                                     <goal>build</goal>
346                                     <goal>push</goal>
347                                 </goals>
348                             </execution>
349                         </executions>
350                     </plugin>
351                 </plugins>
352             </build>
353         </profile>
354     </profiles>
355 </project>