Release Lithium-SR4
[openflowjava.git] / openflow-protocol-api / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2     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>
4     <parent>
5         <groupId>org.opendaylight.openflowjava</groupId>
6         <artifactId>openflow-protocol-parent</artifactId>
7         <version>0.6.4-Lithium-SR4</version>
8     </parent>
9     <artifactId>openflow-protocol-api</artifactId>
10     <packaging>bundle</packaging>
11     <name>Openflow Protocol Library - API</name>
12     <scm>
13         <url>https://wiki.opendaylight.org/view/Openflow_Protocol_Library:Main</url>
14         <tag>HEAD</tag>
15     </scm>
16
17     <build>
18         <plugins>
19             <plugin>
20                 <groupId>org.opendaylight.yangtools</groupId>
21                 <artifactId>yang-maven-plugin</artifactId>
22                 <executions>
23                     <execution>
24                         <goals>
25                             <goal>generate-sources</goal>
26                         </goals>
27                         <configuration>
28                             <yangFilesRootDir>src/main/yang</yangFilesRootDir>
29                             <codeGenerators>
30                                 <generator>
31                                     <codeGeneratorClass>
32                                         org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
33                                     </codeGeneratorClass>
34                                     <outputBaseDir>
35                                         ${salGeneratorPath}
36                                     </outputBaseDir>
37                                 </generator>
38                                 <generator>
39                                     <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
40                                     <outputBaseDir>target/site/restconf</outputBaseDir>
41                                 </generator>
42                             </codeGenerators>
43                             <inspectDependencies>true</inspectDependencies>
44                         </configuration>
45                     </execution>
46                 </executions>
47
48                 <dependencies>
49                     <dependency>
50                         <groupId>org.opendaylight.yangtools</groupId>
51                         <artifactId>maven-sal-api-gen-plugin</artifactId>
52                         <version>${yangtools.version}</version>
53                         <type>jar</type>
54                     </dependency>
55                 </dependencies>
56             </plugin>
57
58             <!-- TODO: maven-antrun-plugin deletes yang source files from target.
59                        This is done because otherwise openflowjava models are stored in controller
60                        and exposed for further use - which is not desired.
61                        (https://bugs.opendaylight.org/show_bug.cgi?id=2926)
62
63                        This plugin should be removed after relevant configuration is added into 
64                        yang-maven-plugin - which is supposed to happen in BERYLLIUM release -->
65             <plugin>
66                 <groupId>org.apache.maven.plugins</groupId>
67                 <artifactId>maven-antrun-plugin</artifactId>
68                 <executions>
69                     <execution>
70                         <phase>prepare-package</phase>
71                         <goals>
72                             <goal>run</goal>
73                         </goals>
74                         <configuration>
75                             <tasks>
76                                 <delete>
77                                     <fileset dir="${project.build.directory}/classes/META-INF/yang">
78                                         <include name="*.yang"/>
79                                         <exclude name="openflow-types.yang"/>
80                                         <exclude name="openflow-extensible-match.yang"/>
81                                         <exclude name="openflow-action.yang"/>
82                                         <exclude name="openflow-configuration.yang"/>
83                                     </fileset>
84                                     <fileset dir="${project.build.directory}/generated-sources/yang/META-INF/yang">
85                                         <include name="*.yang"/>
86                                         <exclude name="openflow-types.yang"/>
87                                         <exclude name="openflow-extensible-match.yang"/>
88                                         <exclude name="openflow-action.yang"/>
89                                         <exclude name="openflow-configuration.yang"/>
90                                     </fileset>
91                                 </delete>
92                             </tasks>
93                         </configuration>
94                     </execution>
95                 </executions>
96             </plugin>
97         </plugins>
98         <pluginManagement>
99             <plugins>
100                 <!--This plugin's configuration is used to store Eclipse 
101                     m2e settings only. It has no influence on the Maven build itself. -->
102                 <plugin>
103                     <groupId>org.eclipse.m2e</groupId>
104                     <artifactId>lifecycle-mapping</artifactId>
105                     <version>1.0.0</version>
106                     <configuration>
107                         <lifecycleMappingMetadata>
108                             <pluginExecutions>
109                                 <pluginExecution>
110                                     <pluginExecutionFilter>
111                                         <groupId>
112                                             org.opendaylight.yangtools
113                                         </groupId>
114                                         <artifactId>
115                                             yang-maven-plugin
116                                         </artifactId>
117                                         <versionRange>
118                                             (0.5.6,)
119                                         </versionRange>
120                                         <goals>
121                                             <goal>
122                                                 generate-sources
123                                             </goal>
124                                         </goals>
125                                     </pluginExecutionFilter>
126                                     <action>
127                                         <ignore />
128                                     </action>
129                                 </pluginExecution>
130                             </pluginExecutions>
131                         </lifecycleMappingMetadata>
132                     </configuration>
133                 </plugin>
134             </plugins>
135         </pluginManagement>
136     </build>
137     <dependencies>
138         <dependency>
139             <groupId>org.opendaylight.yangtools</groupId>
140             <artifactId>yang-binding</artifactId>
141         </dependency>
142         <dependency>
143             <groupId>org.opendaylight.yangtools</groupId>
144             <artifactId>yang-common</artifactId>
145         </dependency>
146         <dependency>
147             <groupId>org.opendaylight.yangtools.model</groupId>
148             <artifactId>ietf-inet-types</artifactId>
149         </dependency>
150         <dependency>
151             <groupId>org.opendaylight.yangtools.model</groupId>
152             <artifactId>ietf-yang-types</artifactId>
153         </dependency>
154         <dependency>
155             <groupId>org.opendaylight.yangtools.model</groupId>
156             <artifactId>yang-ext</artifactId>
157         </dependency>
158         <dependency>
159             <groupId>io.netty</groupId>
160             <artifactId>netty-buffer</artifactId>
161         </dependency>
162         <dependency>
163             <groupId>junit</groupId>
164             <artifactId>junit</artifactId>
165             <scope>test</scope>
166         </dependency>
167         <dependency>
168             <groupId>org.mockito</groupId>
169             <artifactId>mockito-all</artifactId>
170         </dependency>
171     </dependencies>
172 </project>