Improve fast-build profile
[sdc.git] / utils / webseal-simulator / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0"
2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4
5
6     <modelVersion>4.0.0</modelVersion>
7     <artifactId>webseal-simulator</artifactId>
8     <packaging>war</packaging>
9
10     <parent>
11         <groupId>org.openecomp.sdc</groupId>
12         <artifactId>sdc-main</artifactId>
13         <version>1.10.0-SNAPSHOT</version>
14         <relativePath>../../</relativePath>
15     </parent>
16
17     <properties>
18         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
19         <nexus.proxy>https://nexus.onap.org</nexus.proxy>
20         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
21         <sonar.skip>true</sonar.skip>
22     </properties>
23
24     <dependencies>
25         <dependency>
26             <groupId>javax.servlet</groupId>
27             <artifactId>javax.servlet-api</artifactId>
28             <version>${javax.servlet.version}</version>
29         </dependency>
30
31         <dependency>
32             <groupId>org.apache.httpcomponents</groupId>
33             <artifactId>httpclient</artifactId>
34             <version>${httpclient.version}</version>
35             <exclusions>
36                 <exclusion>
37                     <groupId>org.apache.httpcomponents</groupId>
38                     <artifactId>httpcore</artifactId>
39                 </exclusion>
40             </exclusions>
41         </dependency>
42         <dependency>
43             <groupId>org.apache.httpcomponents</groupId>
44             <artifactId>httpcore</artifactId>
45             <version>${httpcore.version}</version>
46         </dependency>
47
48         <dependency>
49             <groupId>commons-logging</groupId>
50             <artifactId>commons-logging-api</artifactId>
51             <version>1.0.4</version>
52         </dependency>
53
54         <dependency>
55             <groupId>commons-io</groupId>
56             <artifactId>commons-io</artifactId>
57             <version>${commons.io.version}</version>
58         </dependency>
59
60         <dependency>
61             <groupId>commons-codec</groupId>
62             <artifactId>commons-codec</artifactId>
63             <version>${commons-codec}</version>
64             <scope>compile</scope>
65         </dependency>
66
67         <dependency>
68             <groupId>org.eclipse.jetty</groupId>
69             <artifactId>jetty-proxy</artifactId>
70             <version>${jetty.version}</version>
71             <scope>compile</scope>
72             <exclusions>
73                 <exclusion>
74                     <groupId>org.eclipse.jetty</groupId>
75                     <artifactId>jetty-http</artifactId>
76                 </exclusion>
77             </exclusions>
78         </dependency>
79
80         <dependency>
81             <groupId>org.eclipse.jetty</groupId>
82             <artifactId>jetty-servlets</artifactId>
83             <version>${jetty.version}</version>
84             <scope>compile</scope>
85             <exclusions>
86                 <exclusion>
87                     <groupId>org.eclipse.jetty</groupId>
88                     <artifactId>jetty-http</artifactId>
89                 </exclusion>
90             </exclusions>
91         </dependency>
92
93         <!-- Proxy servlet -->
94         <dependency>
95             <groupId>com.typesafe</groupId>
96             <artifactId>config</artifactId>
97             <version>1.0.2</version>
98             <scope>compile</scope>
99         </dependency>
100         <dependency>
101             <groupId>org.openecomp.sdc</groupId>
102             <artifactId>openecomp-sdc-logging-api</artifactId>
103             <version>${project.version}</version>
104             <exclusions>
105                 <exclusion>
106                     <groupId>org.powermock</groupId>
107                     <artifactId>powermock-module-junit4</artifactId>
108                 </exclusion>
109             </exclusions>
110         </dependency>
111     </dependencies>
112
113     <build>
114         <finalName>WSSimulator-${project.version}</finalName>
115         <plugins>
116             <plugin>
117                 <groupId>com.github.sylvainlaurent.maven</groupId>
118                 <artifactId>yaml-json-validator-maven-plugin</artifactId>
119                 <executions>
120                     <execution>
121                         <id>validate</id>
122                         <phase>validate</phase>
123                         <goals>
124                             <goal>validate</goal>
125                         </goals>
126                         <configuration>
127                             <validationSets>
128                                 <validationSet>
129                                     <includes>
130                                         <include>src/main/resources/**/*.y*ml</include>
131                                         <include>src/test/resources/**/*.y*ml</include>
132                                     </includes>
133                                 </validationSet>
134                                 <validationSet>
135                                     <includes>
136                                         <include>src/main/resources/**/*.json</include>
137                                         <include>src/test/resources/**/*.json</include>
138                                     </includes>
139                                 </validationSet>
140                             </validationSets>
141                             <skip>${skipYamlJsonValidator}</skip>
142                         </configuration>
143                     </execution>
144                 </executions>
145             </plugin>
146         </plugins>
147     </build>
148
149     <repositories>
150         <!-- LF repositories -->
151         <repository>
152             <id>ecomp-releases</id>
153             <name>Release Repository</name>
154             <url>${nexus.proxy}/content/repositories/releases/</url>
155         </repository>
156         <repository>
157             <id>ecomp-snapshots</id>
158             <name>Snapshots Repository</name>
159             <url>${nexus.proxy}/content/repositories/snapshots/</url>
160         </repository>
161         <repository>
162             <id>ecomp-public</id>
163             <name>Public Repository</name>
164             <url>${nexus.proxy}/content/repositories/public/</url>
165         </repository>
166         <!-- LF repositories END-->
167     </repositories>
168
169     <profiles>
170         <profile>
171             <id>docker</id>
172             <activation>
173                 <activeByDefault>false</activeByDefault>
174             </activation>
175             <build>
176                 <plugins>
177
178                     <plugin>
179                         <artifactId>maven-clean-plugin</artifactId>
180                         <version>3.0.0</version>
181                         <executions>
182                             <execution>
183                                 <id>clean-static-files</id>
184                                 <phase>clean</phase>
185                                 <goals>
186                                     <goal>clean</goal>
187                                 </goals>
188                                 <configuration>
189                                     <filesets>
190                                         <fileset>
191                                             <directory>${project.basedir}/sdc-simulator</directory>
192                                             <includes>
193                                                 <include>*.war</include>
194                                             </includes>
195                                             <followSymlinks>false</followSymlinks>
196                                         </fileset>
197                                     </filesets>
198                                 </configuration>
199                             </execution>
200                         </executions>
201                     </plugin>
202
203                     <plugin>
204                         <artifactId>maven-resources-plugin</artifactId>
205                         <executions>
206                             <execution>
207                                 <id>copy-resources-simulator</id>
208                                 <phase>verify</phase>
209                                 <goals>
210                                     <goal>copy-resources</goal>
211                                 </goals>
212                                 <configuration>
213                                     <outputDirectory>${project.basedir}/sdc-simulator
214                                     </outputDirectory>
215                                     <resources>
216                                         <resource>
217                                             <directory>${project.basedir}/target</directory>
218                                             <includes>
219                                                 <include>WSSimulator*.war</include>
220                                             </includes>
221                                         </resource>
222                                     </resources>
223                                 </configuration>
224                             </execution>
225                         </executions>
226                     </plugin>
227
228
229                     <plugin>
230                         <groupId>io.fabric8</groupId>
231                         <artifactId>docker-maven-plugin</artifactId>
232                         <configuration>
233                             <verbose>${verbose}</verbose>
234                             <apiVersion>${docker.api.version}</apiVersion>
235                             <registry>${docker.registry}</registry>
236                             <authConfig>
237                                 <pull>
238                                     <username>${docker.username}</username>
239                                     <password>${docker.password}</password>
240                                 </pull>
241                             </authConfig>
242                             <images>
243                                 <!-- Build simulator image -->
244                                 <image>
245                                     <name>${docker.namespace}/sdc-simulator</name>
246                                     <alias>sdc-simulator</alias>
247                                     <build>
248                                         <cleanup>try</cleanup>
249                                         <dockerFileDir>${basedir}${file.separator}sdc-simulator
250                                         </dockerFileDir>
251                                         <tags>
252                                             <tag>latest</tag>
253                                             <tag>
254                                                 ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest
255                                             </tag>
256                                             <tag>
257                                                 ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-${maven.build.timestamp}
258                                             </tag>
259                                         </tags>
260                                     </build>
261                                 </image>
262                             </images>
263                         </configuration>
264                         <executions>
265                             <execution>
266                                 <id>clean-images</id>
267                                 <phase>pre-clean</phase>
268                                 <goals>
269                                     <goal>remove</goal>
270                                 </goals>
271                             </execution>
272                             <execution>
273                                 <id>generate-images</id>
274                                 <phase>install</phase>
275                                 <goals>
276                                     <goal>build</goal>
277                                 </goals>
278                             </execution>
279                             <execution>
280                                 <id>push-images</id>
281                                 <phase>deploy</phase>
282                                 <goals>
283                                     <goal>push</goal>
284                                 </goals>
285                             </execution>
286                         </executions>
287                     </plugin>
288                 </plugins>
289             </build>
290         </profile>
291     </profiles>
292 </project>