adding execution for generation docker images
[ccsdk/cds.git] / ms / py-executor / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ Copyright © 2018-2019 AT&T Intellectual Property.
4   ~
5   ~ Licensed under the Apache License, Version 2.0 (the "License");
6   ~ you may not use this file except in compliance with the License.
7   ~ You may obtain a copy of the License at
8   ~
9   ~     http://www.apache.org/licenses/LICENSE-2.0
10   ~
11   ~ Unless required by applicable law or agreed to in writing, software
12   ~ distributed under the License is distributed on an "AS IS" BASIS,
13   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   ~ See the License for the specific language governing permissions and
15   ~ limitations under the License.
16   -->
17
18 <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">
19     <modelVersion>4.0.0</modelVersion>
20
21     <parent>
22         <groupId>org.onap.ccsdk.cds</groupId>
23         <artifactId>cds-ms</artifactId>
24         <version>1.1.0-SNAPSHOT</version>
25     </parent>
26
27     <artifactId>py-executor</artifactId>
28
29     <name>MS Python Script Executor</name>
30     <description>Micro-service providing python environment with gRPC binding for python script execution</description>
31
32     <properties>
33         <assembly.id>maven</assembly.id>
34         <image.name>onap/ccsdk-py-executor</image.name>
35         <sonar.skip>true</sonar.skip>
36     </properties>
37
38     <build>
39         <plugins>
40             <plugin>
41                 <artifactId>maven-resources-plugin</artifactId>
42                 <version>2.6</version>
43                 <executions>
44                     <execution>
45                         <id>copy-dockerfile</id>
46                         <goals>
47                             <goal>copy-resources</goal>
48                         </goals>
49                         <phase>validate</phase>
50                         <configuration>
51                             <outputDirectory>${project.basedir}/target/docker-stage</outputDirectory>
52                             <resources>
53                                 <resource>
54                                     <directory>docker</directory>
55                                     <includes>
56                                         <include>Dockerfile</include>
57                                         <include>start.sh</include>
58                                     </includes>
59                                     <filtering>true</filtering>
60                                 </resource>
61                             </resources>
62                         </configuration>
63                     </execution>
64                 </executions>
65             </plugin>
66             <plugin>
67                 <artifactId>maven-assembly-plugin</artifactId>
68                 <version>3.1.0</version>
69                 <configuration>
70                     <outputDirectory>${project.basedir}/target/docker-stage</outputDirectory>
71                     <descriptors>
72                         <descriptor>docker/distribution.xml</descriptor>
73                     </descriptors>
74                     <tarLongFileMode>posix</tarLongFileMode>
75                 </configuration>
76                 <executions>
77                     <execution>
78                         <id>${assembly.id}</id>
79                         <phase>package</phase>
80                         <goals>
81                             <goal>single</goal>
82                         </goals>
83                     </execution>
84                 </executions>
85             </plugin>
86             <plugin>
87                 <groupId>org.codehaus.groovy.maven</groupId>
88                 <artifactId>gmaven-plugin</artifactId>
89                 <version>1.0</version>
90                 <executions>
91                     <execution>
92                         <phase>validate</phase>
93                         <goals>
94                             <goal>execute</goal>
95                         </goals>
96                         <configuration>
97                             <source>${basedir}/../../TagVersion.groovy</source>
98                         </configuration>
99                     </execution>
100                 </executions>
101             </plugin>
102         </plugins>
103     </build>
104
105     <profiles>
106         <profile>
107             <id>docker</id>
108             <build>
109                 <plugins>
110                     <plugin>
111                         <groupId>io.fabric8</groupId>
112                         <artifactId>docker-maven-plugin</artifactId>
113                         <version>0.34.0</version>
114                         <inherited>false</inherited>
115                         <configuration>
116                             <images>
117                                 <image>
118                                     <name>${image.name}</name>
119                                     <build>
120                                         <cleanup>try</cleanup>
121                                         <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
122                                         <tags>
123                                             <tag>${project.docker.latestminortag.version}</tag>
124                                             <tag>${project.docker.latestfulltag.version}</tag>
125                                             <tag>${project.docker.latesttagtimestamp.version}</tag>
126                                         </tags>
127                                     </build>
128                                 </image>
129                             </images>
130                             <verbose>${docker.verbose}</verbose>
131                             <skipPush>${docker.skip.push}</skipPush>
132                         </configuration>
133                         <executions>
134                             <execution>
135                                 <id>build-push-images</id>
136                                 <goals>
137                                     <goal>build</goal>
138                                     <goal>push</goal>
139                                 </goals>
140                             </execution>
141                         </executions>
142                     </plugin>
143                 </plugins>
144             </build>
145         </profile>
146     </profiles>
147 </project>