summaryrefslogtreecommitdiffstats
path: root/openecomp-ui/pom.xml
blob: 9aa5f54988d5197c39952c361af4f333e773a123 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<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">
  <modelVersion>4.0.0</modelVersion>

  <artifactId>onboarding-fe</artifactId>
  <name>onboarding-ui-war</name>
  <packaging>war</packaging>

  <parent>
    <groupId>org.openecomp.sdc</groupId>
    <artifactId>sdc-onboarding</artifactId>
    <version>1.13.4-SNAPSHOT</version>
    <relativePath>../onboarding</relativePath>
  </parent>

  <properties>
    <app.context.path>onboarding</app.context.path>
    <jest.command/>
  </properties>

  <!-- ============================================= -->
  <!-- Profile for windows to run jest one by the other due to current defect in node-graceful-js creating race condition -->
  <!-- https://github.com/isaacs/node-graceful-fs/pull/119 -->
  <!-- ============================================= -->
  <profiles>
    <profile>
      <id>jest-windows-profile</id>
      <activation>
        <os>
          <family>windows</family>
        </os>
      </activation>
      <properties>
        <jest.command>--runInBand</jest.command>
      </properties>
    </profile>
  </profiles>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <executions>
          <execution>
            <id>clean.dist.folder</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
            <configuration>
              <filesets>
                <fileset>
                  <directory>${basedir}/dist</directory>
                </fileset>
                <fileset>
                  <directory>${basedir}/coverage</directory>
                </fileset>
                <fileset>
                  <directory>${basedir}/../dox-sequence-diagram-ui/dist</directory>
                </fileset>
              </filesets>
            </configuration>
          </execution>
          <execution>
            <id>clean.nodemodules.folder</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
            <configuration>
              <skip>${skipUICleanup}</skip>
              <filesets>
                <fileset>
                  <directory>${basedir}/node_modules</directory>
                </fileset>
                <fileset>
                  <directory>${basedir}/../dox-sequence-diagram-ui/node_modules
                  </directory>
                </fileset>
              </filesets>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- ============================================= -->
      <!-- Build the UI module node code -->
      <!-- ============================================= -->
      <plugin>
        <groupId>com.github.eirslett</groupId>
        <artifactId>frontend-maven-plugin</artifactId>
        <configuration>
          <installDirectory>${project.parent.parent.basedir}</installDirectory>
        </configuration>

        <executions>

          <execution>
            <id>install node and yarn</id>
            <goals>
              <goal>install-node-and-yarn</goal>
            </goals>
            <configuration>
              <nodeVersion>v14.17.1</nodeVersion>
              <yarnVersion>v1.19.1</yarnVersion>
            </configuration>
          </execution>

          <execution>
            <id>yarn install in dox-sequence-diagram-ui</id>
            <goals>
              <goal>yarn</goal>
            </goals>
            <configuration>
              <workingDirectory>${project.basedir}/../dox-sequence-diagram-ui</workingDirectory>
              <arguments>install</arguments>
            </configuration>
          </execution>
          <execution>
            <id>yarn build in dox-sequence-diagram-ui</id>
            <goals>
              <goal>yarn</goal>
            </goals>
            <configuration>
              <workingDirectory>${project.basedir}/../dox-sequence-diagram-ui</workingDirectory>
              <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
              <arguments>build</arguments>
            </configuration>
          </execution>

          <execution>
            <id>yarn install</id>
            <goals>
              <goal>yarn</goal>
            </goals>
            <configuration>
              <arguments>install</arguments>
            </configuration>
          </execution>

          <execution>
            <id>yarn build</id>
            <goals>
              <goal>yarn</goal>
            </goals>
            <configuration>
              <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
              <arguments>build --version=${project.version} --env.version=${project.version} --env.language=en</arguments>
            </configuration>
          </execution>
          <execution>
            <id>ui test</id>
            <goals>
              <goal>yarn</goal>
            </goals>
            <configuration>
              <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
              <arguments>test-build ${jest.command}</arguments>
              <skip>${maven.test.skip}</skip>
            </configuration>
            <!-- for some reason does not fail on test phase -->
            <phase>test</phase>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webResources>
            <resource>
              <directory>${basedir}/dist</directory>
              <includes>
                <include>*.html</include>
                <include>*.js</include>
              </includes>
            </resource>
            <resource>
              <directory>${basedir}/src</directory>
              <includes>
                <include>**/*.json</include>
              </includes>
            </resource>
            <resource>
              <directory>${basedir}/external-resources/healthcheck/</directory>
              <targetPath>v1.0</targetPath>
              <filtering>true</filtering>
              <includes>
                <include>healthcheck</include>
              </includes>
            </resource>
            <resource>
              <directory>${basedir}/webapp-onboarding</directory>
              <filtering>true</filtering>
            </resource>
          </webResources>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>