| <?xml version="1.0" encoding="UTF-8"?> |
| <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.ccsdk.parent</groupId> |
| <artifactId>client-parent</artifactId> |
| <version>2.4.4-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <name>ONAP :: ${project.groupId} :: ${project.artifactId}</name> |
| <description>Root POM to be used for yang2swagger generation in CCSDK based projects</description> |
| <url>http://wiki.onap.org</url> |
| <organization> |
| <name>ONAP</name> |
| </organization> |
| |
| <issueManagement> |
| <system>JIRA</system> |
| <url>https://jira.onap.org/</url> |
| </issueManagement> |
| <distributionManagement> |
| <repository> |
| <id>ecomp-releases</id> |
| <url>https://nexus.onap.org/content/repositories/releases</url> |
| </repository> |
| <snapshotRepository> |
| <id>ecomp-snapshots</id> |
| <url>https://nexus.onap.org/content/repositories/snapshots</url> |
| </snapshotRepository> |
| </distributionManagement> |
| |
| <properties> |
| |
| <!-- properties from oparent --> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| <onap.nexus.url>https://nexus.onap.org</onap.nexus.url> |
| <!-- sitePath may be overridden in the inheriting POM if desired --> |
| <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath> |
| |
| <!-- ONAP repositories --> |
| <onap.nexus.host>nexus.onap.org</onap.nexus.host> |
| <onap.nexus.port>443</onap.nexus.port> |
| <onap.nexus.protocol>https</onap.nexus.protocol> |
| <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url> |
| <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url> |
| <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url> |
| <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url> |
| <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id> |
| <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id> |
| |
| <!-- OpenDaylight repositories --> |
| <opendaylight.nexus.public-url>https://nexus.opendaylight.org/content/repositories/public/</opendaylight.nexus.public-url> |
| <opendaylight.nexus.snapshot-url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</opendaylight.nexus.snapshot-url> |
| |
| <java.version>11</java.version> |
| <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version> |
| <maven-failsafe-plugin.version>3.0.0-M5</maven-failsafe-plugin.version> |
| <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version> |
| |
| <checkstyle.skip>true</checkstyle.skip> |
| |
| <org.json.version>20170516</org.json.version> |
| <jackson.version>2.11.0</jackson.version> |
| <!-- Need to stick to JUnit 4.11 until https://github.com/jayway/powermock/issues/560 |
| is fixed (either in PowerMock or with a new JUnit release) --> |
| <!-- Used everywhere --> |
| <junit.version>4.13</junit.version> |
| <mockito.version>2.8.9</mockito.version> |
| <lombok.version>1.18.0</lombok.version> |
| <openpojo.version>0.8.10</openpojo.version> |
| <spring.version>4.3.7.RELEASE</spring.version> |
| <javax.validation.version>1.1.0.Final</javax.validation.version> |
| <swagger.version>1.5.21</swagger.version> |
| <yangtools.version>1.2.3</yangtools.version> |
| <yang2swagger.version>1.1.12</yang2swagger.version> |
| |
| <!-- ONAP repositories --> |
| <onap.nexus.host>nexus.onap.org</onap.nexus.host> |
| <onap.nexus.port>443</onap.nexus.port> |
| <onap.nexus.protocol>https</onap.nexus.protocol> |
| <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url> |
| <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url> |
| <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url> |
| <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url> |
| <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id> |
| <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id> |
| |
| <!-- Default api name for client --> |
| <api.name>client</api.name> |
| |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>${mockito.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <version>${lombok.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.openpojo</groupId> |
| <artifactId>openpojo</artifactId> |
| <version>${openpojo.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.json</groupId> |
| <artifactId>json</artifactId> |
| <version>${org.json.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.jaxrs</groupId> |
| <artifactId>jackson-jaxrs-base</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.jaxrs</groupId> |
| <artifactId>jackson-jaxrs-json-provider</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.datatype</groupId> |
| <artifactId>jackson-datatype-jsr310</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.dataformat</groupId> |
| <artifactId>jackson-dataformat-xml</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.module</groupId> |
| <artifactId>jackson-module-jaxb-annotations</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-web</artifactId> |
| <version>${spring.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.swagger</groupId> |
| <artifactId>swagger-annotations</artifactId> |
| <version>${swagger.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.validation</groupId> |
| <artifactId>validation-api</artifactId> |
| <version>${javax.validation.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.swagger</groupId> |
| <artifactId>swagger-jaxrs</artifactId> |
| <version>${swagger.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.swagger</groupId> |
| <artifactId>swagger-models</artifactId> |
| <version>${swagger.version}</version> |
| </dependency> |
| </dependencies> |
| |
| <repositories> |
| <repository> |
| <id>onap-public</id> |
| <url>https://nexus.onap.org/content/groups/public</url> |
| <releases> |
| <enabled>true</enabled> |
| <updatePolicy>never</updatePolicy> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| <updatePolicy>always</updatePolicy> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>onap-staging</id> |
| <url>https://nexus.onap.org/content/groups/staging</url> |
| <releases> |
| <enabled>true</enabled> |
| <updatePolicy>never</updatePolicy> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| <updatePolicy>always</updatePolicy> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>ecomp-release</id> |
| <name>onap-repository-releases</name> |
| <url>https://nexus.onap.org/content/repositories/releases</url> |
| <releases> |
| <enabled>true</enabled> |
| <updatePolicy>never</updatePolicy> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>ecomp-snapshot</id> |
| <name>onap-repository-snapshots</name> |
| <url>https://nexus.onap.org/content/repositories/snapshots</url> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>opendaylight-mirror</id> |
| <name>opendaylight-mirror</name> |
| <url>https://nexus.opendaylight.org/content/repositories/public/</url> |
| <releases> |
| <enabled>true</enabled> |
| <updatePolicy>never</updatePolicy> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>opendaylight-snapshot</id> |
| <name>opendaylight-snapshot</name> |
| <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </repository> |
| <repository> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| <id>onap-bintray</id> |
| <name>onap-bintray</name> |
| <url>https://nexus.onap.org/content/repositories/bintray/</url> |
| </repository> |
| </repositories> |
| <pluginRepositories> |
| <pluginRepository> |
| <id>onap-public</id> |
| <url>${onap.nexus.public-url}</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </pluginRepository> |
| <pluginRepository> |
| <id>onap-staging</id> |
| <url>${onap.nexus.staging-url}</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </pluginRepository> |
| <pluginRepository> |
| <id>onap-snapshot</id> |
| <url>${onap.nexus.snapshot-url}</url> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </pluginRepository> |
| <pluginRepository> |
| <id>opendaylight-mirror</id> |
| <name>opendaylight-mirror</name> |
| <url>${opendaylight.nexus.public-url}</url> |
| <releases> |
| <enabled>true</enabled> |
| <updatePolicy>never</updatePolicy> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </pluginRepository> |
| <pluginRepository> |
| <id>opendaylight-snapshot</id> |
| <name>opendaylight-snapshot</name> |
| <url>${opendaylight.nexus.snapshot-url}</url> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </pluginRepository> |
| <!-- Black Duck plugin dependencies --> |
| <pluginRepository> |
| <id>JCenter</id> |
| <name>JCenter Repository</name> |
| <url>http://jcenter.bintray.com</url> |
| </pluginRepository> |
| |
| <pluginRepository> |
| <id>Restlet</id> |
| <name>Restlet Repository</name> |
| <url>http://maven.restlet.com</url> |
| </pluginRepository> |
| |
| <pluginRepository> |
| <id>onap-bintray</id> |
| <name>onap-bintray</name> |
| <url>https://nexus.onap.org/content/repositories/bintray/</url> |
| </pluginRepository> |
| </pluginRepositories> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <!-- This version supports the "deployAtEnd" parameter --> |
| <version>2.8</version> |
| <configuration> |
| <skip/> |
| <deployAtEnd>true</deployAtEnd> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| <configuration> |
| <release>${java.version}</release> |
| <!--explicitly remove source and target--> |
| <source combine.self="override"/> |
| <target combine.self="override"/> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${maven-surefire-plugin.version}</version> |
| <configuration> |
| <!-- Sets the VM argument line used when unit tests are run. --> |
| <argLine>${surefireArgLine}</argLine> |
| <!-- Excludes integration tests when unit tests are run. --> |
| <excludes> |
| <exclude>**/IT*.java</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>${maven-failsafe-plugin.version}</version> |
| <executions> |
| <!-- Ensures that both integration-test and verify goals of the Failsafe Maven plugin are executed. --> |
| <execution> |
| <id>integration-tests</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <configuration> |
| <!-- Sets the VM argument line used when integration tests are run. --> |
| <argLine>${failsafeArgLine}</argLine> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>3.0.1</version> |
| <executions> |
| <execution> |
| <id>install-sources</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>deploy-sources</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>2.10</version> |
| <configuration> |
| <outputDirectory>${project.build.directory}/dependency</outputDirectory> |
| <includes>**\/*.yang</includes> |
| </configuration> |
| <executions> |
| <execution> |
| <id>unpack-shared-resources</id> |
| <goals> |
| <goal>unpack-dependencies</goal> |
| </goals> |
| <phase>initialize</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <version>1.8</version> |
| <executions> |
| <execution> |
| <phase>initialize</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <tasks> |
| <!-- flatten out structure --> |
| <move todir="${project.build.directory}/dependency" failonerror="false"> |
| <fileset dir="${project.build.directory}/dependency"/> |
| <mapper type="flatten"/> |
| </move> |
| <!-- move to yang folder --> |
| <copy todir="${project.build.directory}/yang" failonerror="false"> |
| <fileset dir="${project.build.directory}/dependency" includes="**/*.yang"/> |
| <mapper type="flatten"/> |
| </copy> |
| <!-- add in hard coded items from src/main/yang --> |
| <copy todir="${project.build.directory}/yang" failonerror="false"> |
| <fileset dir="${project.basedir}/src/main/yang" includes="**/*.yang"/> |
| <mapper type="flatten"/> |
| </copy> |
| </tasks> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.opendaylight.yangtools</groupId> |
| <artifactId>yang-maven-plugin</artifactId> |
| <version>${yangtools.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.mrv.yangtools</groupId> |
| <artifactId>swagger-maven-plugin</artifactId> |
| <version>${yang2swagger.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>binding</id> |
| <goals> |
| <goal>generate-sources</goal> |
| </goals> |
| <configuration> |
| <codeGenerators> |
| <generator> |
| <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator</codeGeneratorClass> |
| <outputBaseDir>${project.build.directory}/generated-sources/swagger-maven-api-gen</outputBaseDir> |
| <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir> |
| <additionalConfiguration> |
| <api-version>${project.version}</api-version> |
| <base-module>${api.name}</base-module> |
| <swagger-format>yaml</swagger-format> |
| <path-format>odl</path-format> |
| </additionalConfiguration> |
| </generator> |
| </codeGenerators> |
| <inspectDependencies>false</inspectDependencies> |
| <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>io.swagger</groupId> |
| <artifactId>swagger-codegen-maven-plugin</artifactId> |
| <version>2.2.3</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.module</groupId> |
| <artifactId>jackson-module-jaxb-annotations</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.jaxrs</groupId> |
| <artifactId>jackson-jaxrs-base</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.jaxrs</groupId> |
| <artifactId>jackson-jaxrs-json-provider</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <configuration> |
| <inputSpec>${project.build.directory}/generated-sources/swagger-maven-api-gen/${api.name}.yaml</inputSpec> |
| <language>spring</language> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>versions-maven-plugin</artifactId> |
| <version>2.5</version> |
| <configuration> |
| <processAllModules>true</processAllModules> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-scm-plugin</artifactId> |
| <version>1.8.1</version> |
| <configuration> |
| <tag>${project.artifactId}-${project.version}</tag> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |