Step up version to 1.12.0-SNAPSHOT
[sdc/sdc-workflow-designer.git] / pom.xml
1 <!--
2   ~ Copyright © 2016-2018 European Support Limited
3   ~
4   ~ Licensed under the Apache License, Version 2.0 (the "License");
5   ~ you may not use this file except in compliance with the License.
6   ~ You may obtain a copy of the License at
7   ~
8   ~      http://www.apache.org/licenses/LICENSE-2.0
9   ~
10   ~ Unless required by applicable law or agreed to in writing, software
11   ~ distributed under the License is distributed on an "AS IS" BASIS,
12   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   ~ See the License for the specific language governing permissions and
14   ~ limitations under the License.
15   -->
16
17 <project
18     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19     xmlns="http://maven.apache.org/POM/4.0.0"
20     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
21
22     <modelVersion>4.0.0</modelVersion>
23
24     <!--
25         The groupId violates Maven naming conventions
26         (https://maven.apache.org/guides/mini/guide-naming-conventions.html)
27         because of a limitation of ONAP CI/CD infrastructure.
28     -->
29     <groupId>org.onap.sdc.sdc-workflow-designer</groupId>
30     <artifactId>sdc-workflow-designer-parent</artifactId>
31     <name>sdc-sdc-workflow-designer</name>
32     <version>1.12.0-SNAPSHOT</version>
33     <packaging>pom</packaging>
34
35     <properties>
36         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
37         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
38         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
39         <sdc.project.version>${project.version}</sdc.project.version>
40         <sdc.build.timestamp>${maven.build.timestamp}</sdc.build.timestamp>
41         <onap.version>1.5.0</onap.version>
42         <docker.optimize>true</docker.optimize>
43         <docker.username>docker</docker.username>
44         <docker.password>docker</docker.password>
45         <nexus.registry>nexus3.onap.org:10001</nexus.registry>
46         <nexus.proxy>https://nexus.onap.org</nexus.proxy>
47         <sitePath>/content/sites/site/org/onap/sdc/workflow/${project.version}</sitePath>
48         <!-- Sonar properties -->
49         <sonar.coverage.jacoco.xmlReportPaths>
50             ${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
51         </sonar.coverage.jacoco.xmlReportPaths>
52         <docker.api.version>1.41</docker.api.version>
53         <checkstyle.skip>true</checkstyle.skip>
54         <jetty.version>9.4.49.v20220914</jetty.version>
55     </properties>
56
57     <parent>
58         <groupId>org.onap.oparent</groupId>
59         <artifactId>oparent</artifactId>
60         <version>3.2.0</version>
61         <relativePath/>
62     </parent>
63
64     <modules>
65         <module>sdc-workflow-designer-init</module>
66         <module>sdc-workflow-designer-be</module>
67         <module>sdc-workflow-designer-ui</module>
68     </modules>
69
70     <build>
71         <pluginManagement>
72             <plugins>
73                 <plugin>
74                     <groupId>org.apache.maven.plugins</groupId>
75                     <artifactId>maven-compiler-plugin</artifactId>
76                     <version>3.10.1</version>
77                 </plugin>
78                 <plugin>
79                     <groupId>org.apache.maven.plugins</groupId>
80                     <artifactId>maven-surefire-plugin</artifactId>
81                     <version>2.22.2</version>
82                 </plugin>
83                 <plugin>
84                     <groupId>org.jacoco</groupId>
85                     <artifactId>jacoco-maven-plugin</artifactId>
86                     <version>0.8.8</version>
87                 </plugin>
88                 <plugin>
89                     <groupId>io.fabric8</groupId>
90                     <artifactId>docker-maven-plugin</artifactId>
91                     <version>0.38.0</version>
92                     <configuration>
93                         <verbose>false</verbose>
94                         <registry>${nexus.registry}</registry>
95                         <authConfig>
96                             <pull>
97                                 <username>${docker.username}</username>
98                                 <password>${docker.password}</password>
99                             </pull>
100                         </authConfig>
101                     </configuration>
102                     <executions>
103                         <execution>
104                             <id>docker-build</id>
105                             <phase>install</phase>
106                             <goals>
107                                 <goal>build</goal>
108                             </goals>
109                         </execution>
110                         <execution>
111                             <id>push-images</id>
112                             <phase>deploy</phase>
113                             <goals>
114                                 <goal>push</goal>
115                             </goals>
116                         </execution>
117                     </executions>
118                 </plugin>
119                 <plugin>
120                     <groupId>org.apache.maven.plugins</groupId>
121                     <artifactId>maven-checkstyle-plugin</artifactId>
122                     <version>3.1.2</version>
123                 </plugin>
124             </plugins>
125         </pluginManagement>
126         <plugins>
127             <plugin>
128                 <groupId>org.apache.maven.plugins</groupId>
129                 <artifactId>maven-compiler-plugin</artifactId>
130                 <configuration>
131                     <source>11</source>
132                     <target>11</target>
133                     <forceJavacCompilerUse>true</forceJavacCompilerUse>
134                 </configuration>
135             </plugin>
136             <plugin>
137                 <groupId>org.apache.maven.plugins</groupId>
138                 <artifactId>maven-checkstyle-plugin</artifactId>
139                 <configuration>
140                     <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
141                     <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
142                     <skip>${checkstyle.skip}</skip>
143                 </configuration>
144             </plugin>
145             <plugin>
146                 <groupId>org.jacoco</groupId>
147                 <artifactId>jacoco-maven-plugin</artifactId>
148                 <executions>
149                     <execution>
150                         <id>default-prepare-agent</id>
151                         <goals>
152                             <goal>prepare-agent</goal>
153                         </goals>
154                     </execution>
155                     <execution>
156                         <id>report</id>
157                         <phase>prepare-package</phase>
158                         <goals>
159                             <goal>report</goal>
160                         </goals>
161                     </execution>
162                     <execution>
163                         <id>post-unit-test</id>
164                         <phase>test</phase>
165                         <goals>
166                             <goal>report</goal>
167                         </goals>
168                         <configuration>
169                             <destFile>${sonar.jacoco.reportPath}</destFile>
170                         </configuration>
171                     </execution>
172                 </executions>
173             </plugin>
174             <plugin>
175                 <groupId>org.codehaus.groovy.maven</groupId>
176                 <artifactId>gmaven-plugin</artifactId>
177                 <version>1.0</version>
178                 <inherited>true</inherited>
179                 <executions>
180                     <execution>
181                         <id>docker-tags</id>
182                         <phase>validate</phase>
183                         <goals>
184                             <goal>execute</goal>
185                         </goals>
186                         <configuration>
187                             <source>
188                                 println 'Docker Tagging Script:' + project.properties['sdc.project.version'] + '/' + project.properties['sdc.build.timestamp'];
189                                 def versionArray;
190                                 if (project.properties['sdc.project.version'] != null) {
191                                     versionArray = project.properties['sdc.project.version'].split('\\.');
192                                 }
193
194                                 if (project.properties['sdc.project.version'].endsWith("-SNAPSHOT")) {
195                                     project.properties.setProperty('project.docker.latesttag.version', versionArray[0] + '.' + versionArray[1] + "-SNAPSHOT-latest");
196                                     project.properties.setProperty('project.docker.latesttagtimestamp.version', versionArray[0] + '.' + versionArray[1] + "-SNAPSHOT-" + project.properties['sdc.build.timestamp']);
197                                 } else {
198                                     project.properties.setProperty('project.docker.latesttag.version', versionArray[0] + '.' + versionArray[1] + "-STAGING-latest");
199                                     project.properties.setProperty('project.docker.latesttagtimestamp.version', versionArray[0] + '.' + versionArray[1] + "-STAGING-" + project.properties['sdc.build.timestamp']);
200                                 }
201
202                                 println 'New Tags for docker:' + project.properties['project.docker.latesttag.version'] + '/' + project.properties['project.docker.latesttagtimestamp.version'];
203                             </source>
204                         </configuration>
205                     </execution>
206                 </executions>
207             </plugin>
208         </plugins>
209     </build>
210
211     <repositories>
212         <repository>
213             <id>ecomp-releases</id>
214             <name>Release Repository</name>
215             <url>${nexus.proxy}/content/repositories/releases/</url>
216         </repository>
217         <repository>
218             <id>ecomp-snapshots</id>
219             <name>Snapshots Repository</name>
220             <url>${nexus.proxy}/content/repositories/snapshots/</url>
221         </repository>
222         <repository>
223             <id>ecomp-public</id>
224             <name>Public Repository</name>
225             <url>${nexus.proxy}/content/repositories/public/</url>
226         </repository>
227     </repositories>
228     <distributionManagement>
229         <repository>
230             <id>ecomp-releases</id>
231             <name>Release Repository</name>
232             <url>${nexus.proxy}/content/repositories/releases/</url>
233         </repository>
234         <snapshotRepository>
235             <id>ecomp-snapshots</id>
236             <name>Snapshot Repository</name>
237             <url>${nexus.proxy}/content/repositories/snapshots/</url>
238         </snapshotRepository>
239         <site>
240             <id>ecomp-site</id>
241             <url>dav:${nexus.proxy}${sitePath}</url>
242         </site>
243     </distributionManagement>
244
245     <profiles>
246         <profile>
247             <id>fast-build</id>
248             <activation>
249                 <activeByDefault>false</activeByDefault>
250             </activation>
251             <properties>
252                 <maven.test.skip>true</maven.test.skip>
253                 <skipYamlJsonValidator>true</skipYamlJsonValidator>
254                 <checkstyle.skip>true</checkstyle.skip>
255                 <jacoco.skip>true</jacoco.skip>
256                 <maven.antrun.skip>true</maven.antrun.skip>
257                 <swagger.skip>true</swagger.skip>
258             </properties>
259         </profile>
260
261     </profiles>
262
263 </project>