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