Refactor the ValidationService
[aai/aai-common.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 5833515..1aba075 100644 (file)
--- a/pom.xml
+++ b/pom.xml
-<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>
-  <groupId>org.onap.aai.aai-common</groupId>
-  <artifactId>aai-common</artifactId>
-  <version>1.1.0-SNAPSHOT</version>
-  <packaging>pom</packaging>
-  <name>aai-common</name>
-  
-  <modules>
-       <module>aai-schema</module>
-       <module>aai-annotations</module>
-       <module>aai-core</module>
-  </modules>
+<!--
 
-       <properties>
-               <maven.compiler.target>1.8</maven.compiler.target>
-               <maven.compiler.source>1.8</maven.compiler.source>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <nexusproxy>https://nexus.onap.org</nexusproxy>
-               <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
-               <aai.annotations.version>1.1.0-SNAPSHOT</aai.annotations.version>
-               <aai.schema.version>1.1.0-SNAPSHOT</aai.schema.version>
-               <aai.core.version>1.1.0-SNAPSHOT</aai.core.version>
-       </properties>
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+    ================================================================================
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
 
-  <build>
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+    ============LICENSE_END=========================================================
+
+-->
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns="http://maven.apache.org/POM/4.0.0" 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>
+    <parent>
+        <groupId>org.onap.oparent</groupId>
+        <artifactId>oparent</artifactId>
+        <version>2.1.0</version>
+    </parent>
+
+    <groupId>org.onap.aai.aai-common</groupId>
+    <artifactId>aai-common</artifactId>
+    <version>1.13.6-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <name>aai-aai-common</name>
+    <description>Contains all of the common code for resources and traversal repos</description>
+
+    <modules>
+        <module>aai-parent</module>
+        <module>aai-rest</module>
+        <module>aai-schema-ingest</module>
+        <module>aai-annotations</module>
+        <module>aai-aaf-auth</module>
+        <module>aai-core</module>
+        <module>aai-auth</module>
+        <module>aai-els-onap-logging</module>
+        <module>aai-failover</module>
+        <module>aai-utils</module>
+        <module>aai-schema-abstraction</module>
+    </modules>
+
+    <profiles>
+        <profile>
+            <id>docker</id>
+            <modules>
+                <module>aai-common-docker</module>
+            </modules>
+        </profile>
+    </profiles>
+
+    <properties>
+        <aai.common.version>${project.version}</aai.common.version>
+        <aai.generate.schema>true</aai.generate.schema>
+        <sitePath>/content/sites/site/org/onap/aai/aai-common/${project.artifactId}/${project.version}</sitePath>
+        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+        <onap.nexus.snapshot.path>/content/repositories/snapshots/</onap.nexus.snapshot.path>
+        <onap.nexus.snapshot.id>ecomp-snapshots</onap.nexus.snapshot.id>
+        <onap.nexus.release.path>/content/repositories/releases/</onap.nexus.release.path>
+        <onap.nexus.release.id>ecomp-releases</onap.nexus.release.id>
+    </properties>
+
+    <build>
         <pluginManagement>
             <plugins>
+                <!--
+                Using https://code.revelc.net/formatter-maven-plugin/ for Eclipse formatter
+                Using https://github.com/diffplug/spotless/tree/master/plugin-maven for import order
+                Use in combination to rewrite code and imports, then checkstyle
+
+                mvn formatter:format spotless:apply process-sources
+                -->
+                <plugin>
+                    <groupId>net.revelc.code.formatter</groupId>
+                    <artifactId>formatter-maven-plugin</artifactId>
+                    <version>2.8.1</version>
+                    <configuration>
+                        <configFile>${project.parent.basedir}/onap-java-formatter.xml</configFile>
+                    </configuration>
+                    <!-- https://code.revelc.net/formatter-maven-plugin/
+                         use mvn formatter:format to rewrite source files
+                         use mvn formatter:validate to validate source files -->
+                </plugin>
+                <plugin>
+                    <groupId>com.diffplug.spotless</groupId>
+                    <artifactId>spotless-maven-plugin</artifactId>
+                    <version>1.18.0</version>
+                    <configuration>
+                        <java>
+                            <importOrder>
+                                <order>com,java,javax,org</order>
+                            </importOrder>
+                            <removeUnusedImports/>
+                        </java>
+                    </configuration>
+                    <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven
+                         use mvn spotless:apply to rewrite source files
+                         use mvn spotless:check to validate source files -->
+                </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-compiler-plugin</artifactId>
                     </configuration>
                 </plugin>
                 <plugin>
-                                       <groupId>org.codehaus.mojo</groupId>
-                                       <artifactId>license-maven-plugin</artifactId>
-                                       <version>1.12</version>
-                                       <configuration>
-                                               <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
-                                               <licenseName>apache_v2</licenseName>
-                                               <inceptionYear>2017</inceptionYear>
-                                               <organizationName>AT&amp;T Intellectual Property. All rights reserved.</organizationName>
-                                               <projectName>org.openecomp.aai</projectName>
-                                               <canUpdateCopyright>true</canUpdateCopyright>
-                                               <canUpdateDescription>true</canUpdateDescription>
-                                               <canUpdateLicense>true</canUpdateLicense>
-                                               <emptyLineAfterHeader>true</emptyLineAfterHeader>
-                                               <processStartTag>============LICENSE_START=======================================================</processStartTag>
-                                               <processEndTag>============LICENSE_END=========================================================</processEndTag>
-                                               <sectionDelimiter>================================================================================</sectionDelimiter>
-                                               <includes>
-                                                       <include>**/*.java</include>
-                                                       <include>**/*.ksh</include>
-                                                       <include>**/*.sh</include>
-                                                       <include>**/*.ftl</include>
-                                                       <include>**/*.xsd</include>
-                                                       <include>**/*.xjb</include>
-                                                       <include>**/aai*.xml</include>
-                                                       <include>**/*logback*.xml</include>
-                                                       <include>**/*aaiconfig*.properties</include>
-                                                       <include>**/*titan*.properties</include>
-                                               </includes>
-                                       </configuration>
-                                       <executions>
-                                               <execution>
-                                                       <id>first</id>
-                                                       <goals>
-                                                               <goal>update-file-header</goal>
-                                                       </goals>
-                                                       <phase>process-sources</phase>
-                                               </execution>
-                                       </executions>
-                               </plugin>
-        <plugin>
-               <groupId>org.apache.maven.plugins</groupId>
-               <artifactId>maven-deploy-plugin</artifactId>
-               <executions>
-                       <execution>
-                       <id>default-deploy</id>
-                       <phase>none</phase>
-                       </execution>
-                       </executions>
-               </plugin>        
-               <plugin>
-                   <groupId>org.sonatype.plugins</groupId>
-                   <artifactId>nexus-staging-maven-plugin</artifactId>
-                   <version>1.6.7</version>
-                   <extensions>true</extensions>
-                   <configuration>
-                       <nexusUrl>${nexusproxy}</nexusUrl>
-                       <stagingProfileId>176c31dfe190a</stagingProfileId>
-                       <serverId>ecomp-staging</serverId>
-                   </configuration>
-               </plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-source-plugin</artifactId>
+                    <version>3.0.1</version>
+                    <executions>
+                        <execution>
+                            <id>attach-sources</id>
+                            <phase>deploy</phase>
+                            <goals>
+                                <goal>jar-no-fork</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-deploy-plugin</artifactId>
+                    <version>2.8.2</version>
+                </plugin>
+                <plugin>
+                    <groupId>com.mycila</groupId>
+                    <artifactId>license-maven-plugin</artifactId>
+                    <version>3.0</version>
+                    <configuration>
+                        <header>LICENSE.TXT</header>
+                        <includes>
+                            <include>src/main/java/**</include>
+                            <include>src/test/java/**</include>
+                            <include>pom.xml</include>
+                        </includes>
+                        <skipExistingHeaders>true</skipExistingHeaders>
+                        <skip>false</skip>
+                    </configuration>
+                </plugin>
             </plugins>
         </pluginManagement>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-site-plugin</artifactId>
+                <version>3.6</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.apache.maven.wagon</groupId>
+                        <artifactId>wagon-webdav-jackrabbit</artifactId>
+                        <version>2.10</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
+                <groupId>com.mycila</groupId>
+                <artifactId>license-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
     </build>
 
-       <distributionManagement>
-               <repository>
-                       <id>ecomp-releases</id>
-                       <name>ECOMP Release Repository</name>
-                       <url>${nexusproxy}/content/repositories/releases/</url>
-               </repository>
-               <snapshotRepository>
-                       <id>ecomp-snapshots</id>
-                       <name>ECOMP Snapshot Repository</name>
-                       <url>${nexusproxy}/content/repositories/snapshots/</url>
-               </snapshotRepository>
-               <site>
-                       <id>ecomp-site</id>
-                       <url>dav:${nexusproxy}${sitePath}</url>
-               </site>
-       </distributionManagement>
+    <distributionManagement>
+        <repository>
+            <id>${onap.nexus.release.id}</id>
+            <name>ECOMP Release Repository</name>
+            <url>${onap.nexus.url}${onap.nexus.release.path}</url>
+        </repository>
+        <snapshotRepository>
+            <id>${onap.nexus.snapshot.id}</id>
+            <name>ECOMP Snapshot Repository</name>
+            <url>${onap.nexus.url}${onap.nexus.snapshot.path}</url>
+        </snapshotRepository>
+        <site>
+            <id>ecomp-site</id>
+            <url>dav:${onap.nexus.url}${sitePath}</url>
+        </site>
+    </distributionManagement>
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.10.4</version>
+                <configuration>
+                    <failOnError>false</failOnError>
+                    <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
+                    <docletArtifact>
+                        <groupId>org.umlgraph</groupId>
+                        <artifactId>umlgraph</artifactId>
+                        <version>5.6</version>
+                    </docletArtifact>
+                    <additionalparam>-views -Xdoclint:none</additionalparam>
+                    <excludePackageNames>org.onap.aai.domain.yang.*:org.onap.aai.util.*</excludePackageNames>
+                    <useStandardDocletOptions>true</useStandardDocletOptions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-project-info-reports-plugin</artifactId>
+                <version>2.4</version>
+                <configuration>
+                    <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
+                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.8</version>
+                <configuration>
+                    <additionalparam>-Xdoclint:none</additionalparam>
+                </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
 
+    <!-- Start of ONAP Specific Repositories -->
+    <repositories>
+        <repository>
+            <id>Log4j</id>
+            <name>Log4J repository</name>
+            <url>https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j</url>
+        </repository>
+        <repository>
+            <id>AJSC</id>
+            <name>AJSC repository</name>
+            <url>https://mvnrepository.com/artifact/com.att.ajsc</url>
+        </repository>
+        <repository>
+            <id>restlet</id>
+            <name>maven reslet</name>
+            <url>https://maven.restlet.com/</url>
+        </repository>
+        <repository>
+            <id>ecomp-releases</id>
+            <name>ECOMP Release Repository</name>
+            <url>${onap.nexus.url}/content/repositories/releases/</url>
+        </repository>
+        <repository>
+            <id>ecomp-snapshots</id>
+            <name>ECOMP Snapshot Repository</name>
+            <url>${onap.nexus.url}/content/repositories/snapshots/</url>
+        </repository>
+    </repositories>
+    <!-- End of ONAP Specific Repositories -->
 </project>
+<!-- noop for release -->