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.3.3</version>
11 <groupId>org.onap.sdnc.northbound</groupId>
12 <artifactId>generic-resource-api-model-swagger</artifactId>
13 <version>2.3.1-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>
56 org.opendaylight.mdsal.model,org.opendaylight.mdsal.binding.model.ietf,org.onap.sdnc.northbound
61 <id>unpack-shared-resources</id>
63 <goal>unpack-dependencies</goal>
65 <phase>initialize</phase>
70 <artifactId>maven-antrun-plugin</artifactId>
71 <version>1.8</version>
74 <phase>initialize</phase>
82 <!-- flatten out structure -->
83 <move todir="${project.build.directory}/dependency" failonerror="false">
84 <fileset dir="${project.build.directory}/dependency"/>
85 <mapper type="flatten"/>
87 <!-- move to yang folder -->
88 <copy todir="${project.build.directory}/yang" failonerror="false">
89 <fileset dir="${project.build.directory}/dependency" includes="**/*.yang"/>
90 <mapper type="flatten"/>
96 <groupId>org.opendaylight.yangtools</groupId>
97 <artifactId>yang-maven-plugin</artifactId>
98 <version>1.2.3</version>
101 <groupId>com.fasterxml.jackson.core</groupId>
102 <artifactId>jackson-core</artifactId>
103 <version>${jackson.version}</version>
106 <groupId>com.fasterxml.jackson.core</groupId>
107 <artifactId>jackson-databind</artifactId>
108 <version>${jackson.version}</version>
111 <groupId>com.fasterxml.jackson.core</groupId>
112 <artifactId>jackson-annotations</artifactId>
113 <version>${jackson.version}</version>
116 <groupId>com.fasterxml.jackson.module</groupId>
117 <artifactId>jackson-module-jaxb-annotations</artifactId>
118 <version>${jackson.version}</version>
121 <groupId>com.fasterxml.jackson.jaxrs</groupId>
122 <artifactId>jackson-jaxrs-base</artifactId>
123 <version>${jackson.version}</version>
126 <groupId>com.fasterxml.jackson.jaxrs</groupId>
127 <artifactId>jackson-jaxrs-json-provider</artifactId>
128 <version>${jackson.version}</version>
131 <groupId>com.mrv.yangtools</groupId>
132 <artifactId>swagger-maven-plugin</artifactId>
133 <version>1.1.12</version>
136 <groupId>com.github.romix</groupId>
137 <artifactId>java-concurrent-hash-trie-map</artifactId>
138 <version>0.2.23</version>
143 <id>yang2swagger-json</id>
145 <goal>generate-sources</goal>
150 <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator
151 </codeGeneratorClass>
152 <outputBaseDir>${project.basedir}/src/main/json</outputBaseDir>
153 <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir>
154 <additionalConfiguration>
155 <api-version>${project.version}</api-version>
156 <base-module>${api.name}</base-module>
157 <swagger-format>json</swagger-format>
158 <path-format>odl</path-format>
159 <use-namespaces>true</use-namespaces>
160 </additionalConfiguration>
163 <inspectDependencies>false</inspectDependencies>
164 <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir>
168 <id>yang2swagger-yaml</id>
170 <goal>generate-sources</goal>
175 <codeGeneratorClass>com.mrv.yangtools.maven.gen.swagger.MavenSwaggerGenerator
176 </codeGeneratorClass>
177 <outputBaseDir>${project.basedir}/src/main/yaml</outputBaseDir>
178 <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir>
179 <additionalConfiguration>
180 <api-version>${project.version}</api-version>
181 <base-module>${api.name}</base-module>
182 <swagger-format>yaml</swagger-format>
183 <path-format>odl</path-format>
184 <use-namespaces>true</use-namespaces>
185 </additionalConfiguration>
188 <inspectDependencies>false</inspectDependencies>
189 <yangFilesRootDir>${project.build.directory}/yang</yangFilesRootDir>
195 <groupId>org.codehaus.mojo</groupId>
196 <artifactId>exec-maven-plugin</artifactId>
197 <version>1.2.1</version>
201 <executable>sh</executable>
203 <argument>${basedir}/fixModuleUri.sh</argument>
204 <argument>GENERIC-RESOURCE-API</argument>
205 <argument>src/main/yaml/generic-resource.yaml</argument>
208 <id>fix-swagger-yaml</id>
209 <phase>generate-resources</phase>
217 <groupId>org.apache.maven.plugins</groupId>
218 <artifactId>maven-source-plugin</artifactId>
221 <groupId>org.codehaus.mojo</groupId>
222 <artifactId>build-helper-maven-plugin</artifactId>
223 <version>1.10</version>
226 <id>attach-artifacts</id>
227 <phase>package</phase>
229 <goal>attach-artifact</goal>
234 <file>src/main/json/${api.name}.json</file>
238 <file>src/main/yaml/${api.name}.yaml</file>