aa9185ef7a361977b1e30028453d44255c8a3edf
[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-parent</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     </properties>
39
40     <build>
41         <plugins>
42             <plugin>
43                 <artifactId>maven-resources-plugin</artifactId>
44                 <executions>
45                     <execution>
46                         <id>copy-resources-${linux64id}</id>
47                         <phase>process-resources</phase>
48                         <goals>
49                             <goal>copy-resources</goal>
50                         </goals>
51                         <configuration>
52                             <outputDirectory>${linux64outputdir}</outputDirectory>
53                             <resources>
54                                 <resource>
55                                     <directory>src/main/assembly/</directory>
56                                     <filtering>false</filtering>
57                                     <includes>
58                                         <include>**/*</include>
59                                     </includes>
60                                     <excludes>
61                                         <exclude>**/*.bat</exclude>
62                                         <exclude>Dockerfile</exclude>
63                                     </excludes>
64                                 </resource>
65                             </resources>
66                             <overwrite>true</overwrite>
67                         </configuration>
68                     </execution>
69                     <execution>
70                         <id>copy-resources-${win64id}</id>
71                         <phase>process-resources</phase>
72                         <goals>
73                             <goal>copy-resources</goal>
74                         </goals>
75                         <configuration>
76                             <outputDirectory>${win64outputdir}</outputDirectory>
77                             <resources>
78                                 <resource>
79                                     <directory>src/main/assembly/</directory>
80                                     <filtering>false</filtering>
81                                     <includes>
82                                         <include>**/*</include>
83                                     </includes>
84                                     <excludes>
85                                         <exclude>**/*.sh</exclude>
86                                         <exclude>Dockerfile</exclude>
87                                     </excludes>
88                                 </resource>
89                             </resources>
90                             <overwrite>true</overwrite>
91                         </configuration>
92                     </execution>
93                     <execution>
94                         <id>copy-dockerfile</id>
95                         <phase>process-resources</phase>
96                         <goals>
97                             <goal>copy-resources</goal>
98                         </goals>
99                         <configuration>
100                             <outputDirectory>target/version</outputDirectory>
101                             <resources>
102                                 <resource>
103                                     <directory>src/main/assembly/</directory>
104                                     <filtering>false</filtering>
105                                     <includes>
106                                         <include>Dockerfile</include>
107                                     </includes>
108                                 </resource>
109                             </resources>
110                             <overwrite>true</overwrite>
111                         </configuration>
112                     </execution>
113                 </executions>
114             </plugin>
115             <plugin>
116                 <groupId>org.apache.maven.plugins</groupId>
117                 <artifactId>maven-dependency-plugin</artifactId>
118                 <executions>
119                     <execution>
120                         <id>copy-jar-${linux64id}</id>
121                         <goals>
122                             <goal>copy</goal>
123                         </goals>
124                         <phase>prepare-package</phase>
125                         <configuration>
126                             <artifactItems>
127                                 <artifactItem>
128                                     <groupId>org.onap.aai.esr-server</groupId>
129                                     <artifactId>esr-mgr</artifactId>
130                                     <type>jar</type>
131                                     <overWrite>true</overWrite>
132                                     <outputDirectory>${linux64outputdir}</outputDirectory>
133                                     <destFileName>esr-service.jar</destFileName>
134                                 </artifactItem>
135                             </artifactItems>
136                         </configuration>
137                     </execution>
138                     <execution>
139                         <id>copy-jar-${win64id}</id>
140                         <goals>
141                             <goal>copy</goal>
142                         </goals>
143                         <phase>prepare-package</phase>
144                         <configuration>
145                             <artifactItems>
146                                 <artifactItem>
147                                     <groupId>org.onap.aai.esr-server</groupId>
148                                     <artifactId>esr-mgr</artifactId>
149                                     <type>jar</type>
150                                     <overWrite>true</overWrite>
151                                     <outputDirectory>${win64outputdir}</outputDirectory>
152                                     <destFileName>esr-service.jar</destFileName>
153                                 </artifactItem>
154                             </artifactItems>
155                         </configuration>
156                     </execution>
157                 </executions>
158             </plugin>
159             <plugin>
160                 <groupId>org.apache.maven.plugins</groupId>
161                 <artifactId>maven-antrun-plugin</artifactId>
162                 <executions>
163                     <execution>
164                         <id>distribution</id>
165                         <phase>package</phase>
166                         <goals>
167                             <goal>run</goal>
168                         </goals>
169                         <configuration>
170                             <target name="distribution">
171                                 <tar destfile="${version.output}/${packagename}-${project.version}-linux64.tar.gz" longfile="posix" compression="gzip">
172                                     <tarfileset dir="target/assembly/linux64" filemode="0644" dirmode="0755">
173                                         <exclude name="**/*.sh"/>
174                                     </tarfileset>
175                                     <tarfileset dir="target/assembly/linux64" filemode="0755" dirmode="0755">
176                                         <include name="**/*.sh"/>
177                                     </tarfileset>
178                                 </tar>
179                                 <attachartifact file="${version.output}/${packagename}-${project.version}-linux64.tar.gz" classifier="linux64" type="tar.gz"/>
180                                 <zip destfile="${version.output}/${packagename}-${project.version}-win64.zip" update="true">
181                                     <zipfileset dir="target/assembly/win64" includes="**"/>
182                                 </zip>
183                                 <attachartifact file="${version.output}/${packagename}-${project.version}-win64.zip" classifier="win64" type="zip"/>
184                             </target>
185                         </configuration>
186                     </execution>
187                 </executions>
188             </plugin>
189         </plugins>
190     </build>
191         
192             <profiles>
193         <profile>
194             <id>docker</id>
195             <build>
196                 <plugins>
197                     <plugin>
198                         <groupId>io.fabric8</groupId>
199                         <artifactId>docker-maven-plugin</artifactId>
200                         <version>0.16.5</version>
201                         <inherited>false</inherited>
202                         <configuration>
203                             <images>
204                                 <image>
205                                     <name>onap/aai/esr-server</name>
206                                     <build>
207                                         <cleanup>try</cleanup>
208                                         <dockerFileDir>${basedir}/target/version/</dockerFileDir>
209                                         <dockerFile>${basedir}/target/version/Dockerfile</dockerFile>
210                                         <tags>
211                                             <tag>${project.version}-STAGING-latest</tag>
212                                         </tags>
213                                     </build>
214                                 </image>
215                             </images>
216                         </configuration>
217                         <executions>
218                             <execution>
219                                 <id>generate-images</id>
220                                 <phase>package</phase>
221                                 <goals>
222                                     <goal>build</goal>
223                                 </goals>
224                             </execution>
225
226                             <execution>
227                                 <id>push-images</id>
228                                 <phase>deploy</phase>
229                                 <goals>
230                                     <goal>build</goal>
231                                     <goal>push</goal>
232                                 </goals>
233                             </execution>
234                         </executions>
235                     </plugin>
236                 </plugins>
237             </build>
238         </profile>
239     </profiles>
240
241     <dependencies>
242         <dependency>
243             <groupId>org.onap.aai.esr-server</groupId>
244             <artifactId>esr-mgr</artifactId>
245             <version>${project.version}</version>
246         </dependency>
247     </dependencies>  
248 </project>