655d6a86959fe26114f6661d4bbbdbfaf4db1c7d
[aai/schema-service.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3
4     ============LICENSE_START=======================================================
5     org.onap.aai
6     ================================================================================
7     Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
8     ================================================================================
9     Licensed under the Apache License, Version 2.0 (the "License");
10     you may not use this file except in compliance with the License.
11     You may obtain a copy of the License at
12
13        http://www.apache.org/licenses/LICENSE-2.0
14
15     Unless required by applicable law or agreed to in writing, software
16     distributed under the License is distributed on an "AS IS" BASIS,
17     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18     See the License for the specific language governing permissions and
19     limitations under the License.
20     ============LICENSE_END=========================================================
21
22 -->
23 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
24          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
25     <modelVersion>4.0.0</modelVersion>
26     <parent>
27         <groupId>org.onap.aai.aai-common</groupId>
28         <artifactId>aai-parent</artifactId>
29         <version>1.7.0</version>
30     </parent>
31     <groupId>org.onap.aai.schema-service</groupId>
32     <artifactId>schema-service</artifactId>
33     <version>1.8.5-SNAPSHOT</version>
34     <name>aai-schema-service</name>
35     <packaging>pom</packaging>
36     <modules>
37         <module>aai-annotations</module>
38         <module>aai-schema-gen</module>
39         <module>aai-schema</module>
40         <module>aai-queries</module>
41         <module>aai-schema-service</module>
42     </modules>
43     <properties>
44         <!--
45             Nexus Proxy Properties and Snapshot Locations
46             Ideally this can be overwritten at runtime per internal environment specific values at runtime
47         -->
48         <aai.common.version>1.7.0</aai.common.version>
49         <nexusproxy>https://nexus.onap.org</nexusproxy>
50         <site.path>/content/sites/site/org/onap/aai/resources/${project.artifactId}/${project.version}</site.path>
51         <release.path>/content/repositories/releases/</release.path>
52         <snapshot.path>/content/repositories/snapshots/</snapshot.path>
53         <!-- GMaven plugin uses this property to figure out the name of the docker tag -->
54         <aai.project.version>${project.version}</aai.project.version>
55         <checkstyle.skip>false</checkstyle.skip>
56
57
58         <maven-site-plugin.version>3.9.1</maven-site-plugin.version>
59         <wagon-webdav-jackrabbit.version>3.4.2</wagon-webdav-jackrabbit.version>
60         <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
61         <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
62         <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
63         <maven-compiler-plugin.source>8</maven-compiler-plugin.source>
64         <maven-compiler-plugin.target>8</maven-compiler-plugin.target>
65         <maven-compiler-plugin.test.source>8</maven-compiler-plugin.test.source>
66         <maven-compiler-plugin.test.target>8</maven-compiler-plugin.test.target>
67         <slf4j.version>1.7.26</slf4j.version>
68         <!-- Sonar Properties -->
69         <sonar.language>java</sonar.language>
70         <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
71         <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
72         <sonar.jacoco.reportPath>${project.build.directory}/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
73         <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero>
74         <sonar.projectVersion>${project.version}</sonar.projectVersion>
75         <sitePath>/content/sites/site/org/onap/aai/${project.artifactId}/${project.version}</sitePath>
76         <sonar.scanner.version>3.7.0.1746</sonar.scanner.version>
77         <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
78     </properties>
79     <build>
80         <pluginManagement>
81             <plugins>
82                 <plugin>
83                     <groupId>org.codehaus.mojo</groupId>
84                     <artifactId>sonar-maven-plugin</artifactId>
85                     <version>${sonar.scanner.version}</version>
86                 </plugin>
87                 <plugin>
88                     <groupId>org.apache.maven.plugins</groupId>
89                     <artifactId>maven-site-plugin</artifactId>
90                     <version>${maven-site-plugin.version}</version>
91                     <dependencies>
92                         <dependency>
93                             <groupId>org.apache.maven.wagon</groupId>
94                             <artifactId>wagon-webdav-jackrabbit</artifactId>
95                             <version>${wagon-webdav-jackrabbit.version}</version>
96                         </dependency>
97                     </dependencies>
98                 </plugin>
99                 <plugin>
100                     <groupId>org.jacoco</groupId>
101                     <artifactId>jacoco-maven-plugin</artifactId>
102                     <version>${jacoco-maven-plugin.version}</version>
103                     <executions>
104                         <!-- Unit-Tests -->
105                         <execution>
106                             <id>prepare-agent</id>
107                             <goals>
108                                 <goal>prepare-agent</goal>
109                             </goals>
110                             <configuration>
111                                 <destFile>${sonar.jacoco.reportPath}</destFile>
112                             </configuration>
113                         </execution>
114                     </executions>
115                 </plugin>
116                 <plugin>
117                     <groupId>org.apache.maven.plugins</groupId>
118                     <artifactId>maven-surefire-plugin</artifactId>
119                     <version>${maven-surefire-plugin.version}</version>
120                     <configuration>
121                         <argLine>${argLine} -Xmx2048m --illegal-access=permit</argLine>
122                     </configuration>
123                 </plugin>
124                 <plugin>
125                     <groupId>org.apache.maven.plugins</groupId>
126                     <artifactId>maven-failsafe-plugin</artifactId>
127                     <version>2.22.0</version>
128                     <configuration>
129                         <argLine>
130                             --illegal-access=permit
131                         </argLine>
132                     </configuration>
133                 </plugin>
134                 <plugin>
135                     <groupId>org.apache.maven.plugins</groupId>
136                     <artifactId>maven-compiler-plugin</artifactId>
137                     <version>${maven-compiler-plugin.version}</version>
138                     <inherited>true</inherited>
139                     <configuration>
140                         <source>${maven-compiler-plugin.source}</source>
141                         <target>${maven-compiler-plugin.target}</target>
142                         <testSource>${maven-compiler-plugin.test.source}</testSource>
143                         <testTarget>${maven-compiler-plugin.test.target}</testTarget>
144                     </configuration>
145                 </plugin>
146                 <plugin>
147                     <groupId>org.apache.maven.plugins</groupId>
148                     <artifactId>maven-javadoc-plugin</artifactId>
149                     <version>${maven-javadoc-plugin.version}</version>
150                     <configuration/>
151                 </plugin>
152
153
154                 <!--
155                 Using https://code.revelc.net/formatter-maven-plugin/ for Eclipse formatter
156                 Using https://github.com/diffplug/spotless/tree/master/plugin-maven for import order
157                 Use in combination to rewrite code and imports, then checkstyle
158
159                 mvn formatter:format spotless:apply process-sources
160                 -->
161                 <plugin>
162                      <groupId>net.revelc.code.formatter</groupId>
163                      <artifactId>formatter-maven-plugin</artifactId>
164                      <version>2.8.1</version>
165                      <configuration>
166                         <configFile>${project.parent.basedir}/onap-java-formatter.xml</configFile>
167                      </configuration>
168                      <!-- https://code.revelc.net/formatter-maven-plugin/
169                           use mvn formatter:format to rewrite source files
170                           use mvn formatter:validate to validate source files -->
171                  </plugin>
172                 <plugin>
173                   <groupId>com.diffplug.spotless</groupId>
174                   <artifactId>spotless-maven-plugin</artifactId>
175                   <version>1.18.0</version>
176                   <configuration>
177                     <java>
178                      <importOrder>
179                        <order>com,java,javax,org</order>
180                      </importOrder>
181                     </java>
182                   </configuration>
183                 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven
184                      use mvn spotless:apply to rewrite source files
185                      use mvn spotless:check to validate source files -->
186                 </plugin>
187                 <plugin>
188                     <groupId>org.apache.maven.plugins</groupId>
189                     <artifactId>maven-deploy-plugin</artifactId>
190                 </plugin>
191                 <plugin>
192                     <groupId>com.mycila</groupId>
193                     <artifactId>license-maven-plugin</artifactId>
194                     <version>3.0</version>
195                     <configuration>
196                         <header>LICENSE.TXT</header>
197                         <includes>
198                             <include>src/main/java/**</include>
199                             <include>src/test/java/**</include>
200                             <include>pom.xml</include>
201                         </includes>
202                         <skipExistingHeaders>true</skipExistingHeaders>
203                         <skip>false</skip>
204                         <validHeaders>
205                             <header>LICENSE_ALT1.txt</header>
206                         </validHeaders>
207                     </configuration>
208                 </plugin>
209                 <plugin>
210                     <groupId>org.apache.maven.plugins</groupId>
211                     <artifactId>maven-source-plugin</artifactId>
212                     <version>3.0.1</version>
213                     <executions>
214                         <execution>
215                             <id>attach-sources</id>
216                             <phase>verify</phase>
217                             <goals>
218                                 <goal>jar-no-fork</goal>
219                             </goals>
220                         </execution>
221                     </executions>
222                 </plugin>
223             </plugins>
224         </pluginManagement>
225         <plugins>
226             <plugin>
227                 <groupId>org.apache.maven.plugins</groupId>
228                 <artifactId>maven-site-plugin</artifactId>
229                 <version>3.6</version>
230                 <configuration>
231                     <reportPlugins>
232                         <plugin>
233                             <groupId>org.apache.maven.plugins</groupId>
234                             <artifactId>maven-project-info-reports-plugin</artifactId>
235                             <version>2.4</version>
236                             <configuration>
237                                 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
238                                 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
239                             </configuration>
240                             <reports>
241                                 <report>dependencies</report>
242                             </reports>
243                         </plugin>
244                         <plugin>
245                             <groupId>org.apache.maven.plugins</groupId>
246                             <artifactId>maven-javadoc-plugin</artifactId>
247                             <version>2.8</version>
248                             <configuration>
249                                 <additionalparam>-Xdoclint:none</additionalparam>
250                             </configuration>
251                         </plugin>
252                     </reportPlugins>
253                 </configuration>
254                 <dependencies>
255                     <dependency>
256                         <groupId>org.apache.maven.wagon</groupId>
257                         <artifactId>wagon-webdav-jackrabbit</artifactId>
258                         <version>2.10</version>
259                     </dependency>
260                 </dependencies>
261             </plugin>
262         </plugins>
263     </build>
264     <reporting>
265         <plugins>
266             <plugin>
267                 <groupId>org.apache.maven.plugins</groupId>
268                 <artifactId>maven-javadoc-plugin</artifactId>
269                 <version>2.10.4</version>
270                 <configuration>
271                     <failOnError>false</failOnError>
272                     <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
273                     <docletArtifact>
274                         <groupId>org.umlgraph</groupId>
275                         <artifactId>umlgraph</artifactId>
276                         <version>5.6</version>
277                     </docletArtifact>
278                     <additionalparam>-views</additionalparam>
279                     <useStandardDocletOptions>true</useStandardDocletOptions>
280                 </configuration>
281             </plugin>
282         </plugins>
283     </reporting>
284     <pluginRepositories>
285         <pluginRepository>
286             <id>central</id>
287             <url>http://repo1.maven.org/maven2</url>
288         </pluginRepository>
289         <pluginRepository>
290             <id>EvoSuite</id>
291             <name>EvoSuite Repository</name>
292             <url>http://www.evosuite.org/m2</url>
293         </pluginRepository>
294     </pluginRepositories>
295     <distributionManagement>
296         <repository>
297             <id>ecomp-releases</id>
298             <name>ECOMP Release Repository</name>
299             <url>${nexusproxy}${release.path}</url>
300         </repository>
301         <snapshotRepository>
302             <id>ecomp-snapshots</id>
303             <name>ECOMP Snapshot Repository</name>
304             <url>${nexusproxy}${snapshot.path}</url>
305         </snapshotRepository>
306         <site>
307             <id>ecomp-site</id>
308             <url>dav:${nexusproxy}${site.path}</url>
309         </site>
310     </distributionManagement>
311 </project>