Roll version of parent to 1.5.1-SNAPSHOT
[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>1.5.1-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.8.9</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>2.0.0.Final</javax.validation.version>
75         <swagger.version>1.5.16</swagger.version>
76
77         <!-- ONAP repositories -->
78         <onap.nexus.host>nexus.onap.org</onap.nexus.host>
79         <onap.nexus.port>443</onap.nexus.port>
80         <onap.nexus.protocol>https</onap.nexus.protocol>
81         <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url>
82         <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url>
83         <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url>
84         <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url>
85         <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
86         <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
87
88     </properties>
89
90     <dependencies>
91         <dependency>
92             <groupId>org.mockito</groupId>
93             <artifactId>mockito-core</artifactId>
94             <version>${mockito.version}</version>
95             <scope>test</scope>
96         </dependency>
97         <dependency>
98             <groupId>org.projectlombok</groupId>
99             <artifactId>lombok</artifactId>
100             <version>${lombok.version}</version>
101             <scope>provided</scope>
102         </dependency>
103         <dependency>
104             <groupId>com.openpojo</groupId>
105             <artifactId>openpojo</artifactId>
106             <version>${openpojo.version}</version>
107             <scope>test</scope>
108         </dependency>
109         <dependency>
110             <groupId>junit</groupId>
111             <artifactId>junit</artifactId>
112             <version>${junit.version}</version>
113             <scope>test</scope>
114         </dependency>
115         <dependency>
116             <groupId>org.json</groupId>
117             <artifactId>json</artifactId>
118             <version>${org.json.version}</version>
119         </dependency>
120         <dependency>
121             <groupId>com.fasterxml.jackson.jaxrs</groupId>
122             <artifactId>jackson-jaxrs-base</artifactId>
123             <version>${jackson.version}</version>
124         </dependency>
125         <dependency>
126             <groupId>com.fasterxml.jackson.jaxrs</groupId>
127             <artifactId>jackson-jaxrs-json-provider</artifactId>
128             <version>${jackson.version}</version>
129         </dependency>
130         <dependency>
131             <groupId>com.fasterxml.jackson.datatype</groupId>
132             <artifactId>jackson-datatype-jsr310</artifactId>
133             <version>${jackson.version}</version>
134         </dependency>
135         <dependency>
136             <groupId>com.fasterxml.jackson.dataformat</groupId>
137             <artifactId>jackson-dataformat-xml</artifactId>
138             <version>${jackson.version}</version>
139         </dependency>
140         <dependency>
141             <groupId>com.fasterxml.jackson.core</groupId>
142             <artifactId>jackson-core</artifactId>
143             <version>${jackson.version}</version>
144         </dependency>
145         <dependency>
146             <groupId>com.fasterxml.jackson.core</groupId>
147             <artifactId>jackson-databind</artifactId>
148             <version>${jackson.version}</version>
149         </dependency>
150         <dependency>
151             <groupId>com.fasterxml.jackson.core</groupId>
152             <artifactId>jackson-annotations</artifactId>
153             <version>${jackson.version}</version>
154         </dependency>
155         <dependency>
156             <groupId>com.fasterxml.jackson.module</groupId>
157             <artifactId>jackson-module-jaxb-annotations</artifactId>
158             <version>${jackson.version}</version>
159         </dependency>
160         <dependency>
161             <groupId>org.springframework</groupId>
162             <artifactId>spring-web</artifactId>
163             <version>${spring.version}</version>
164         </dependency>
165         <dependency>
166             <groupId>io.swagger</groupId>
167             <artifactId>swagger-annotations</artifactId>
168             <version>${swagger.version}</version>
169         </dependency>
170         <dependency>
171             <groupId>javax.validation</groupId>
172             <artifactId>validation-api</artifactId>
173             <version>${javax.validation.version}</version>
174         </dependency>
175         <dependency>
176             <groupId>io.swagger</groupId>
177             <artifactId>swagger-jaxrs</artifactId>
178             <version>${swagger.version}</version>
179         </dependency>
180         <dependency>
181             <groupId>io.swagger</groupId>
182             <artifactId>swagger-models</artifactId>
183             <version>${swagger.version}</version>
184         </dependency>
185     </dependencies>
186
187     <repositories>
188         <repository>
189             <id>onap-public</id>
190             <url>https://nexus.onap.org/content/groups/public</url>
191             <releases>
192                 <enabled>true</enabled>
193                 <updatePolicy>never</updatePolicy>
194             </releases>
195             <snapshots>
196                 <enabled>true</enabled>
197                 <updatePolicy>always</updatePolicy>
198             </snapshots>
199         </repository>
200         <repository>
201             <id>onap-staging</id>
202             <url>https://nexus.onap.org/content/groups/staging</url>
203             <releases>
204                 <enabled>true</enabled>
205                 <updatePolicy>never</updatePolicy>
206             </releases>
207             <snapshots>
208                 <enabled>true</enabled>
209                 <updatePolicy>always</updatePolicy>
210             </snapshots>
211         </repository>
212         <repository>
213             <id>ecomp-release</id>
214             <name>onap-repository-releases</name>
215             <url>https://nexus.onap.org/content/repositories/releases</url>
216             <releases>
217                 <enabled>true</enabled>
218                 <updatePolicy>never</updatePolicy>
219             </releases>
220             <snapshots>
221                 <enabled>false</enabled>
222             </snapshots>
223         </repository>
224         <repository>
225             <id>ecomp-snapshot</id>
226             <name>onap-repository-snapshots</name>
227             <url>https://nexus.onap.org/content/repositories/snapshots</url>
228             <releases>
229                 <enabled>false</enabled>
230             </releases>
231             <snapshots>
232                 <enabled>true</enabled>
233             </snapshots>
234         </repository>
235         <repository>
236             <id>opendaylight-mirror</id>
237             <name>opendaylight-mirror</name>
238             <url>https://nexus.opendaylight.org/content/repositories/public/</url>
239             <releases>
240                 <enabled>true</enabled>
241                 <updatePolicy>never</updatePolicy>
242             </releases>
243             <snapshots>
244                 <enabled>false</enabled>
245             </snapshots>
246         </repository>
247         <repository>
248             <id>opendaylight-snapshot</id>
249             <name>opendaylight-snapshot</name>
250             <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
251             <releases>
252                 <enabled>false</enabled>
253             </releases>
254             <snapshots>
255                 <enabled>true</enabled>
256             </snapshots>
257         </repository>
258         <repository>
259             <snapshots>
260                 <enabled>false</enabled>
261             </snapshots>
262             <id>onap-bintray</id>
263             <name>onap-bintray</name>
264             <url>https://nexus.onap.org/content/repositories/bintray/</url>
265         </repository>
266     </repositories>
267     <pluginRepositories>
268         <pluginRepository>
269             <id>onap-public</id>
270             <url>${onap.nexus.public-url}</url>
271             <releases>
272                 <enabled>true</enabled>
273             </releases>
274             <snapshots>
275                 <enabled>true</enabled>
276             </snapshots>
277         </pluginRepository>
278         <pluginRepository>
279             <id>onap-staging</id>
280             <url>${onap.nexus.staging-url}</url>
281             <releases>
282                 <enabled>true</enabled>
283             </releases>
284             <snapshots>
285                 <enabled>true</enabled>
286             </snapshots>
287         </pluginRepository>
288         <pluginRepository>
289             <id>onap-snapshot</id>
290             <url>${onap.nexus.snapshot-url}</url>
291             <releases>
292                 <enabled>false</enabled>
293             </releases>
294             <snapshots>
295                 <enabled>true</enabled>
296             </snapshots>
297         </pluginRepository>
298         <pluginRepository>
299             <id>opendaylight-mirror</id>
300             <name>opendaylight-mirror</name>
301             <url>${opendaylight.nexus.public-url}</url>
302             <releases>
303                 <enabled>true</enabled>
304                 <updatePolicy>never</updatePolicy>
305             </releases>
306             <snapshots>
307                 <enabled>false</enabled>
308             </snapshots>
309         </pluginRepository>
310         <pluginRepository>
311             <id>opendaylight-snapshot</id>
312             <name>opendaylight-snapshot</name>
313             <url>${opendaylight.nexus.snapshot-url}</url>
314             <releases>
315                 <enabled>false</enabled>
316             </releases>
317             <snapshots>
318                 <enabled>true</enabled>
319             </snapshots>
320         </pluginRepository>
321         <!-- Black Duck plugin dependencies -->
322         <pluginRepository>
323             <id>JCenter</id>
324             <name>JCenter Repository</name>
325             <url>http://jcenter.bintray.com</url>
326         </pluginRepository>
327
328         <pluginRepository>
329             <id>Restlet</id>
330             <name>Restlet Repository</name>
331             <url>http://maven.restlet.com</url>
332         </pluginRepository>
333
334         <pluginRepository>
335             <id>onap-bintray</id>
336             <name>onap-bintray</name>
337             <url>https://nexus.onap.org/content/repositories/bintray/</url>
338         </pluginRepository>
339     </pluginRepositories>
340
341     <build>
342         <pluginManagement>
343             <plugins>
344                 <plugin>
345                     <groupId>org.apache.maven.plugins</groupId>
346                     <artifactId>maven-compiler-plugin</artifactId>
347                     <version>${maven.compiler.version}</version>
348                     <configuration>
349                         <source>${java.version.source}</source>
350                         <target>${java.version.target}</target>
351                     </configuration>
352                 </plugin>
353                 <plugin>
354                     <groupId>org.apache.maven.plugins</groupId>
355                     <artifactId>maven-source-plugin</artifactId>
356                     <version>3.0.1</version>
357                     <executions>
358                         <execution>
359                             <id>install-sources</id>
360                             <goals>
361                                 <goal>jar</goal>
362                             </goals>
363                         </execution>
364                         <execution>
365                             <id>deploy-sources</id>
366                             <phase>deploy</phase>
367                             <goals>
368                                 <goal>jar</goal>
369                             </goals>
370                         </execution>
371                     </executions>
372                 </plugin>
373                 <plugin>
374                     <groupId>org.apache.maven.plugins</groupId>
375                     <artifactId>maven-dependency-plugin</artifactId>
376                     <version>2.10</version>
377                     <configuration>
378                         <outputDirectory>${project.build.directory}/dependency</outputDirectory>
379                         <includes>**\/*.yang</includes>
380                     </configuration>
381                     <executions>
382                         <execution>
383                             <id>unpack-shared-resources</id>
384                             <goals>
385                                 <goal>unpack-dependencies</goal>
386                             </goals>
387                             <phase>initialize</phase>
388                         </execution>
389                     </executions>
390                 </plugin>
391                 <plugin>
392                     <artifactId>maven-antrun-plugin</artifactId>
393                     <version>1.8</version>
394                     <executions>
395                         <execution>
396                             <phase>initialize</phase>
397                             <goals>
398                                 <goal>run</goal>
399                             </goals>
400                         </execution>
401                     </executions>
402                     <configuration>
403                         <tasks>
404                             <!-- flatten out structure -->
405                             <move todir="${project.build.directory}/dependency" failonerror="false">
406                                 <fileset dir="${project.build.directory}/dependency"/>
407                                 <mapper type="flatten"/>
408                             </move>
409                             <!-- move to yang folder -->
410                             <copy todir="${project.build.directory}/yang" failonerror="false">
411                                 <fileset dir="${project.build.directory}/dependency" includes="**/*.yang"/>
412                                 <mapper type="flatten"/>
413                             </copy>
414                             <!-- add in hard coded items from src/main/yang -->
415                             <copy todir="${project.build.directory}/yang" failonerror="false">
416                                 <fileset dir="${project.basedir}/src/main/yang" includes="**/*.yang"/>
417                                 <mapper type="flatten"/>
418                             </copy>
419                         </tasks>
420                     </configuration>
421                 </plugin>
422                 <plugin>
423                     <groupId>org.opendaylight.yangtools</groupId>
424                     <artifactId>yang-maven-plugin</artifactId>
425                     <version>1.2.3</version>
426                     <dependencies>
427                         <dependency>
428                             <groupId>com.mrv.yangtools</groupId>
429                             <artifactId>swagger-maven-plugin</artifactId>
430                             <version>1.1.9</version>
431                         </dependency>
432                         <dependency>
433                             <groupId>com.github.romix</groupId>
434                             <artifactId>java-concurrent-hash-trie-map</artifactId>
435                             <version>0.2.23</version>
436                         </dependency>
437                     </dependencies>
438                     <executions>
439                         <execution>
440                             <goals>
441                                 <goal>generate-sources</goal>
442                             </goals>
443                             <configuration>
444                                 <codeGenerators>
445                                     <generator>
446                                         <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator</codeGeneratorClass>
447                                         <outputBaseDir>${project.build.directory}/generated-sources/swagger-maven-api-gen</outputBaseDir>
448                                         <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir>
449                                         <additionalConfiguration>
450                                             <api-version>${project.version}</api-version>
451                                             <base-module>client</base-module>
452                                             <swagger-format>yaml</swagger-format>
453                                         </additionalConfiguration>
454                                     </generator>
455                                 </codeGenerators>
456                                 <inspectDependencies>false</inspectDependencies>
457                                 <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir>
458                             </configuration>
459                         </execution>
460                     </executions>
461                 </plugin>
462                 <plugin>
463                     <groupId>io.swagger</groupId>
464                     <artifactId>swagger-codegen-maven-plugin</artifactId>
465                     <version>2.2.3</version>
466                     <dependencies>
467                         <dependency>
468                             <groupId>com.fasterxml.jackson.core</groupId>
469                             <artifactId>jackson-core</artifactId>
470                             <version>${jackson.version}</version>
471                         </dependency>
472                         <dependency>
473                             <groupId>com.fasterxml.jackson.core</groupId>
474                             <artifactId>jackson-databind</artifactId>
475                             <version>${jackson.version}</version>
476                         </dependency>
477                         <dependency>
478                             <groupId>com.fasterxml.jackson.core</groupId>
479                             <artifactId>jackson-annotations</artifactId>
480                             <version>${jackson.version}</version>
481                         </dependency>
482                         <dependency>
483                             <groupId>com.fasterxml.jackson.module</groupId>
484                             <artifactId>jackson-module-jaxb-annotations</artifactId>
485                             <version>${jackson.version}</version>
486                         </dependency>
487                         <dependency>
488                             <groupId>com.fasterxml.jackson.jaxrs</groupId>
489                             <artifactId>jackson-jaxrs-base</artifactId>
490                             <version>${jackson.version}</version>
491                         </dependency>
492                         <dependency>
493                             <groupId>com.fasterxml.jackson.jaxrs</groupId>
494                             <artifactId>jackson-jaxrs-json-provider</artifactId>
495                             <version>${jackson.version}</version>
496                         </dependency>
497                     </dependencies>
498                     <executions>
499                         <execution>
500                             <goals>
501                                 <goal>generate</goal>
502                             </goals>
503                             <configuration>
504                                 <inputSpec>${project.build.directory}/generated-sources/swagger-maven-api-gen/client.yaml</inputSpec>
505                                 <language>spring</language>
506                             </configuration>
507                         </execution>
508                     </executions>
509                 </plugin>
510
511             </plugins>
512
513         </pluginManagement>
514         <plugins>
515             <plugin>
516                 <groupId>org.codehaus.mojo</groupId>
517                 <artifactId>versions-maven-plugin</artifactId>
518                 <version>2.5</version>
519                 <configuration>
520                     <processAllModules>true</processAllModules>
521                 </configuration>
522             </plugin>
523             <plugin>
524                 <artifactId>maven-scm-plugin</artifactId>
525                 <version>1.8.1</version>
526                 <configuration>
527                     <tag>${project.artifactId}-${project.version}</tag>
528                 </configuration>
529             </plugin>
530         </plugins>
531     </build>
532 </project>