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