blob: 4ae20f30bd8a910d154ff972cf547b620dd0095f [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'Connore642f7c2016-05-23 18:33:04 -070022 <version>1.7.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>
Yuta HIGUCHI9efba1e2016-07-09 11:07:13 -070033 <onos.app.title>ONOS gRPC API</onos.app.title>
34 <onos.app.requires>
35 org.onosproject.incubator.rpc,
36 org.onosproject.incubator.protobuf
37 </onos.app.requires>
38 <protobuf.version>3.0.0</protobuf.version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080039 <!-- Note: update feature.xml when updating -->
Yuta HIGUCHI9efba1e2016-07-09 11:07:13 -070040 <grpc.version>1.0.0-pre2</grpc.version>
41 <grpc.netty.version>4.1.3.Final</grpc.netty.version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080042 </properties>
43
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080044 <dependencies>
45 <dependency>
46 <groupId>org.onosproject</groupId>
47 <artifactId>onos-api</artifactId>
48 </dependency>
49
50 <dependency>
51 <groupId>org.onosproject</groupId>
52 <artifactId>onos-incubator-api</artifactId>
53 </dependency>
54
55 <dependency>
56 <groupId>org.onosproject</groupId>
57 <artifactId>onlab-osgi</artifactId>
58 </dependency>
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -070059
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080060 <dependency>
61 <groupId>io.grpc</groupId>
62 <artifactId>grpc-core</artifactId>
63 <version>${grpc.version}</version>
64 </dependency>
65 <dependency>
66 <groupId>io.grpc</groupId>
67 <artifactId>grpc-protobuf</artifactId>
68 <version>${grpc.version}</version>
69 </dependency>
70 <dependency>
71 <groupId>io.grpc</groupId>
72 <artifactId>grpc-stub</artifactId>
73 <version>${grpc.version}</version>
74 </dependency>
75 <dependency>
76 <groupId>io.grpc</groupId>
77 <artifactId>grpc-netty</artifactId>
78 <version>${grpc.version}</version>
79 </dependency>
80 <dependency>
81 <groupId>io.grpc</groupId>
82 <artifactId>grpc-auth</artifactId>
83 <version>${grpc.version}</version>
84 </dependency>
85
86 <dependency>
87 <groupId>junit</groupId>
88 <artifactId>junit</artifactId>
89 <scope>test</scope>
90 </dependency>
91
92 <dependency>
93 <groupId>org.onosproject</groupId>
94 <artifactId>onos-api</artifactId>
95 <scope>test</scope>
96 <classifier>tests</classifier>
97 </dependency>
98
99 <dependency>
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -0700100 <groupId>org.onosproject</groupId>
101 <artifactId>onos-incubator-protobuf</artifactId>
102 <version>${project.version}</version>
103 </dependency>
104
105 <dependency>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800106 <groupId>org.apache.felix</groupId>
107 <artifactId>org.apache.felix.scr.annotations</artifactId>
108 <scope>provided</scope>
109 </dependency>
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -0700110
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800111 </dependencies>
112
113 <build>
114 <extensions>
115 <extension>
116 <groupId>kr.motd.maven</groupId>
117 <artifactId>os-maven-plugin</artifactId>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700118 <version>1.4.1.Final</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800119 </extension>
120 </extensions>
121
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700122 <pluginManagement>
123 <plugins>
124 <plugin>
125 <groupId>org.apache.karaf.tooling</groupId>
126 <artifactId>karaf-maven-plugin</artifactId>
127 <version>3.0.5</version>
128 <extensions>true</extensions>
129 </plugin>
130 </plugins>
131 </pluginManagement>
132
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800133 <plugins>
Brian O'Connor4380f542015-12-03 15:57:06 -0800134 <!-- TODO This is included to suppress the generation of javadocs for
135 this package. There is a problem when we try to package the
136 auto-generated code's javadoc into a jar. -->
137 <plugin>
138 <groupId>org.apache.maven.plugins</groupId>
139 <artifactId>maven-javadoc-plugin</artifactId>
140 <configuration>
141 <sourcepath>${basedir}/src/main/java/</sourcepath>
142 <excludePackageNames>org.onosproject.incubator.rpc.grpc</excludePackageNames>
143 </configuration>
144 </plugin>
145
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800146 <plugin>
147 <groupId>org.apache.felix</groupId>
148 <artifactId>maven-bundle-plugin</artifactId>
149 <extensions>true</extensions>
150 </plugin>
151 <plugin>
152 <groupId>org.apache.maven.plugins</groupId>
153 <artifactId>maven-compiler-plugin</artifactId>
154 <configuration>
155 <source>1.8</source>
156 <target>1.8</target>
157 </configuration>
158 </plugin>
159 <plugin>
160 <groupId>org.apache.felix</groupId>
161 <artifactId>maven-scr-plugin</artifactId>
162 <executions>
163 <execution>
164 <id>generate-scr-srcdescriptor</id>
165 <goals>
166 <goal>scr</goal>
167 </goals>
168 </execution>
169 </executions>
170 <configuration>
171 <!-- avoid searching into wrong source path -->
172 <scanClasses>true</scanClasses>
173 <supportedProjectTypes>
174 <supportedProjectType>bundle</supportedProjectType>
175 <supportedProjectType>war</supportedProjectType>
176 </supportedProjectTypes>
177 </configuration>
178 </plugin>
179 <plugin>
180 <groupId>org.onosproject</groupId>
181 <artifactId>onos-maven-plugin</artifactId>
182 <executions>
183 <execution>
184 <id>cfg</id>
185 <phase>generate-resources</phase>
186 <goals>
187 <goal>cfg</goal>
188 </goals>
189 </execution>
190 <execution>
191 <id>swagger</id>
192 <phase>generate-sources</phase>
193 <goals>
194 <goal>swagger</goal>
195 </goals>
196 </execution>
197 <execution>
198 <id>app</id>
199 <phase>package</phase>
200 <goals>
201 <goal>app</goal>
202 </goals>
203 </execution>
204 </executions>
205 </plugin>
206
207 <plugin>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700208 <groupId>org.xolstice.maven.plugins</groupId>
209 <artifactId>protobuf-maven-plugin</artifactId>
210 <version>0.5.0</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800211 <configuration>
212 <!-- The version of protoc must match protobuf-java. If you don't
213 depend on protobuf-java directly, you will be transitively depending on the
214 protobuf-java version that grpc depends on. -->
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -0700215 <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800216 <pluginId>grpc-java</pluginId>
217 <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
218 </configuration>
219 <executions>
220 <execution>
221 <goals>
222 <goal>compile</goal>
223 <goal>compile-custom</goal>
224 </goals>
225 </execution>
226 </executions>
227 </plugin>
228
229 <plugin>
230 <groupId>org.codehaus.mojo</groupId>
231 <artifactId>build-helper-maven-plugin</artifactId>
Yuta HIGUCHI9efba1e2016-07-09 11:07:13 -0700232 <version>1.11</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800233 <executions>
234 <execution>
235 <id>add-source</id>
236 <phase>generate-sources</phase>
237 <goals>
238 <goal>add-source</goal>
239 </goals>
240 <configuration>
241 <sources>
242 <source>${project.build.directory}/generated-sources/protobuf/java</source>
243 <source>${project.build.directory}/generated-sources/protobuf/grpc-java</source>
244 </sources>
245 </configuration>
246 </execution>
247 </executions>
Brian O'Connor4380f542015-12-03 15:57:06 -0800248 </plugin>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800249 </plugins>
250 </build>
251
252 <!-- gRPC requires more recent version of netty -->
253 <dependencyManagement>
254 <dependencies>
255 <dependency>
256 <groupId>io.netty</groupId>
257 <artifactId>netty-codec</artifactId>
258 <version>${grpc.netty.version}</version>
259 </dependency>
260 <dependency>
261 <groupId>io.netty</groupId>
262 <artifactId>netty-transport</artifactId>
263 <version>${grpc.netty.version}</version>
264 </dependency>
265 <dependency>
266 <groupId>io.netty</groupId>
267 <artifactId>netty-handler</artifactId>
268 <version>${grpc.netty.version}</version>
269 </dependency>
270 <dependency>
271 <groupId>io.netty</groupId>
272 <artifactId>netty-buffer</artifactId>
273 <version>${grpc.netty.version}</version>
274 </dependency>
275 <dependency>
276 <groupId>io.netty</groupId>
277 <artifactId>netty-common</artifactId>
278 <version>${grpc.netty.version}</version>
279 </dependency>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800280 </dependencies>
281 </dependencyManagement>
282
283</project>