Roll to initial Honolulu release version
[ccsdk/parent.git] / odlparent / client-parent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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">
3     <modelVersion>4.0.0</modelVersion>
4
5     <groupId>org.onap.ccsdk.parent</groupId>
6     <artifactId>client-parent</artifactId>
7     <version>2.1.0-SNAPSHOT</version>
8     <packaging>pom</packaging>
9
10     <name>ONAP :: ${project.groupId} :: ${project.artifactId}</name>
11     <description>Root POM to be used for yang2swagger generation in CCSDK based projects</description>
12     <url>http://wiki.onap.org</url>
13     <organization>
14         <name>ONAP</name>
15     </organization>
16
17     <issueManagement>
18         <system>JIRA</system>
19         <url>https://jira.onap.org/</url>
20     </issueManagement>
21     <distributionManagement>
22         <repository>
23             <id>ecomp-releases</id>
24             <url>https://nexus.onap.org/content/repositories/releases</url>
25         </repository>
26         <snapshotRepository>
27             <id>ecomp-snapshots</id>
28             <url>https://nexus.onap.org/content/repositories/snapshots</url>
29         </snapshotRepository>
30     </distributionManagement>
31
32     <properties>
33
34         <!-- properties from oparent -->
35         <maven.compiler.source>1.8</maven.compiler.source>
36         <maven.compiler.target>1.8</maven.compiler.target>
37         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
38         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
39         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
40         <!-- sitePath may be overridden in the inheriting POM if desired -->
41         <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
42
43         <!-- ONAP repositories -->
44         <onap.nexus.host>nexus.onap.org</onap.nexus.host>
45         <onap.nexus.port>443</onap.nexus.port>
46         <onap.nexus.protocol>https</onap.nexus.protocol>
47         <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url>
48         <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url>
49         <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url>
50         <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url>
51         <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
52         <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
53
54         <!-- OpenDaylight repositories -->
55         <opendaylight.nexus.public-url>https://nexus.opendaylight.org/content/repositories/public/</opendaylight.nexus.public-url>
56         <opendaylight.nexus.snapshot-url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</opendaylight.nexus.snapshot-url>
57
58         <java.version.source>1.8</java.version.source>
59         <java.version.target>1.8</java.version.target>
60         <maven.compiler.version>3.6.1</maven.compiler.version>
61
62         <checkstyle.skip>true</checkstyle.skip>
63
64         <org.json.version>20170516</org.json.version>
65         <jackson.version>2.11.0</jackson.version>
66         <!-- Need to stick to JUnit 4.11 until https://github.com/jayway/powermock/issues/560
67             is fixed (either in PowerMock or with a new JUnit release) -->
68         <!-- Used everywhere -->
69         <junit.version>4.11</junit.version>
70         <mockito.version>2.8.9</mockito.version>
71         <lombok.version>1.18.0</lombok.version>
72         <openpojo.version>0.8.10</openpojo.version>
73         <spring.version>4.3.7.RELEASE</spring.version>
74         <javax.validation.version>1.1.0.Final</javax.validation.version>
75         <swagger.version>1.5.21</swagger.version>
76         <yangtools.version>1.2.3</yangtools.version>
77         <yang2swagger.version>1.1.12</yang2swagger.version>
78
79         <!-- ONAP repositories -->
80         <onap.nexus.host>nexus.onap.org</onap.nexus.host>
81         <onap.nexus.port>443</onap.nexus.port>
82         <onap.nexus.protocol>https</onap.nexus.protocol>
83         <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url>
84         <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url>
85         <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url>
86         <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url>
87         <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
88         <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
89
90         <!-- Default api name for client -->
91         <api.name>client</api.name>
92
93     </properties>
94
95     <dependencies>
96         <dependency>
97             <groupId>org.mockito</groupId>
98             <artifactId>mockito-core</artifactId>
99             <version>${mockito.version}</version>
100             <scope>test</scope>
101         </dependency>
102         <dependency>
103             <groupId>org.projectlombok</groupId>
104             <artifactId>lombok</artifactId>
105             <version>${lombok.version}</version>
106             <scope>provided</scope>
107         </dependency>
108         <dependency>
109             <groupId>com.openpojo</groupId>
110             <artifactId>openpojo</artifactId>
111             <version>${openpojo.version}</version>
112             <scope>test</scope>
113         </dependency>
114         <dependency>
115             <groupId>junit</groupId>
116             <artifactId>junit</artifactId>
117             <version>${junit.version}</version>
118             <scope>test</scope>
119         </dependency>
120         <dependency>
121             <groupId>org.json</groupId>
122             <artifactId>json</artifactId>
123             <version>${org.json.version}</version>
124         </dependency>
125         <dependency>
126             <groupId>com.fasterxml.jackson.jaxrs</groupId>
127             <artifactId>jackson-jaxrs-base</artifactId>
128             <version>${jackson.version}</version>
129         </dependency>
130         <dependency>
131             <groupId>com.fasterxml.jackson.jaxrs</groupId>
132             <artifactId>jackson-jaxrs-json-provider</artifactId>
133             <version>${jackson.version}</version>
134         </dependency>
135         <dependency>
136             <groupId>com.fasterxml.jackson.datatype</groupId>
137             <artifactId>jackson-datatype-jsr310</artifactId>
138             <version>${jackson.version}</version>
139         </dependency>
140         <dependency>
141             <groupId>com.fasterxml.jackson.dataformat</groupId>
142             <artifactId>jackson-dataformat-xml</artifactId>
143             <version>${jackson.version}</version>
144         </dependency>
145         <dependency>
146             <groupId>com.fasterxml.jackson.core</groupId>
147             <artifactId>jackson-core</artifactId>
148             <version>${jackson.version}</version>
149         </dependency>
150         <dependency>
151             <groupId>com.fasterxml.jackson.core</groupId>
152             <artifactId>jackson-databind</artifactId>
153             <version>${jackson.version}</version>
154         </dependency>
155         <dependency>
156             <groupId>com.fasterxml.jackson.core</groupId>
157             <artifactId>jackson-annotations</artifactId>
158             <version>${jackson.version}</version>
159         </dependency>
160         <dependency>
161             <groupId>com.fasterxml.jackson.module</groupId>
162             <artifactId>jackson-module-jaxb-annotations</artifactId>
163             <version>${jackson.version}</version>
164         </dependency>
165         <dependency>
166             <groupId>org.springframework</groupId>
167             <artifactId>spring-web</artifactId>
168             <version>${spring.version}</version>
169         </dependency>
170         <dependency>
171             <groupId>io.swagger</groupId>
172             <artifactId>swagger-annotations</artifactId>
173             <version>${swagger.version}</version>
174         </dependency>
175         <dependency>
176             <groupId>javax.validation</groupId>
177             <artifactId>validation-api</artifactId>
178             <version>${javax.validation.version}</version>
179         </dependency>
180         <dependency>
181             <groupId>io.swagger</groupId>
182             <artifactId>swagger-jaxrs</artifactId>
183             <version>${swagger.version}</version>
184         </dependency>
185         <dependency>
186             <groupId>io.swagger</groupId>
187             <artifactId>swagger-models</artifactId>
188             <version>${swagger.version}</version>
189         </dependency>
190     </dependencies>
191
192     <repositories>
193         <repository>
194             <id>onap-public</id>
195             <url>https://nexus.onap.org/content/groups/public</url>
196             <releases>
197                 <enabled>true</enabled>
198                 <updatePolicy>never</updatePolicy>
199             </releases>
200             <snapshots>
201                 <enabled>true</enabled>
202                 <updatePolicy>always</updatePolicy>
203             </snapshots>
204         </repository>
205         <repository>
206             <id>onap-staging</id>
207             <url>https://nexus.onap.org/content/groups/staging</url>
208             <releases>
209                 <enabled>true</enabled>
210                 <updatePolicy>never</updatePolicy>
211             </releases>
212             <snapshots>
213                 <enabled>true</enabled>
214                 <updatePolicy>always</updatePolicy>
215             </snapshots>
216         </repository>
217         <repository>
218             <id>ecomp-release</id>
219             <name>onap-repository-releases</name>
220             <url>https://nexus.onap.org/content/repositories/releases</url>
221             <releases>
222                 <enabled>true</enabled>
223                 <updatePolicy>never</updatePolicy>
224             </releases>
225             <snapshots>
226                 <enabled>false</enabled>
227             </snapshots>
228         </repository>
229         <repository>
230             <id>ecomp-snapshot</id>
231             <name>onap-repository-snapshots</name>
232             <url>https://nexus.onap.org/content/repositories/snapshots</url>
233             <releases>
234                 <enabled>false</enabled>
235             </releases>
236             <snapshots>
237                 <enabled>true</enabled>
238             </snapshots>
239         </repository>
240         <repository>
241             <id>opendaylight-mirror</id>
242             <name>opendaylight-mirror</name>
243             <url>https://nexus.opendaylight.org/content/repositories/public/</url>
244             <releases>
245                 <enabled>true</enabled>
246                 <updatePolicy>never</updatePolicy>
247             </releases>
248             <snapshots>
249                 <enabled>false</enabled>
250             </snapshots>
251         </repository>
252         <repository>
253             <id>opendaylight-snapshot</id>
254             <name>opendaylight-snapshot</name>
255             <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
256             <releases>
257                 <enabled>false</enabled>
258             </releases>
259             <snapshots>
260                 <enabled>true</enabled>
261             </snapshots>
262         </repository>
263         <repository>
264             <snapshots>
265                 <enabled>false</enabled>
266             </snapshots>
267             <id>onap-bintray</id>
268             <name>onap-bintray</name>
269             <url>https://nexus.onap.org/content/repositories/bintray/</url>
270         </repository>
271     </repositories>
272     <pluginRepositories>
273         <pluginRepository>
274             <id>onap-public</id>
275             <url>${onap.nexus.public-url}</url>
276             <releases>
277                 <enabled>true</enabled>
278             </releases>
279             <snapshots>
280                 <enabled>true</enabled>
281             </snapshots>
282         </pluginRepository>
283         <pluginRepository>
284             <id>onap-staging</id>
285             <url>${onap.nexus.staging-url}</url>
286             <releases>
287                 <enabled>true</enabled>
288             </releases>
289             <snapshots>
290                 <enabled>true</enabled>
291             </snapshots>
292         </pluginRepository>
293         <pluginRepository>
294             <id>onap-snapshot</id>
295             <url>${onap.nexus.snapshot-url}</url>
296             <releases>
297                 <enabled>false</enabled>
298             </releases>
299             <snapshots>
300                 <enabled>true</enabled>
301             </snapshots>
302         </pluginRepository>
303         <pluginRepository>
304             <id>opendaylight-mirror</id>
305             <name>opendaylight-mirror</name>
306             <url>${opendaylight.nexus.public-url}</url>
307             <releases>
308                 <enabled>true</enabled>
309                 <updatePolicy>never</updatePolicy>
310             </releases>
311             <snapshots>
312                 <enabled>false</enabled>
313             </snapshots>
314         </pluginRepository>
315         <pluginRepository>
316             <id>opendaylight-snapshot</id>
317             <name>opendaylight-snapshot</name>
318             <url>${opendaylight.nexus.snapshot-url}</url>
319             <releases>
320                 <enabled>false</enabled>
321             </releases>
322             <snapshots>
323                 <enabled>true</enabled>
324             </snapshots>
325         </pluginRepository>
326         <!-- Black Duck plugin dependencies -->
327         <pluginRepository>
328             <id>JCenter</id>
329             <name>JCenter Repository</name>
330             <url>http://jcenter.bintray.com</url>
331         </pluginRepository>
332
333         <pluginRepository>
334             <id>Restlet</id>
335             <name>Restlet Repository</name>
336             <url>http://maven.restlet.com</url>
337         </pluginRepository>
338
339         <pluginRepository>
340             <id>onap-bintray</id>
341             <name>onap-bintray</name>
342             <url>https://nexus.onap.org/content/repositories/bintray/</url>
343         </pluginRepository>
344     </pluginRepositories>
345
346     <build>
347         <pluginManagement>
348             <plugins>
349                 <plugin>
350                     <groupId>org.apache.maven.plugins</groupId>
351                     <artifactId>maven-compiler-plugin</artifactId>
352                     <version>${maven.compiler.version}</version>
353                     <configuration>
354                         <source>${java.version.source}</source>
355                         <target>${java.version.target}</target>
356                     </configuration>
357                 </plugin>
358                 <plugin>
359                     <groupId>org.apache.maven.plugins</groupId>
360                     <artifactId>maven-source-plugin</artifactId>
361                     <version>3.0.1</version>
362                     <executions>
363                         <execution>
364                             <id>install-sources</id>
365                             <goals>
366                                 <goal>jar</goal>
367                             </goals>
368                         </execution>
369                         <execution>
370                             <id>deploy-sources</id>
371                             <phase>deploy</phase>
372                             <goals>
373                                 <goal>jar</goal>
374                             </goals>
375                         </execution>
376                     </executions>
377                 </plugin>
378                 <plugin>
379                     <groupId>org.apache.maven.plugins</groupId>
380                     <artifactId>maven-dependency-plugin</artifactId>
381                     <version>2.10</version>
382                     <configuration>
383                         <outputDirectory>${project.build.directory}/dependency</outputDirectory>
384                         <includes>**\/*.yang</includes>
385                     </configuration>
386                     <executions>
387                         <execution>
388                             <id>unpack-shared-resources</id>
389                             <goals>
390                                 <goal>unpack-dependencies</goal>
391                             </goals>
392                             <phase>initialize</phase>
393                         </execution>
394                     </executions>
395                 </plugin>
396                 <plugin>
397                     <artifactId>maven-antrun-plugin</artifactId>
398                     <version>1.8</version>
399                     <executions>
400                         <execution>
401                             <phase>initialize</phase>
402                             <goals>
403                                 <goal>run</goal>
404                             </goals>
405                         </execution>
406                     </executions>
407                     <configuration>
408                         <tasks>
409                             <!-- flatten out structure -->
410                             <move todir="${project.build.directory}/dependency" failonerror="false">
411                                 <fileset dir="${project.build.directory}/dependency"/>
412                                 <mapper type="flatten"/>
413                             </move>
414                             <!-- move to yang folder -->
415                             <copy todir="${project.build.directory}/yang" failonerror="false">
416                                 <fileset dir="${project.build.directory}/dependency" includes="**/*.yang"/>
417                                 <mapper type="flatten"/>
418                             </copy>
419                             <!-- add in hard coded items from src/main/yang -->
420                             <copy todir="${project.build.directory}/yang" failonerror="false">
421                                 <fileset dir="${project.basedir}/src/main/yang" includes="**/*.yang"/>
422                                 <mapper type="flatten"/>
423                             </copy>
424                         </tasks>
425                     </configuration>
426                 </plugin>
427                 <plugin>
428                     <groupId>org.opendaylight.yangtools</groupId>
429                     <artifactId>yang-maven-plugin</artifactId>
430                     <version>${yangtools.version}</version>
431                     <dependencies>
432                         <dependency>
433                             <groupId>com.mrv.yangtools</groupId>
434                             <artifactId>swagger-maven-plugin</artifactId>
435                             <version>${yang2swagger.version}</version>
436                         </dependency>
437                         <dependency>
438                             <groupId>com.fasterxml.jackson.core</groupId>
439                             <artifactId>jackson-core</artifactId>
440                             <version>${jackson.version}</version>
441                         </dependency>
442                     </dependencies>
443                     <executions>
444                         <execution>
445                             <id>binding</id>
446                             <goals>
447                                 <goal>generate-sources</goal>
448                             </goals>
449                             <configuration>
450                                 <codeGenerators>
451                                     <generator>
452                                         <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator</codeGeneratorClass>
453                                         <outputBaseDir>${project.build.directory}/generated-sources/swagger-maven-api-gen</outputBaseDir>
454                                         <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir>
455                                         <additionalConfiguration>
456                                             <api-version>${project.version}</api-version>
457                                             <base-module>${api.name}</base-module>
458                                             <swagger-format>yaml</swagger-format>
459                                             <path-format>odl</path-format>
460                                         </additionalConfiguration>
461                                     </generator>
462                                 </codeGenerators>
463                                 <inspectDependencies>false</inspectDependencies>
464                                 <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir>
465                             </configuration>
466                         </execution>
467                     </executions>
468                 </plugin>
469                 <plugin>
470                     <groupId>io.swagger</groupId>
471                     <artifactId>swagger-codegen-maven-plugin</artifactId>
472                     <version>2.2.3</version>
473                     <dependencies>
474                         <dependency>
475                             <groupId>com.fasterxml.jackson.core</groupId>
476                             <artifactId>jackson-core</artifactId>
477                             <version>${jackson.version}</version>
478                         </dependency>
479                         <dependency>
480                             <groupId>com.fasterxml.jackson.core</groupId>
481                             <artifactId>jackson-databind</artifactId>
482                             <version>${jackson.version}</version>
483                         </dependency>
484                         <dependency>
485                             <groupId>com.fasterxml.jackson.core</groupId>
486                             <artifactId>jackson-annotations</artifactId>
487                             <version>${jackson.version}</version>
488                         </dependency>
489                         <dependency>
490                             <groupId>com.fasterxml.jackson.module</groupId>
491                             <artifactId>jackson-module-jaxb-annotations</artifactId>
492                             <version>${jackson.version}</version>
493                         </dependency>
494                         <dependency>
495                             <groupId>com.fasterxml.jackson.jaxrs</groupId>
496                             <artifactId>jackson-jaxrs-base</artifactId>
497                             <version>${jackson.version}</version>
498                         </dependency>
499                         <dependency>
500                             <groupId>com.fasterxml.jackson.jaxrs</groupId>
501                             <artifactId>jackson-jaxrs-json-provider</artifactId>
502                             <version>${jackson.version}</version>
503                         </dependency>
504                     </dependencies>
505                     <executions>
506                         <execution>
507                             <goals>
508                                 <goal>generate</goal>
509                             </goals>
510                             <configuration>
511                                 <inputSpec>${project.build.directory}/generated-sources/swagger-maven-api-gen/${api.name}.yaml</inputSpec>
512                                 <language>spring</language>
513                             </configuration>
514                         </execution>
515                     </executions>
516                 </plugin>
517
518             </plugins>
519
520         </pluginManagement>
521         <plugins>
522             <plugin>
523                 <groupId>org.codehaus.mojo</groupId>
524                 <artifactId>versions-maven-plugin</artifactId>
525                 <version>2.5</version>
526                 <configuration>
527                     <processAllModules>true</processAllModules>
528                 </configuration>
529             </plugin>
530             <plugin>
531                 <artifactId>maven-scm-plugin</artifactId>
532                 <version>1.8.1</version>
533                 <configuration>
534                     <tag>${project.artifactId}-${project.version}</tag>
535                 </configuration>
536             </plugin>
537         </plugins>
538     </build>
539 </project>