d5c899d837b6a86daa9bc245815759e6c04a9544
[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.2-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
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>1.2.3</version>
431                                         <dependencies>
432                                                 <dependency>
433                                                         <groupId>com.mrv.yangtools</groupId>
434                                                         <artifactId>swagger-maven-plugin</artifactId>
435                                                         <version>1.1.9</version>
436                                                 </dependency>
437                                                 <dependency>
438                                                         <groupId>com.github.romix</groupId>
439                                                         <artifactId>java-concurrent-hash-trie-map</artifactId>
440                                                         <version>0.2.23</version>
441                                                 </dependency>
442                                         </dependencies>
443                                         <executions>
444                                                 <execution>
445                                                         <goals>
446                                                                 <goal>generate-sources</goal>
447                                                         </goals>
448                                                         <configuration>
449                                                                 <codeGenerators>
450                                                                         <generator>
451                                                                                 <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator</codeGeneratorClass>
452                                                                                 <outputBaseDir>${project.build.directory}/generated-sources/swagger-maven-api-gen</outputBaseDir>
453                                                                                 <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir>
454                                                                                 <additionalConfiguration>
455                                                                                         <api-version>${project.version}</api-version>
456                                                                                         <base-module>client</base-module>
457                                                                                         <swagger-format>yaml</swagger-format>
458                                                                                 </additionalConfiguration>
459                                                                         </generator>
460                                                                 </codeGenerators>
461                                                                 <inspectDependencies>false</inspectDependencies>
462                                                                 <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir>
463                                                         </configuration>
464                                                 </execution>
465                                         </executions>
466                                 </plugin>
467                                 <plugin>
468                                         <groupId>io.swagger</groupId>
469                                         <artifactId>swagger-codegen-maven-plugin</artifactId>
470                                         <version>2.2.3</version>
471                                         <dependencies>
472                                                 <dependency>
473                                                         <groupId>com.fasterxml.jackson.core</groupId>
474                                                         <artifactId>jackson-core</artifactId>
475                                                         <version>${jackson.version}</version>
476                                                 </dependency>
477                                                 <dependency>
478                                                         <groupId>com.fasterxml.jackson.core</groupId>
479                                                         <artifactId>jackson-databind</artifactId>
480                                                         <version>${jackson.version}</version>
481                                                 </dependency>
482                                                 <dependency>
483                                                         <groupId>com.fasterxml.jackson.core</groupId>
484                                                         <artifactId>jackson-annotations</artifactId>
485                                                         <version>${jackson.version}</version>
486                                                 </dependency>
487                                                 <dependency>
488                                                         <groupId>com.fasterxml.jackson.module</groupId>
489                                                         <artifactId>jackson-module-jaxb-annotations</artifactId>
490                                                         <version>${jackson.version}</version>
491                                                 </dependency>
492                                                 <dependency>
493                                                         <groupId>com.fasterxml.jackson.jaxrs</groupId>
494                                                         <artifactId>jackson-jaxrs-base</artifactId>
495                                                         <version>${jackson.version}</version>
496                                                 </dependency>
497                                                 <dependency>
498                                                         <groupId>com.fasterxml.jackson.jaxrs</groupId>
499                                                         <artifactId>jackson-jaxrs-json-provider</artifactId>
500                                                         <version>${jackson.version}</version>
501                                                 </dependency>
502                                         </dependencies>
503                                         <executions>
504                                                 <execution>
505                                                         <goals>
506                                                                 <goal>generate</goal>
507                                                         </goals>
508                                                         <configuration>
509                                                                 <inputSpec>${project.build.directory}/generated-sources/swagger-maven-api-gen/client.yaml</inputSpec>
510                                                                 <language>spring</language>
511                                                         </configuration>
512                                                 </execution>
513                                         </executions>
514                                 </plugin>
515
516
517                         </plugins>
518
519                 </pluginManagement>
520                 <plugins>
521                         <plugin>
522                                 <groupId>org.codehaus.mojo</groupId>
523                                 <artifactId>versions-maven-plugin</artifactId>
524                                 <version>2.5</version>
525                                 <configuration>
526                                         <processAllModules>true</processAllModules>
527                                 </configuration>
528                         </plugin>
529                         <plugin>
530                                 <artifactId>maven-scm-plugin</artifactId>
531                                 <version>1.8.1</version>
532                                 <configuration>
533                                         <tag>${project.artifactId}-${project.version}</tag>
534                                 </configuration>
535                         </plugin>
536                 </plugins>
537         </build>
538         <organization>
539                 <name>ONAP</name>
540         </organization>
541 </project>