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