blob: c9191e08d82a9f6fbd0096d8e0f87877eb9d12c5 [file] [log] [blame]
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -08001<?xml version="1.0" encoding="UTF-8"?>
2<!--
Brian O'Connor5ab426f2016-04-09 01:19:45 -07003 ~ Copyright 2015-present Open Networking Laboratory
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -08004 ~
5 ~ Licensed under the Apache License, Version 2.0 (the "License");
6 ~ you may not use this file except in compliance with the License.
7 ~ You may obtain a copy of the License at
8 ~
9 ~ http://www.apache.org/licenses/LICENSE-2.0
10 ~
11 ~ Unless required by applicable law or agreed to in writing, software
12 ~ distributed under the License is distributed on an "AS IS" BASIS,
13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ~ See the License for the specific language governing permissions and
15 ~ limitations under the License.
16 -->
17<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">
18 <modelVersion>4.0.0</modelVersion>
19 <parent>
20 <artifactId>onos-incubator</artifactId>
21 <groupId>org.onosproject</groupId>
Brian O'Connor955c3162016-03-10 15:27:19 -080022 <version>1.6.0-SNAPSHOT</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080023 </parent>
24
25 <artifactId>onos-incubator-rpc-grpc</artifactId>
26 <packaging>bundle</packaging>
27
28 <description>ONOS inter-cluster RPC based on gRPC</description>
29 <url>http://onosproject.org</url>
30
31 <properties>
32 <onos.app.name>org.onosproject.incubator.rpc.grpc</onos.app.name>
33 <onos.app.requires>org.onosproject.incubator.rpc</onos.app.requires>
34 <!-- Note: update feature.xml when updating -->
HIGUCHI Yuta6381a242016-03-13 23:29:10 -070035 <grpc.version>0.13.2</grpc.version>
36 <grpc.netty.version>4.1.0.CR3</grpc.netty.version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080037 </properties>
38
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080039 <dependencies>
40 <dependency>
41 <groupId>org.onosproject</groupId>
42 <artifactId>onos-api</artifactId>
43 </dependency>
44
45 <dependency>
46 <groupId>org.onosproject</groupId>
47 <artifactId>onos-incubator-api</artifactId>
48 </dependency>
49
50 <dependency>
51 <groupId>org.onosproject</groupId>
52 <artifactId>onlab-osgi</artifactId>
53 </dependency>
54<!--
55 <dependency>
56 <groupId>io.grpc</groupId>
57 <artifactId>grpc-all</artifactId>
58 <version>${grpc.version}</version>
59 </dependency>
60-->
61 <dependency>
62 <groupId>io.grpc</groupId>
63 <artifactId>grpc-core</artifactId>
64 <version>${grpc.version}</version>
65 </dependency>
66 <dependency>
67 <groupId>io.grpc</groupId>
68 <artifactId>grpc-protobuf</artifactId>
69 <version>${grpc.version}</version>
70 </dependency>
71 <dependency>
72 <groupId>io.grpc</groupId>
73 <artifactId>grpc-stub</artifactId>
74 <version>${grpc.version}</version>
75 </dependency>
76 <dependency>
77 <groupId>io.grpc</groupId>
78 <artifactId>grpc-netty</artifactId>
79 <version>${grpc.version}</version>
80 </dependency>
81 <dependency>
82 <groupId>io.grpc</groupId>
83 <artifactId>grpc-auth</artifactId>
84 <version>${grpc.version}</version>
85 </dependency>
86
87 <dependency>
88 <groupId>junit</groupId>
89 <artifactId>junit</artifactId>
90 <scope>test</scope>
91 </dependency>
92
93 <dependency>
94 <groupId>org.onosproject</groupId>
95 <artifactId>onos-api</artifactId>
96 <scope>test</scope>
97 <classifier>tests</classifier>
98 </dependency>
99
100 <dependency>
101 <groupId>org.apache.felix</groupId>
102 <artifactId>org.apache.felix.scr.annotations</artifactId>
103 <scope>provided</scope>
104 </dependency>
105 </dependencies>
106
107 <build>
108 <extensions>
109 <extension>
110 <groupId>kr.motd.maven</groupId>
111 <artifactId>os-maven-plugin</artifactId>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700112 <version>1.4.1.Final</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800113 </extension>
114 </extensions>
115
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700116 <pluginManagement>
117 <plugins>
118 <plugin>
119 <groupId>org.apache.karaf.tooling</groupId>
120 <artifactId>karaf-maven-plugin</artifactId>
121 <version>3.0.5</version>
122 <extensions>true</extensions>
123 </plugin>
124 </plugins>
125 </pluginManagement>
126
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800127 <plugins>
Brian O'Connor4380f542015-12-03 15:57:06 -0800128 <!-- TODO This is included to suppress the generation of javadocs for
129 this package. There is a problem when we try to package the
130 auto-generated code's javadoc into a jar. -->
131 <plugin>
132 <groupId>org.apache.maven.plugins</groupId>
133 <artifactId>maven-javadoc-plugin</artifactId>
134 <configuration>
135 <sourcepath>${basedir}/src/main/java/</sourcepath>
136 <excludePackageNames>org.onosproject.incubator.rpc.grpc</excludePackageNames>
137 </configuration>
138 </plugin>
139
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800140 <plugin>
141 <groupId>org.apache.felix</groupId>
142 <artifactId>maven-bundle-plugin</artifactId>
143 <extensions>true</extensions>
144 </plugin>
145 <plugin>
146 <groupId>org.apache.maven.plugins</groupId>
147 <artifactId>maven-compiler-plugin</artifactId>
148 <configuration>
149 <source>1.8</source>
150 <target>1.8</target>
151 </configuration>
152 </plugin>
153 <plugin>
154 <groupId>org.apache.felix</groupId>
155 <artifactId>maven-scr-plugin</artifactId>
156 <executions>
157 <execution>
158 <id>generate-scr-srcdescriptor</id>
159 <goals>
160 <goal>scr</goal>
161 </goals>
162 </execution>
163 </executions>
164 <configuration>
165 <!-- avoid searching into wrong source path -->
166 <scanClasses>true</scanClasses>
167 <supportedProjectTypes>
168 <supportedProjectType>bundle</supportedProjectType>
169 <supportedProjectType>war</supportedProjectType>
170 </supportedProjectTypes>
171 </configuration>
172 </plugin>
173 <plugin>
174 <groupId>org.onosproject</groupId>
175 <artifactId>onos-maven-plugin</artifactId>
176 <executions>
177 <execution>
178 <id>cfg</id>
179 <phase>generate-resources</phase>
180 <goals>
181 <goal>cfg</goal>
182 </goals>
183 </execution>
184 <execution>
185 <id>swagger</id>
186 <phase>generate-sources</phase>
187 <goals>
188 <goal>swagger</goal>
189 </goals>
190 </execution>
191 <execution>
192 <id>app</id>
193 <phase>package</phase>
194 <goals>
195 <goal>app</goal>
196 </goals>
197 </execution>
198 </executions>
199 </plugin>
200
201 <plugin>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700202 <groupId>org.xolstice.maven.plugins</groupId>
203 <artifactId>protobuf-maven-plugin</artifactId>
204 <version>0.5.0</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800205 <configuration>
206 <!-- The version of protoc must match protobuf-java. If you don't
207 depend on protobuf-java directly, you will be transitively depending on the
208 protobuf-java version that grpc depends on. -->
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700209 <protocArtifact>com.google.protobuf:protoc:3.0.0-beta-2:exe:${os.detected.classifier}</protocArtifact>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800210 <pluginId>grpc-java</pluginId>
211 <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700212 <checkStaleness>true</checkStaleness>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800213 </configuration>
214 <executions>
215 <execution>
216 <goals>
217 <goal>compile</goal>
218 <goal>compile-custom</goal>
219 </goals>
220 </execution>
221 </executions>
222 </plugin>
223
224 <plugin>
225 <groupId>org.codehaus.mojo</groupId>
226 <artifactId>build-helper-maven-plugin</artifactId>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700227 <version>1.10</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800228 <executions>
229 <execution>
230 <id>add-source</id>
231 <phase>generate-sources</phase>
232 <goals>
233 <goal>add-source</goal>
234 </goals>
235 <configuration>
236 <sources>
237 <source>${project.build.directory}/generated-sources/protobuf/java</source>
238 <source>${project.build.directory}/generated-sources/protobuf/grpc-java</source>
239 </sources>
240 </configuration>
241 </execution>
242 </executions>
Brian O'Connor4380f542015-12-03 15:57:06 -0800243 </plugin>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800244 </plugins>
245 </build>
246
247 <!-- gRPC requires more recent version of netty -->
248 <dependencyManagement>
249 <dependencies>
250 <dependency>
251 <groupId>io.netty</groupId>
252 <artifactId>netty-codec</artifactId>
253 <version>${grpc.netty.version}</version>
254 </dependency>
255 <dependency>
256 <groupId>io.netty</groupId>
257 <artifactId>netty-transport</artifactId>
258 <version>${grpc.netty.version}</version>
259 </dependency>
260 <dependency>
261 <groupId>io.netty</groupId>
262 <artifactId>netty-handler</artifactId>
263 <version>${grpc.netty.version}</version>
264 </dependency>
265 <dependency>
266 <groupId>io.netty</groupId>
267 <artifactId>netty-buffer</artifactId>
268 <version>${grpc.netty.version}</version>
269 </dependency>
270 <dependency>
271 <groupId>io.netty</groupId>
272 <artifactId>netty-common</artifactId>
273 <version>${grpc.netty.version}</version>
274 </dependency>
275 <dependency>
276 <groupId>com.twitter</groupId>
277 <artifactId>hpack</artifactId>
278 <!-- 0.11.0 and later are published as a bundle -->
279 <version>0.11.0</version>
280 </dependency>
281 </dependencies>
282 </dependencyManagement>
283
284</project>