1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3 <modelVersion>4.0.0</modelVersion>
6 <groupId>org.onap.ccsdk.parent</groupId>
7 <artifactId>oparent</artifactId>
8 <version>2.1.1</version>
11 <groupId>org.onap.sdnc.northbound</groupId>
12 <artifactId>generic-resource-api-model-swagger</artifactId>
13 <version>2.1.2-SNAPSHOT</version>
14 <packaging>jar</packaging>
16 <name>sdnc-northbound :: generic-resource-api:: ${project.artifactId}</name>
17 <description>Generates swagger model from yang model</description>
18 <url>http://wiki.onap.org</url>
21 <api.name>generic-resource</api.name>
22 <jackson.version>2.9.5</jackson.version>
26 <!-- This is where the yang comes from -->
28 <groupId>${project.groupId}</groupId>
29 <artifactId>generic-resource-api-model-yang</artifactId>
30 <version>${project.version}</version>
32 <!-- End this is where the yang comes from -->
37 <id>>bintray-yang2swagger-yang2swagge</id>
39 <url>https://dl.bintray.com/yang2swagger/yang2swagger</url>
41 <enabled>false</enabled>
49 <groupId>org.apache.maven.plugins</groupId>
50 <artifactId>maven-dependency-plugin</artifactId>
51 <version>2.10</version>
53 <outputDirectory>${project.build.directory}/dependency</outputDirectory>
54 <includes>**\/*.yang</includes>
55 <includeGroupIds>org.opendaylight.mdsal.model,org.opendaylight.mdsal.binding.model.ietf,org.onap.sdnc.northbound</includeGroupIds>
59 <id>unpack-shared-resources</id>
61 <goal>unpack-dependencies</goal>
63 <phase>initialize</phase>
68 <artifactId>maven-antrun-plugin</artifactId>
69 <version>1.8</version>
72 <phase>initialize</phase>
80 <!-- flatten out structure -->
81 <move todir="${project.build.directory}/dependency" failonerror="false">
82 <fileset dir="${project.build.directory}/dependency"/>
83 <mapper type="flatten"/>
85 <!-- move to yang folder -->
86 <copy todir="${project.build.directory}/yang" failonerror="false">
87 <fileset dir="${project.build.directory}/dependency" includes="**/*.yang"/>
88 <mapper type="flatten"/>
94 <groupId>org.opendaylight.yangtools</groupId>
95 <artifactId>yang-maven-plugin</artifactId>
96 <version>1.2.3</version>
99 <groupId>com.fasterxml.jackson.core</groupId>
100 <artifactId>jackson-core</artifactId>
101 <version>${jackson.version}</version>
104 <groupId>com.fasterxml.jackson.core</groupId>
105 <artifactId>jackson-databind</artifactId>
106 <version>${jackson.version}</version>
109 <groupId>com.fasterxml.jackson.core</groupId>
110 <artifactId>jackson-annotations</artifactId>
111 <version>${jackson.version}</version>
114 <groupId>com.fasterxml.jackson.module</groupId>
115 <artifactId>jackson-module-jaxb-annotations</artifactId>
116 <version>${jackson.version}</version>
119 <groupId>com.fasterxml.jackson.jaxrs</groupId>
120 <artifactId>jackson-jaxrs-base</artifactId>
121 <version>${jackson.version}</version>
124 <groupId>com.fasterxml.jackson.jaxrs</groupId>
125 <artifactId>jackson-jaxrs-json-provider</artifactId>
126 <version>${jackson.version}</version>
129 <groupId>com.mrv.yangtools</groupId>
130 <artifactId>swagger-maven-plugin</artifactId>
131 <version>1.1.12</version>
134 <groupId>com.github.romix</groupId>
135 <artifactId>java-concurrent-hash-trie-map</artifactId>
136 <version>0.2.23</version>
141 <id>yang2swagger-json</id>
143 <goal>generate-sources</goal>
148 <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator</codeGeneratorClass>
149 <outputBaseDir>${project.basedir}/src/main/json</outputBaseDir>
150 <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir>
151 <additionalConfiguration>
152 <api-version>${project.version}</api-version>
153 <base-module>${api.name}</base-module>
154 <swagger-format>json</swagger-format>
155 <path-format>odl</path-format>
156 <use-namespaces>true</use-namespaces>
157 </additionalConfiguration>
160 <inspectDependencies>false</inspectDependencies>
161 <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir>
165 <id>yang2swagger-yaml</id>
167 <goal>generate-sources</goal>
172 <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator</codeGeneratorClass>
173 <outputBaseDir>${project.basedir}/src/main/yaml</outputBaseDir>
174 <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir>
175 <additionalConfiguration>
176 <api-version>${project.version}</api-version>
177 <base-module>${api.name}</base-module>
178 <swagger-format>yaml</swagger-format>
179 <path-format>odl</path-format>
180 <use-namespaces>true</use-namespaces>
181 </additionalConfiguration>
184 <inspectDependencies>false</inspectDependencies>
185 <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir>
191 <groupId>org.codehaus.mojo</groupId>
192 <artifactId>exec-maven-plugin</artifactId>
193 <version>1.2.1</version>
197 <executable>sh</executable>
199 <argument>${basedir}/fixModuleUri.sh</argument>
200 <argument>GENERIC-RESOURCE-API</argument>
201 <argument>src/main/yaml/generic-resource.yaml</argument>
204 <id>fix-swagger-yaml</id>
205 <phase>generate-resources</phase>
213 <groupId>org.apache.maven.plugins</groupId>
214 <artifactId>maven-source-plugin</artifactId>
217 <groupId>org.codehaus.mojo</groupId>
218 <artifactId>build-helper-maven-plugin</artifactId>
219 <version>1.10</version>
222 <id>attach-artifacts</id>
223 <phase>package</phase>
225 <goal>attach-artifact</goal>
230 <file>src/main/json/${api.name}.json</file>
234 <file>src/main/yaml/${api.name}.yaml</file>