Incorporate the ECOMP SDC Artefact Generator code
[aai/babel.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 87bb7d4..a9214ed 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,3 +1,21 @@
+<!-- ============LICENSE_START======================================================= -->
+<!-- org.onap.aai -->
+<!-- ================================================================================ -->
+<!-- Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. -->
+<!-- Copyright © 2017-2018 European Software Marketing Ltd. -->
+<!-- ================================================================================ -->
+<!-- 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 -->
+<!-- -->
+<!-- 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="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>
@@ -7,9 +25,9 @@
                <groupId>com.att.ajsc</groupId>
                <version>2.0.0</version>
        </parent>
-       <groupId>org.onap.aai.babel</groupId>
+       <groupId>org.onap.aai</groupId>
        <artifactId>babel</artifactId>
-       <version>2.0.0-SNAPSHOT</version>
+       <version>1.2.0-SNAPSHOT</version>
        <name>aai-babel</name>
 
        <properties>
                <ajscRuntimeVersion>2.0.0</ajscRuntimeVersion>
                <absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>
 
-               <!-- For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot> 
-                       property, below. PLEASE, NOTE: If your ${project.version} is a "-SNAPSHOT" 
-                       version, THIS will be used as your directory structure. If you do NOT want 
-                       this, simply remove the "-SNAPSHOT" from your <version> declaration at the 
-                       top of pom.xml -->
+        <!-- For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot> property below. -->
                <distFilesRoot>/appl/${project.artifactId}/${project.version}</distFilesRoot>
                <runAjscHome>${basedir}/target/swm/package/nix/dist_files${distFilesRoot}</runAjscHome>
 
@@ -31,9 +45,9 @@
                <installOwnerGroup>aaiadmin</installOwnerGroup>
                <ownerManagementGroup>com.att.csid.lab</ownerManagementGroup>
 
-               <!-- Port Selection. A value of 0 will allow for dynamic port selection. 
-                       For local testing, you may choose to hardcode this value to something like 
-                       8080 -->
+        <!-- Port Selection. A value of 0 will allow for dynamic port selection. 
+            For local testing, you may choose to hardcode this value to something like 
+            8080 -->
                <serverPort>9515</serverPort>
                <sslport>9516</sslport>
 
                <sitePath>/content/sites/site/org/onap/aai/babel/${project.artifactId}/${project.version}</sitePath>
 
                <!-- Dependency Versions -->
-               <aai.artifact.generator.version>1.1.0</aai.artifact.generator.version>
-               <apache.lang3.version>3.6</apache.lang3.version> 
+               <aai.rest.client.version>1.2.1</aai.rest.client.version>
+               <apache.lang3.version>3.6</apache.lang3.version>
                <commons-compress.version>1.14</commons-compress.version>
-               <common.logging.version>1.1.0</common.logging.version>
+               <common.logging.version>1.2.2</common.logging.version>
                <dom4j.version>1.6.1</dom4j.version>
-               <fasterxml.version>2.8.1</fasterxml.version>
                <hamcrest.version>1.3</hamcrest.version>
                <javaassist.version>3.21.0-GA</javaassist.version>
                <logback.version>1.1.9</logback.version>
+               <mvn.jaxb2.version>0.13.2</mvn.jaxb2.version>
                <mockito.version>1.10.19</mockito.version>
                <powermock.version>1.6.2</powermock.version>
                <sdc.distribution.client.version>1.1.32</sdc.distribution.client.version>
-               <snakeyamle.version>1.18</snakeyamle.version>
+               <sdc.tosca.version>1.3.3</sdc.tosca.version>
+        <fasterxml.version>2.9.4</fasterxml.version>
                <jacoco.version>0.7.9</jacoco.version>
+               <xmlunit.version>1.6</xmlunit.version>
+               <aai-schema.version>1.2.1</aai-schema.version>
                <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
                <docker.location>${basedir}/target</docker.location>
        </properties>
                        <artifactId>commons-lang3</artifactId>
                        <version>${apache.lang3.version}</version>
                </dependency>
-
-               <!-- Artifact generation -->
                <dependency>
-                       <groupId>org.openecomp.sdc.common</groupId>
-                       <artifactId>openecomp-sdc-artifact-generator-core</artifactId>
-                       <version>${aai.artifact.generator.version}</version>
+                       <groupId>org.onap.sdc.sdc-tosca</groupId>
+                       <artifactId>sdc-tosca</artifactId>
+                       <version>${sdc.tosca.version}</version>
                </dependency>
                <dependency>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-core</artifactId>
-                       <version>${fasterxml.version}</version>
+            <version>${fasterxml.version}</version><!--$NO-MVN-MAN-VER$ -->
                </dependency>
+        <dependency>
+            <groupId>org.onap.aai</groupId>
+            <artifactId>rest-client</artifactId>
+            <version>${aai.rest.client.version}</version>
+        </dependency>
 
                <!-- Testing -->
                <dependency>
                        <groupId>org.openecomp.sdc.sdc-distribution-client</groupId>
                        <artifactId>sdc-distribution-client</artifactId>
                        <version>${sdc.distribution.client.version}</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>xmlunit</groupId>
+                       <artifactId>xmlunit</artifactId>
+                       <version>${xmlunit.version}</version>
+                       <scope>test</scope>
                </dependency>
-          <dependency>
-              <groupId>xmlunit</groupId>
-              <artifactId>xmlunit</artifactId>
-              <version>1.6</version>
-              <scope>test</scope>
-          </dependency>
        </dependencies>
 
        <repositories>
-           <repository>
-               <id>ecomp-staging</id>
-               <name>ECOMP Staging Repository</name>
-               <url>${onap.nexus.url}/content/repositories/staging/</url>
-           </repository>
+               <repository>
+                       <id>ecomp-staging</id>
+                       <name>ECOMP Staging Repository</name>
+                       <url>${onap.nexus.url}/content/repositories/staging/</url>
+               </repository>
        </repositories>
 
        <distributionManagement>
 
        <build>
                <plugins>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-dependency-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>unpack</id>
+                                               <phase>initialize</phase>
+                                               <goals>
+                                                       <goal>unpack</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <artifactItems>
+                                                               <artifactItem>
+                                                                       <groupId>org.onap.aai.aai-common</groupId>
+                                                                       <artifactId>aai-schema</artifactId>
+                                                                       <version>${aai-schema.version}</version>
+                                                                       <type>jar</type>
+                                                                       <includes>aai_schema/aai_schema_v**.xsd</includes>
+                                                                       <outputDirectory>target/tmp</outputDirectory>
+                                                               </artifactItem>
+                                                       </artifactItems>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.jvnet.jaxb2.maven2</groupId>
+                               <artifactId>maven-jaxb2-plugin</artifactId>
+                               <version>${mvn.jaxb2.version}</version>
+                               <executions>
+                                       <execution>
+                                               <phase>process-sources</phase>
+                                               <goals>
+                                                       <goal>generate</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                               <configuration>
+                                       <schemaDirectory>target/tmp/aai_schema</schemaDirectory>
+                                       <generatePackage>org.onap.aai.babel.xml.generator.xsd</generatePackage>
+                                       <generateDirectory>target/generated-sources</generateDirectory>
+                                       <schemaIncludes>
+                                               <include>aai_schema_latest.xsd</include>
+                                       </schemaIncludes>
+                                       <extension>true</extension>
+                                       <args>
+                                               <arg>-Xannotate</arg>
+                                       </args>
+                                       <plugins>
+                                               <plugin>
+                                                       <groupId>org.jvnet.jaxb2_commons</groupId>
+                                                       <artifactId>jaxb2-basics-annotate</artifactId>
+                                                       <version>0.6.4</version>
+                                               </plugin>
+                                               <!-- Add the dependencies with your annotations as 'plugins' below -->
+                                               <plugin>
+                                                       <groupId>org.jvnet.jaxb2_commons</groupId>
+                                                       <artifactId>jaxb2-annotate-plugin-test-annox-annotations</artifactId>
+                                                       <version>1.0.0</version>
+                                               </plugin>
+                                       </plugins>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <artifactId>exec-maven-plugin</artifactId>
+                               <groupId>org.codehaus.mojo</groupId>
+                               <executions>
+                                       <execution><!-- Run our script to get latest xsd version -->
+                                               <id>Get latest xsd version</id>
+                                               <phase>generate-sources</phase>
+                                               <goals>
+                                                       <goal>exec</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <workingDirectory>${basedir}/scripts</workingDirectory>
+                                                       <executable>bash</executable>
+                                                       <commandlineArgs>get-latest-xsd-version.sh ${basedir}</commandlineArgs>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
                        <plugin>
                                <groupId>org.codehaus.mojo</groupId>
                                <artifactId>sonar-maven-plugin</artifactId>
                                        </execution>
                                </executions>
                        </plugin>
-
                        <plugin>
                                <groupId>org.jacoco</groupId>
                                <artifactId>jacoco-maven-plugin</artifactId>
                                <version>${jacoco.version}</version>
-
+                               <configuration>
+                                       <excludes>
+                                               <exclude>**/xml/generator/xsd/*.class</exclude>
+                                       </excludes>
+                               </configuration>
                                <executions>
                                        <execution>
                                                <id>prepare-agent</id>
                                                </goals>
                                        </execution>
                                </executions>
-
                        </plugin>
 
                        <plugin>
                                        </execution>
                                </executions>
                        </plugin>
+
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-jar-plugin</artifactId>
                                        <imageName>${docker.push.registry}/onap/${project.artifactId}</imageName>
                                        <dockerDirectory>${docker.location}</dockerDirectory>
                                        <imageTags>
-                               <imageTag>latest</imageTag>
+                                               <imageTag>latest</imageTag>
                                        </imageTags>
                                        <forceTags>true</forceTags>
                                </configuration>
                        </plugin>
 
-                       <!-- license 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>
-                                       </includes>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>format</goal>
-                                               </goals>
-                                               <phase>process-sources</phase>
-                                       </execution>
-                               </executions>
-                       </plugin>
-
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-deploy-plugin</artifactId>
+                               <version>2.8.2</version>
                                <configuration>
                                        <classifier>client</classifier>
                                </configuration>
                                        </reportPlugins>
                                </configuration>
                        </plugin>
-                       
+
                        <plugin>
-                           <groupId>org.sonatype.plugins</groupId>
-                           <artifactId>nexus-staging-maven-plugin</artifactId>
-                           <version>1.6.7</version>
-                           <extensions>true</extensions>
-                           <configuration>
-                               <nexusUrl>${onap.nexus.url}</nexusUrl>
-                               <stagingProfileId>176c31dfe190a</stagingProfileId>
-                               <serverId>ecomp-staging</serverId>
-                           </configuration>
+                               <groupId>org.sonatype.plugins</groupId>
+                               <artifactId>nexus-staging-maven-plugin</artifactId>
+                               <version>1.6.7</version>
+                               <extensions>true</extensions>
+                               <configuration>
+                                       <nexusUrl>${onap.nexus.url}</nexusUrl>
+                                       <stagingProfileId>176c31dfe190a</stagingProfileId>
+                                       <serverId>ecomp-staging</serverId>
+                               </configuration>
                        </plugin>
+
                        <!-- Strong recommendation to use forkCount and reuseForks parameters as forkMode is deprecated since v2.14 -->
                        <plugin>
-                           <groupId>org.apache.maven.plugins</groupId>
-                           <artifactId>maven-surefire-plugin</artifactId>
-                           <configuration>
-                               <reuseForks>false</reuseForks>
-                               <forkCount>1</forkCount>
-                           </configuration>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-surefire-plugin</artifactId>
+                               <configuration>
+                                       <reuseForks>false</reuseForks>
+                                       <forkCount>1</forkCount>
+                                       <environmentVariables>
+                                               <AJSC_HOME>.</AJSC_HOME>
+                                       </environmentVariables>
+                               </configuration>
                        </plugin>
                </plugins>
-       </build>
 
-       <!-- Added to fix build warnings caused by parent pom and bom -->
+       </build>
 
        <profiles>
                <profile>
                                                                                </systemProperty>
                                                                        </systemProperties>
 
-                                                                       <!-- Command Line Arguments to add to the java command. Here, you 
-                                                                               can specify the port as well as the Context you want your service to run 
-                                                                               in. Use context=/ to run in an unnamed Context (Root Context). The default 
-                                                                               configuration of the AJSC is to run under the / Context. Setting the port 
-                                                                               here can aid during the development phase of your service. However, you can 
-                                                                               leave this argument out entirely, and the AJSC will default to using an Ephemeral 
-                                                                               port. -->
+                                    <!-- Command Line Arguments to add to the java command. Here, you 
+                                        can specify the port as well as the Context you want your service to run 
+                                        in. Use context=/ to run in an unnamed Context (Root Context). The default 
+                                        configuration of the AJSC is to run under the / Context. Setting the port 
+                                        here can aid during the development phase of your service. However, you can 
+                                        leave this argument out entirely, and the AJSC will default to using an Ephemeral 
+                                        port. -->
                                                                        <arguments>
                                                                                <argument>context=/</argument>
                                                                                <argument>port=${serverPort}</argument>