62d883d41a766cdab986a26941a663f0c5f02bb8
[vid.git] / vid-webpack-master / pom.xml
1 <?xml version="1.0"?>
2 <project
3   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
4   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
5   <modelVersion>4.0.0</modelVersion>
6
7   <!-- This is the Maven project object model (POM) file for VID web application
8       based on the ECOMP SDK distribution. This file stands alone; it does not
9       inherit from a parent maven module. -->
10   <groupId>org.onap.vid</groupId>
11   <artifactId>vid-webpack-master</artifactId>
12   <version>1.3.0-SNAPSHOT</version>
13   <packaging>war</packaging>
14   <name>VID UI</name>
15   <description>VID UI</description>
16
17   <properties>
18     <encoding>UTF-8</encoding>
19     <!--<epsdk.version>1.3.0</epsdk.version>-->
20     <!--<springframework.version>4.2.0.RELEASE</springframework.version>-->
21     <!--<hibernate.version>4.3.11.Final</hibernate.version>-->
22     <!--<jackson.version>2.6.3</jackson.version>-->
23     <!-- Skip assembling the zip by default -->
24     <skipassembly>true</skipassembly>
25     <!-- Tests usually require some setup that maven cannot do, so skip. -->
26     <skiptests>false</skiptests>
27     <!-- this should be commented for local debugging -->
28     <!-- <deployenv>local</deployenv> -->
29     <nexusproxy>https://nexus.onap.org</nexusproxy>
30     <stagingNexusPath>content/repositories/staging/</stagingNexusPath>
31     <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
32     <releaseNexusPath>content/repositories/releases/</releaseNexusPath>
33   </properties>
34
35
36   <repositories>
37     <repository>
38       <id>onap-staging</id>
39       <name>ONAP - Staging Repository</name>
40       <url>${nexusproxy}/${stagingNexusPath}</url>
41     </repository>
42     <repository>
43       <id>ecomp-releases</id>
44       <name>OpenECOMP - Release Repository</name>
45       <url>${nexusproxy}/${releaseNexusPath}</url>
46     </repository>
47     <repository>
48       <id>ecomp-snapshots</id>
49       <name>OpenECOMP - Snapshot Repository</name>
50       <url>${nexusproxy}/${snapshotNexusPath}</url>
51     </repository>
52     <repository>
53       <id>ecomp-public</id>
54       <name>ecomp onap public Repository</name>
55       <url>https://nexus.onap.org/content/groups/public</url>
56     </repository>
57   </repositories>
58
59   <distributionManagement>
60                                 <repository>
61                                         <id>ecomp-releases</id>
62                                         <name>VID Release Repository</name>
63                                         <url>${nexusproxy}/${releaseNexusPath}</url>
64                                 </repository>
65                                 <snapshotRepository>
66                                         <id>ecomp-snapshots</id>
67                                         <name>VID Snapshot Repository</name>
68                                         <url>${nexusproxy}/${snapshotNexusPath}</url>
69                                 </snapshotRepository>
70
71   </distributionManagement>
72
73   <profiles>
74     <profile>
75       <id>if-not-webpack</id>
76       <activation><activeByDefault>true</activeByDefault></activation>
77       <build>
78         <plugins>
79           <plugin>
80             <groupId>org.apache.maven.plugins</groupId>
81             <artifactId>maven-antrun-plugin</artifactId>
82             <version>1.8</version>
83             <executions>
84               <execution>
85                 <id>make-empty-dist</id>
86                 <phase>validate</phase>
87                 <configuration>
88                   <target>
89                     <mkdir dir="${project.basedir}/dist/" />
90                     <echo file="${project.basedir}/dist/NO-WEBPACK.txt" append="false">
91                       Note: 'webpack' profile was not selected while mvn build. This 'dist' folder was created to make the war creation through.
92                     </echo>
93                   </target>
94                 </configuration>
95                 <goals>
96                   <goal>run</goal>
97                 </goals>
98               </execution>
99             </executions>
100           </plugin>
101
102         </plugins>
103       </build>
104     </profile>
105     <profile>
106       <id>webpack</id>
107       <build>
108         <plugins>
109           <plugin>
110             <groupId>com.github.eirslett</groupId>
111             <artifactId>frontend-maven-plugin</artifactId>
112             <!-- NB! Set <version> to the latest released version of frontend-maven-plugin, like in README.md -->
113             <version>1.6</version>
114
115             <executions>
116
117               <execution>
118                 <id>install node and npm</id>
119                 <goals>
120                   <goal>install-node-and-npm</goal>
121                 </goals>
122                 <configuration>
123                   <!-- See https://nodejs.org/en/download/ for latest node and npm (lts) versions -->
124                   <nodeVersion>v8.9.4</nodeVersion>
125                   <npmVersion>5.6.0</npmVersion>
126                 </configuration>
127               </execution>
128
129               <execution>
130                 <id>npm set no-progress</id>
131                 <goals>
132                   <goal>npm</goal>
133                 </goals>
134                 <configuration>
135                   <arguments>set progress=false</arguments>
136                 </configuration>
137               </execution>
138
139               <execution>
140                 <id>npm install</id>
141                 <goals>
142                   <goal>npm</goal>
143                 </goals>
144                 <!-- Optional configuration which provides for running any npm command -->
145                 <configuration>
146                   <arguments>install</arguments>
147                   <environmentVariables>
148                     <CYPRESS_INSTALL_BINARY>0</CYPRESS_INSTALL_BINARY>
149                   </environmentVariables>
150                 </configuration>
151               </execution>
152
153               <execution>
154                 <id>npm run test</id>
155                 <goals>
156                   <goal>npm</goal>
157                 </goals>
158                 <configuration>
159                   <arguments>run test</arguments>
160                 </configuration>
161               </execution>
162
163               <execution>
164                 <id>npm run build</id>
165                 <goals>
166                   <goal>npm</goal>
167                 </goals>
168                 <configuration>
169                   <arguments>run build</arguments>
170                 </configuration>
171               </execution>
172
173             </executions>
174           </plugin>
175         </plugins>
176       </build>
177     </profile>
178
179     <profile>
180       <id>cypress</id>
181       <build>
182         <plugins>
183           <plugin>
184             <groupId>com.github.eirslett</groupId>
185             <artifactId>frontend-maven-plugin</artifactId>
186             <!-- NB! Set <version> to the latest released version of frontend-maven-plugin, like in README.md -->
187             <version>1.6</version>
188
189             <executions>
190
191               <execution>
192                 <id>install node and npm</id>
193                 <goals>
194                   <goal>install-node-and-npm</goal>
195                 </goals>
196                 <configuration>
197                   <!-- See https://nodejs.org/en/download/ for latest node and npm (lts) versions -->
198                   <nodeVersion>v8.9.4</nodeVersion>
199                   <npmVersion>5.6.0</npmVersion>
200                 </configuration>
201               </execution>
202
203               <execution>
204                 <id>npm install cypress</id>
205                 <goals>
206                   <goal>npm</goal>
207                 </goals>
208                 <!-- Optional configuration which provides for running any npm command -->
209                 <configuration>
210                   <arguments>install --verbose cypress @bahmutov/add-typescript-to-cypress</arguments>
211                   <environmentVariables>
212                     <NO_PROXY>.att.com</NO_PROXY>
213                     <http_proxy>http://one.proxy.att.com:8080</http_proxy>
214                     <https_proxy>http://one.proxy.att.com:8080</https_proxy>
215                   </environmentVariables>
216                 </configuration>
217               </execution>
218
219               <execution>
220                 <id>npm run cypress</id>
221                 <goals>
222                   <goal>npm</goal>
223                 </goals>
224                 <configuration>
225                   <npmInheritsProxyConfigFromMaven>false</npmInheritsProxyConfigFromMaven>
226                   <arguments>run cypress:run -- --config baseUrl=http://${VID_HOST}:8080/vid</arguments>
227                 </configuration>
228               </execution>
229
230             </executions>
231           </plugin>
232         </plugins>
233       </build>
234     </profile>
235   </profiles>
236
237   <build>
238     <finalName>vid-webpack-master</finalName>
239     <plugins>
240
241       <plugin>
242         <groupId>org.apache.maven.plugins</groupId>
243         <artifactId>maven-war-plugin</artifactId>
244         <version>3.2.0</version>
245         <configuration>
246           <webResources>
247             <resource>
248               <!-- this is relative to the pom.xml directory -->
249               <directory>dist</directory>
250               <targetPath>app/ui</targetPath>
251             </resource>
252           </webResources>
253           <webXml>src/WEB-INF/web.xml</webXml>
254         </configuration>
255       </plugin>
256
257     </plugins>
258
259
260   </build>
261
262   <dependencies>
263   </dependencies>
264
265 </project>