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