Add the staging docker version.
[aai/esr-server.git] / standalone / pom.xml
1 <?xml version="1.0"?>
2 <!--
3
4     Copyright 2016-2017 ZTE Corporation.
5
6     Licensed under the Apache License, Version 2.0 (the "License");
7     you may not use this file except in compliance with the License.
8     You may obtain a copy of the License at
9
10         http://www.apache.org/licenses/LICENSE-2.0
11
12     Unless required by applicable law or agreed to in writing, software
13     distributed under the License is distributed on an "AS IS" BASIS,
14     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15     See the License for the specific language governing permissions and
16     limitations under the License.
17
18 -->
19 <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">
20     <parent>
21                 <groupId>org.onap.aai.esr-server</groupId>
22                 <artifactId>aai-esr-server</artifactId>
23                 <version>1.0.0-SNAPSHOT</version>
24         </parent>
25
26     <modelVersion>4.0.0</modelVersion>
27     <artifactId>standalone</artifactId>
28     <name>esr-server/standalone</name>
29     <packaging>pom</packaging>
30
31     <properties>
32         <packagename>esr-server</packagename>
33         <linux64id>linux64</linux64id>
34         <win64id>win64</win64id>
35         <linux64outputdir>target/assembly/${linux64id}</linux64outputdir>
36         <win64outputdir>target/assembly/${win64id}</win64outputdir>
37         <version.output>target/version</version.output>
38         <docker.image.name>onap/aai/esr-server</docker.image.name>
39         <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
40         <docker.push.registry></docker.push.registry>
41         <skip.docker.build>true</skip.docker.build>
42         <skip.docker.tag>true</skip.docker.tag>
43         <skip.docker.push>true</skip.docker.push>
44         </properties>
45     <build>
46         <plugins>
47             <plugin>
48                 <artifactId>maven-resources-plugin</artifactId>
49                 <executions>
50                     <execution>
51                         <id>copy-resources-${linux64id}</id>
52                         <phase>process-resources</phase>
53                         <goals>
54                             <goal>copy-resources</goal>
55                         </goals>
56                         <configuration>
57                             <outputDirectory>${linux64outputdir}</outputDirectory>
58                             <resources>
59                                 <resource>
60                                     <directory>src/main/assembly/</directory>
61                                     <filtering>false</filtering>
62                                     <includes>
63                                         <include>**/*</include>
64                                     </includes>
65                                     <excludes>
66                                         <exclude>**/*.bat</exclude>
67                                         <exclude>Dockerfile</exclude>
68                                     </excludes>
69                                 </resource>
70                             </resources>
71                             <overwrite>true</overwrite>
72                         </configuration>
73                     </execution>
74                     <execution>
75                         <id>copy-resources-${win64id}</id>
76                         <phase>process-resources</phase>
77                         <goals>
78                             <goal>copy-resources</goal>
79                         </goals>
80                         <configuration>
81                             <outputDirectory>${win64outputdir}</outputDirectory>
82                             <resources>
83                                 <resource>
84                                     <directory>src/main/assembly/</directory>
85                                     <filtering>false</filtering>
86                                     <includes>
87                                         <include>**/*</include>
88                                     </includes>
89                                     <excludes>
90                                         <exclude>**/*.sh</exclude>
91                                         <exclude>Dockerfile</exclude>
92                                     </excludes>
93                                 </resource>
94                             </resources>
95                             <overwrite>true</overwrite>
96                         </configuration>
97                     </execution>
98                     <execution>
99                         <id>copy-dockerfile</id>
100                         <phase>process-resources</phase>
101                         <goals>
102                             <goal>copy-resources</goal>
103                         </goals>
104                         <configuration>
105                             <outputDirectory>target/version</outputDirectory>
106                             <resources>
107                                 <resource>
108                                     <directory>src/main/assembly/</directory>
109                                     <filtering>false</filtering>
110                                     <includes>
111                                         <include>Dockerfile</include>
112                                     </includes>
113                                 </resource>
114                             </resources>
115                             <overwrite>true</overwrite>
116                         </configuration>
117                     </execution>
118                 </executions>
119             </plugin>
120             <plugin>
121                 <groupId>org.apache.maven.plugins</groupId>
122                 <artifactId>maven-dependency-plugin</artifactId>
123                 <executions>
124                     <execution>
125                         <id>copy-jar-${linux64id}</id>
126                         <goals>
127                             <goal>copy</goal>
128                         </goals>
129                         <phase>prepare-package</phase>
130                         <configuration>
131                             <artifactItems>
132                                 <artifactItem>
133                                     <groupId>org.onap.aai.esr-server</groupId>
134                                     <artifactId>esr-mgr</artifactId>
135                                     <type>jar</type>
136                                     <overWrite>true</overWrite>
137                                     <outputDirectory>${linux64outputdir}</outputDirectory>
138                                     <destFileName>esr-service.jar</destFileName>
139                                 </artifactItem>
140                             </artifactItems>
141                         </configuration>
142                     </execution>
143                     <execution>
144                         <id>copy-jar-${win64id}</id>
145                         <goals>
146                             <goal>copy</goal>
147                         </goals>
148                         <phase>prepare-package</phase>
149                         <configuration>
150                             <artifactItems>
151                                 <artifactItem>
152                                     <groupId>org.onap.aai.esr-server</groupId>
153                                     <artifactId>esr-mgr</artifactId>
154                                     <type>jar</type>
155                                     <overWrite>true</overWrite>
156                                     <outputDirectory>${win64outputdir}</outputDirectory>
157                                     <destFileName>esr-service.jar</destFileName>
158                                 </artifactItem>
159                             </artifactItems>
160                         </configuration>
161                     </execution>
162                 </executions>
163             </plugin>
164             <plugin>
165                 <groupId>org.apache.maven.plugins</groupId>
166                 <artifactId>maven-antrun-plugin</artifactId>
167                 <executions>
168                     <execution>
169                         <id>distribution</id>
170                         <phase>package</phase>
171                         <goals>
172                             <goal>run</goal>
173                         </goals>
174                         <configuration>
175                             <target name="distribution">
176                                 <tar destfile="${version.output}/${packagename}-${project.version}-linux64.tar.gz" longfile="posix" compression="gzip">
177                                     <tarfileset dir="target/assembly/linux64" filemode="0644" dirmode="0755">
178                                         <exclude name="**/*.sh"/>
179                                     </tarfileset>
180                                     <tarfileset dir="target/assembly/linux64" filemode="0755" dirmode="0755">
181                                         <include name="**/*.sh"/>
182                                     </tarfileset>
183                                 </tar>
184                                 <attachartifact file="${version.output}/${packagename}-${project.version}-linux64.tar.gz" classifier="linux64" type="tar.gz"/>
185                                 <zip destfile="${version.output}/${packagename}-${project.version}-win64.zip" update="true">
186                                     <zipfileset dir="target/assembly/win64" includes="**"/>
187                                 </zip>
188                                 <attachartifact file="${version.output}/${packagename}-${project.version}-win64.zip" classifier="win64" type="zip"/>
189                             </target>
190                         </configuration>
191                     </execution>
192                 </executions>
193             </plugin>
194         </plugins>
195     </build>
196         
197         <!--<profiles>
198         <profile>
199             <id>docker</id>
200             <build>
201                 <plugins>
202                     <plugin>
203                         <groupId>io.fabric8</groupId>
204                         <artifactId>docker-maven-plugin</artifactId>
205                         <version>0.16.5</version>
206                         <inherited>false</inherited>
207                         <configuration>
208                             <images>
209                                 <image>
210                                     <name>onap/aai/esr-server</name>
211                                     <build>
212                                         <cleanup>try</cleanup>
213                                         <dockerFileDir>${basedir}/target/version/</dockerFileDir>
214                                         <dockerFile>${basedir}/target/version/Dockerfile</dockerFile>
215                                         <tags>
216                                             <tag>${project.version}-STAGING-latest</tag>
217                                         </tags>
218                                     </build>
219                                 </image>
220                             </images>
221                         </configuration>
222                         <executions>
223                             <execution>
224                                 <id>generate-images</id>
225                                 <phase>package</phase>
226                                 <goals>
227                                     <goal>build</goal>
228                                 </goals>
229                             </execution>
230
231                             <execution>
232                                 <id>push-images</id>
233                                 <phase>deploy</phase>
234                                 <goals>
235                                     <goal>build</goal>
236                                     <goal>push</goal>
237                                 </goals>
238                             </execution>
239                         </executions>
240                     </plugin>
241                 </plugins>
242             </build>
243         </profile>
244     </profiles> -->
245         <profiles>
246         <profile>
247             <id>docker</id>
248             <build>
249                 <plugins>
250                     <plugin>
251                         <groupId>com.spotify</groupId>
252                         <artifactId>docker-maven-plugin</artifactId>
253                         <version>0.4.11</version>
254                         <inherited>false</inherited>
255                         <configuration>
256                             <images>
257                                 <image>
258                                     <imageName>onap/aai/esr-server</imageName>
259                                     <build>
260                                         <cleanup>try</cleanup>
261                                         <dockerFileDir>${basedir}/target/version/</dockerFileDir>
262                                         <dockerFile>${basedir}/target/version/Dockerfile</dockerFile>
263                                     </build>
264                                 </image>
265                             </images>
266                         </configuration>
267                         <executions>
268                                         <execution>
269                         <id>build-image</id>
270                         <phase>package</phase>
271                         <goals>
272                             <goal>build</goal>
273                         </goals>
274                         <configuration>
275                             <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
276                         </configuration>
277                     </execution>
278                     <execution>
279                         <id>tag-image-timestamped-version</id>
280                         <phase>deploy</phase>
281                         <goals>
282                             <goal>tag</goal>
283                         </goals>
284                         <configuration>
285                             <image>${docker.image.name}</image>
286                             <newName>${docker.push.registry}/${docker.image.name}:${project.version}-${maven.build.timestamp}</newName>
287                             <pushImage>${skip.docker.push}</pushImage>
288                             <skipDockerTag>${skip.docker.tag}</skipDockerTag>
289                         </configuration>
290                     </execution>
291                     <execution>
292                         <id>tag-image-project-version</id>
293                         <phase>deploy</phase>
294                         <goals>
295                             <goal>tag</goal>
296                         </goals>
297                         <configuration>
298                             <image>${docker.image.name}</image>
299                             <newName>${docker.push.registry}/${docker.image.name}:${project.version}</newName>
300                             <pushImage>${skip.docker.push}</pushImage>
301                             <skipDockerTag>${skip.docker.tag}</skipDockerTag>
302                         </configuration>
303                     </execution>
304                     <execution>
305                         <id>tag-image-latest-version</id>
306                         <phase>deploy</phase>
307                         <goals>
308                             <goal>tag</goal>
309                         </goals>
310                         <configuration>
311                             <image>${docker.image.name}</image>
312                             <newName>${docker.push.registry}/${docker.image.name}:latest</newName>
313                             <pushImage>${skip.docker.push}</pushImage>
314                             <skipDockerTag>${skip.docker.tag}</skipDockerTag>
315                         </configuration>
316                     </execution>
317                         </executions>
318                     </plugin>
319                 </plugins>
320             </build>
321         </profile>
322     </profiles>
323         
324     <dependencies>
325         <dependency>
326             <groupId>org.onap.aai.esr-server</groupId>
327             <artifactId>esr-mgr</artifactId>
328             <version>${project.version}</version>
329         </dependency>
330     </dependencies>  
331 </project>