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