Merge "SDC Listner Docker touchup"
[ccsdk/cds.git] / ms / sdclistener / distribution / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~  Copyright © 2019 IBM, Bell Canada.
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 <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">
18     <modelVersion>4.0.0</modelVersion>
19     <parent>
20         <groupId>org.onap.ccsdk.cds.sdclistener</groupId>
21         <artifactId>parent</artifactId>
22         <version>0.4.2-SNAPSHOT</version>
23         <relativePath>../parent</relativePath>
24     </parent>
25     <artifactId>distribution</artifactId>
26     <packaging>pom</packaging>
27     <name>SDC Listener Distribution</name>
28     <properties>
29         <assembly.id>maven</assembly.id>
30         <name.space>org.onap.ccsdk.cds</name.space>
31         <serviceArtifactName>sdclistener</serviceArtifactName>
32         <image.name>onap/ccsdk-sdclistener</image.name>
33         <!--disabled for now to mirror #85964 https://gerrit.onap.org/r/#/c/85964/2/ms/command-executor/pom.xml-->
34         <!--<docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>-->
35         <docker.push.phase>deploy</docker.push.phase>
36         <docker.verbose>true</docker.verbose>
37         <ccsdk.project.version>${project.version}</ccsdk.project.version>
38         <ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp>
39     </properties>
40
41     <dependencies>
42         <dependency>
43             <groupId>org.onap.ccsdk.cds.sdclistener</groupId>
44             <artifactId>application</artifactId>
45         </dependency>
46     </dependencies>
47     <build>
48         <plugins>
49             <plugin>
50                 <artifactId>maven-resources-plugin</artifactId>
51                 <version>2.6</version>
52                 <executions>
53                     <execution>
54                         <id>copy-dockerfile</id>
55                         <goals>
56                             <goal>copy-resources</goal>
57                         </goals><!-- here the phase you need -->
58                         <phase>validate</phase>
59                         <configuration>
60                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
61                             <resources>
62                                 <resource>
63                                     <directory>src/main/docker</directory>
64                                     <includes>
65                                         <include>*</include>
66                                     </includes>
67                                     <filtering>true</filtering>
68                                 </resource>
69                             </resources>
70                         </configuration>
71                     </execution>
72                 </executions>
73             </plugin>
74             <plugin>
75                 <groupId>org.apache.maven.plugins</groupId>
76                 <artifactId>maven-antrun-plugin</artifactId>
77                 <executions>
78                     <execution>
79                         <id>ant-test</id>
80                         <phase>package</phase>
81                         <configuration>
82                             <tasks>
83                                 <fixcrlf srcdir="${basedir}" eol="unix" includes="**/*.sh, **/*.source"/>
84                             </tasks>
85                         </configuration>
86                         <goals>
87                             <goal>run</goal>
88                         </goals>
89                     </execution>
90                 </executions>
91             </plugin>
92             <plugin>
93                 <!--build the final artifact for docker deployment -->
94                 <artifactId>maven-assembly-plugin</artifactId>
95                 <version>3.1.0</version>
96                 <configuration>
97                     <!-- <skipAssembly>${skip.assembly}</skipAssembly> -->
98                     <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
99                     <descriptors>
100                         <descriptor>src/main/docker/distribution.xml</descriptor>
101                     </descriptors>
102                     <tarLongFileMode>posix</tarLongFileMode>
103                 </configuration>
104                 <executions>
105                     <execution>
106                         <id>${assembly.id}</id>
107                         <phase>package</phase>
108                         <goals>
109                             <goal>single</goal>
110                         </goals>
111                     </execution>
112                 </executions>
113             </plugin>
114             <plugin>
115                 <groupId>org.codehaus.groovy.maven</groupId>
116                 <artifactId>gmaven-plugin</artifactId>
117                 <version>1.0</version>
118                 <executions>
119                     <execution>
120                         <phase>validate</phase>
121                         <goals>
122                             <goal>execute</goal>
123                         </goals>
124                         <configuration>
125                             <source>${basedir}/../../../TagVersion.groovy</source>
126                         </configuration>
127                     </execution>
128                 </executions>
129             </plugin>
130
131         </plugins>
132     </build>
133
134     <profiles>
135         <profile>
136             <id>docker</id>
137             <build>
138                 <plugins>
139                     <plugin>
140                         <groupId>io.fabric8</groupId>
141                         <artifactId>docker-maven-plugin</artifactId>
142                         <version>0.26.1</version>
143                         <inherited>false</inherited>
144                         <configuration>
145                             <images>
146                                 <image>
147                                     <name>${image.name}</name>
148                                     <build>
149                                         <cleanup>try</cleanup>
150                                         <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
151                                         <tags>
152                                             <tag>${project.docker.latestminortag.version}</tag>
153                                             <tag>${project.docker.latestfulltag.version}</tag>
154                                             <tag>${project.docker.latesttagtimestamp.version}</tag>
155                                         </tags>
156                                     </build>
157                                 </image>
158                             </images>
159                             <verbose>true</verbose>
160                         </configuration>
161                         <executions>
162                             <execution>
163                                 <id>generate-images</id>
164                                 <phase>package</phase>
165                                 <goals>
166                                     <goal>build</goal>
167                                 </goals>
168                             </execution>
169                             <execution>
170                                 <id>push-images</id>
171                                 <phase>${docker.push.phase}</phase>
172                                 <goals>
173                                     <goal>build</goal>
174                                     <goal>push</goal>
175                                 </goals>
176                             </execution>
177                         </executions>
178                     </plugin>
179                 </plugins>
180             </build>
181         </profile>
182     </profiles>
183 </project>