1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
7 <modelVersion>4.0.0</modelVersion>
8 <packaging>pom</packaging>
9 <groupId>org.onap.ccsdk.parent</groupId>
10 <artifactId>client-parent</artifactId>
11 <version>1.1.0-SNAPSHOT</version>
13 <name>ONAP :: ${project.groupId} :: ${project.artifactId}</name>
14 <url>http://wiki.onap.org</url>
15 <description>Root POM to be used for yang2swagger generation in CCSDK based projects</description>
20 <url>https://jira.onap.org/</url>
25 <!-- properties from oparent -->
26 <maven.compiler.source>1.8</maven.compiler.source>
27 <maven.compiler.target>1.8</maven.compiler.target>
28 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
29 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
30 <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
31 <!-- sitePath may be overridden in the inheriting POM if desired -->
32 <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
34 <!-- ONAP repositories -->
35 <onap.nexus.host>nexus.onap.org</onap.nexus.host>
36 <onap.nexus.port>443</onap.nexus.port>
37 <onap.nexus.protocol>https</onap.nexus.protocol>
38 <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url>
39 <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url>
40 <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url>
41 <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url>
42 <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
43 <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
46 <!-- OpenDaylight repositories -->
47 <opendaylight.nexus.public-url>https://nexus.opendaylight.org/content/repositories/public/</opendaylight.nexus.public-url>
48 <opendaylight.nexus.snapshot-url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</opendaylight.nexus.snapshot-url>
51 <java.version.source>1.8</java.version.source>
52 <java.version.target>1.8</java.version.target>
53 <maven.compiler.version>3.6.1</maven.compiler.version>
55 <checkstyle.skip>true</checkstyle.skip>
57 <org.json.version>20170516</org.json.version>
58 <jackson.version>2.8.5</jackson.version>
59 <!-- Need to stick to JUnit 4.11 until https://github.com/jayway/powermock/issues/560
60 is fixed (either in PowerMock or with a new JUnit release) -->
61 <!-- Used everywhere -->
62 <junit.version>4.11</junit.version>
63 <mockito.version>2.8.9</mockito.version>
64 <lombok.version>1.18.0</lombok.version>
65 <openpojo.version>0.8.10</openpojo.version>
66 <spring.version>4.3.7.RELEASE</spring.version>
67 <javax.validation.version>2.0.0.Final</javax.validation.version>
68 <swagger.version>1.5.16</swagger.version>
74 <groupId>org.mockito</groupId>
75 <artifactId>mockito-core</artifactId>
76 <version>${mockito.version}</version>
80 <groupId>org.projectlombok</groupId>
81 <artifactId>lombok</artifactId>
82 <version>${lombok.version}</version>
83 <scope>provided</scope>
86 <groupId>com.openpojo</groupId>
87 <artifactId>openpojo</artifactId>
88 <version>${openpojo.version}</version>
92 <groupId>junit</groupId>
93 <artifactId>junit</artifactId>
94 <version>${junit.version}</version>
98 <groupId>org.json</groupId>
99 <artifactId>json</artifactId>
100 <version>${org.json.version}</version>
103 <groupId>com.fasterxml.jackson.jaxrs</groupId>
104 <artifactId>jackson-jaxrs-base</artifactId>
105 <version>${jackson.version}</version>
108 <groupId>com.fasterxml.jackson.jaxrs</groupId>
109 <artifactId>jackson-jaxrs-json-provider</artifactId>
110 <version>${jackson.version}</version>
113 <groupId>com.fasterxml.jackson.datatype</groupId>
114 <artifactId>jackson-datatype-jsr310</artifactId>
115 <version>${jackson.version}</version>
118 <groupId>com.fasterxml.jackson.dataformat</groupId>
119 <artifactId>jackson-dataformat-xml</artifactId>
120 <version>${jackson.version}</version>
123 <groupId>com.fasterxml.jackson.core</groupId>
124 <artifactId>jackson-core</artifactId>
125 <version>${jackson.version}</version>
128 <groupId>com.fasterxml.jackson.core</groupId>
129 <artifactId>jackson-databind</artifactId>
130 <version>${jackson.version}</version>
133 <groupId>com.fasterxml.jackson.core</groupId>
134 <artifactId>jackson-annotations</artifactId>
135 <version>${jackson.version}</version>
138 <groupId>com.fasterxml.jackson.module</groupId>
139 <artifactId>jackson-module-jaxb-annotations</artifactId>
140 <version>${jackson.version}</version>
143 <groupId>org.springframework</groupId>
144 <artifactId>spring-web</artifactId>
145 <version>${spring.version}</version>
148 <groupId>io.swagger</groupId>
149 <artifactId>swagger-annotations</artifactId>
150 <version>${swagger.version}</version>
153 <groupId>javax.validation</groupId>
154 <artifactId>validation-api</artifactId>
155 <version>${javax.validation.version}</version>
158 <groupId>io.swagger</groupId>
159 <artifactId>swagger-jaxrs</artifactId>
160 <version>${swagger.version}</version>
163 <groupId>io.swagger</groupId>
164 <artifactId>swagger-models</artifactId>
165 <version>${swagger.version}</version>
172 <url>${onap.nexus.public-url}</url>
174 <enabled>true</enabled>
177 <enabled>true</enabled>
181 <id>onap-staging</id>
182 <url>${onap.nexus.staging-url}</url>
184 <enabled>true</enabled>
187 <enabled>true</enabled>
191 <id>onap-snapshot</id>
192 <url>${onap.nexus.snapshot-url}</url>
194 <enabled>false</enabled>
197 <enabled>true</enabled>
201 <id>opendaylight-mirror</id>
202 <name>opendaylight-mirror</name>
203 <url>${opendaylight.nexus.public-url}</url>
205 <enabled>true</enabled>
206 <updatePolicy>never</updatePolicy>
209 <enabled>false</enabled>
213 <id>opendaylight-snapshot</id>
214 <name>opendaylight-snapshot</name>
215 <url>${opendaylight.nexus.snapshot-url}</url>
217 <enabled>false</enabled>
220 <enabled>true</enabled>
223 <!-- Black Duck plugin dependencies -->
226 <name>JCenter Repository</name>
227 <url>http://jcenter.bintray.com</url>
232 <name>Restlet Repository</name>
233 <url>http://maven.restlet.com</url>
237 <id>onap-bintray</id>
238 <name>onap-bintray</name>
239 <url>https://nexus.onap.org/content/repositories/bintray/</url>
241 </pluginRepositories>
247 <url>https://nexus.onap.org/content/groups/public</url>
249 <enabled>true</enabled>
250 <updatePolicy>never</updatePolicy>
253 <enabled>true</enabled>
254 <updatePolicy>always</updatePolicy>
258 <id>onap-staging</id>
259 <url>https://nexus.onap.org/content/groups/staging</url>
261 <enabled>true</enabled>
262 <updatePolicy>never</updatePolicy>
265 <enabled>true</enabled>
266 <updatePolicy>always</updatePolicy>
270 <id>ecomp-release</id>
271 <name>onap-repository-releases</name>
272 <url>https://nexus.onap.org/content/repositories/releases</url>
274 <enabled>true</enabled>
275 <updatePolicy>never</updatePolicy>
278 <enabled>false</enabled>
282 <id>ecomp-snapshot</id>
283 <name>onap-repository-snapshots</name>
284 <url>https://nexus.onap.org/content/repositories/snapshots</url>
286 <enabled>false</enabled>
289 <enabled>true</enabled>
293 <id>opendaylight-mirror</id>
294 <name>opendaylight-mirror</name>
295 <url>https://nexus.opendaylight.org/content/repositories/public/</url>
297 <enabled>true</enabled>
298 <updatePolicy>never</updatePolicy>
301 <enabled>false</enabled>
305 <id>opendaylight-snapshot</id>
306 <name>opendaylight-snapshot</name>
307 <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
309 <enabled>false</enabled>
312 <enabled>true</enabled>
317 <enabled>false</enabled>
319 <id>onap-bintray</id>
320 <name>onap-bintray</name>
321 <url>https://nexus.onap.org/content/repositories/bintray/</url>
325 <distributionManagement>
327 <id>ecomp-releases</id>
328 <url>http://nexus.onap.org/content/repositories/releases</url>
331 <id>ecomp-snapshots</id>
332 <url>http://nexus.onap.org/content/repositories/snapshots</url>
333 </snapshotRepository>
334 </distributionManagement>
340 <groupId>org.apache.maven.plugins</groupId>
341 <artifactId>maven-compiler-plugin</artifactId>
342 <version>${maven.compiler.version}</version>
344 <source>${java.version.source}</source>
345 <target>${java.version.target}</target>
349 <groupId>org.apache.maven.plugins</groupId>
350 <artifactId>maven-source-plugin</artifactId>
351 <version>3.0.1</version>
354 <id>install-sources</id>
360 <id>deploy-sources</id>
361 <phase>deploy</phase>
369 <groupId>org.apache.maven.plugins</groupId>
370 <artifactId>maven-dependency-plugin</artifactId>
371 <version>2.10</version>
373 <outputDirectory>${project.build.directory}/dependency</outputDirectory>
374 <includes>**\/*.yang</includes>
378 <id>unpack-shared-resources</id>
380 <goal>unpack-dependencies</goal>
382 <phase>initialize</phase>
387 <artifactId>maven-antrun-plugin</artifactId>
388 <version>1.8</version>
391 <phase>initialize</phase>
399 <!-- flatten out structure -->
400 <move todir="${project.build.directory}/dependency" failonerror="false">
401 <fileset dir="${project.build.directory}/dependency" />
402 <mapper type="flatten"/>
404 <!-- move to yang folder -->
405 <copy todir="${project.build.directory}/yang" failonerror="false">
406 <fileset dir="${project.build.directory}/dependency" includes="**/*.yang"/>
407 <mapper type="flatten"/>
409 <!-- add in hard coded items from src/main/yang -->
410 <copy todir="${project.build.directory}/yang" failonerror="false">
411 <fileset dir="${project.basedir}/src/main/yang" includes="**/*.yang"/>
412 <mapper type="flatten"/>
418 <groupId>org.opendaylight.yangtools</groupId>
419 <artifactId>yang-maven-plugin</artifactId>
420 <version>1.0.3-Boron-SR3</version>
423 <groupId>com.mrv.yangtools</groupId>
424 <artifactId>swagger-maven-plugin</artifactId>
425 <version>1.1.9</version>
428 <groupId>com.github.romix</groupId>
429 <artifactId>java-concurrent-hash-trie-map</artifactId>
430 <version>0.2.23</version>
436 <goal>generate-sources</goal>
441 <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator</codeGeneratorClass>
442 <outputBaseDir>${project.build.directory}/generated-sources/swagger-maven-api-gen</outputBaseDir>
443 <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir>
444 <additionalConfiguration>
445 <api-version>${project.version}</api-version>
446 <base-module>client</base-module>
447 <swagger-format>yaml</swagger-format>
448 </additionalConfiguration>
451 <inspectDependencies>false</inspectDependencies>
452 <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir>
458 <groupId>io.swagger</groupId>
459 <artifactId>swagger-codegen-maven-plugin</artifactId>
460 <version>2.2.3</version>
463 <groupId>com.fasterxml.jackson.core</groupId>
464 <artifactId>jackson-core</artifactId>
465 <version>${jackson.version}</version>
468 <groupId>com.fasterxml.jackson.core</groupId>
469 <artifactId>jackson-databind</artifactId>
470 <version>${jackson.version}</version>
473 <groupId>com.fasterxml.jackson.core</groupId>
474 <artifactId>jackson-annotations</artifactId>
475 <version>${jackson.version}</version>
478 <groupId>com.fasterxml.jackson.module</groupId>
479 <artifactId>jackson-module-jaxb-annotations</artifactId>
480 <version>${jackson.version}</version>
483 <groupId>com.fasterxml.jackson.jaxrs</groupId>
484 <artifactId>jackson-jaxrs-base</artifactId>
485 <version>${jackson.version}</version>
488 <groupId>com.fasterxml.jackson.jaxrs</groupId>
489 <artifactId>jackson-jaxrs-json-provider</artifactId>
490 <version>${jackson.version}</version>
496 <goal>generate</goal>
499 <inputSpec>${project.build.directory}/generated-sources/swagger-maven-api-gen/client.yaml</inputSpec>
500 <language>spring</language>