blob: 6e672ad6142d597603742b6fd5aec4a5c52f683e [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>
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -070033 <onos.app.requires>org.onosproject.incubator.rpc,org.onosproject.incubator.protobuf</onos.app.requires>
34 <protobuf.version>3.0.0-beta-2</protobuf.version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080035 <!-- Note: update feature.xml when updating -->
HIGUCHI Yutaf87ccda2016-05-02 18:02:56 -070036 <grpc.version>0.14.0</grpc.version>
37 <grpc.netty.version>4.1.0.CR7</grpc.netty.version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080038 </properties>
39
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080040 <dependencies>
41 <dependency>
42 <groupId>org.onosproject</groupId>
43 <artifactId>onos-api</artifactId>
44 </dependency>
45
46 <dependency>
47 <groupId>org.onosproject</groupId>
48 <artifactId>onos-incubator-api</artifactId>
49 </dependency>
50
51 <dependency>
52 <groupId>org.onosproject</groupId>
53 <artifactId>onlab-osgi</artifactId>
54 </dependency>
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -070055
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080056 <dependency>
57 <groupId>io.grpc</groupId>
58 <artifactId>grpc-core</artifactId>
59 <version>${grpc.version}</version>
60 </dependency>
61 <dependency>
62 <groupId>io.grpc</groupId>
63 <artifactId>grpc-protobuf</artifactId>
64 <version>${grpc.version}</version>
65 </dependency>
66 <dependency>
67 <groupId>io.grpc</groupId>
68 <artifactId>grpc-stub</artifactId>
69 <version>${grpc.version}</version>
70 </dependency>
71 <dependency>
72 <groupId>io.grpc</groupId>
73 <artifactId>grpc-netty</artifactId>
74 <version>${grpc.version}</version>
75 </dependency>
76 <dependency>
77 <groupId>io.grpc</groupId>
78 <artifactId>grpc-auth</artifactId>
79 <version>${grpc.version}</version>
80 </dependency>
81
82 <dependency>
83 <groupId>junit</groupId>
84 <artifactId>junit</artifactId>
85 <scope>test</scope>
86 </dependency>
87
88 <dependency>
89 <groupId>org.onosproject</groupId>
90 <artifactId>onos-api</artifactId>
91 <scope>test</scope>
92 <classifier>tests</classifier>
93 </dependency>
94
95 <dependency>
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -070096 <groupId>org.onosproject</groupId>
97 <artifactId>onos-incubator-protobuf</artifactId>
98 <version>${project.version}</version>
99 </dependency>
100
101 <dependency>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800102 <groupId>org.apache.felix</groupId>
103 <artifactId>org.apache.felix.scr.annotations</artifactId>
104 <scope>provided</scope>
105 </dependency>
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -0700106
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800107 </dependencies>
108
109 <build>
110 <extensions>
111 <extension>
112 <groupId>kr.motd.maven</groupId>
113 <artifactId>os-maven-plugin</artifactId>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700114 <version>1.4.1.Final</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800115 </extension>
116 </extensions>
117
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700118 <pluginManagement>
119 <plugins>
120 <plugin>
121 <groupId>org.apache.karaf.tooling</groupId>
122 <artifactId>karaf-maven-plugin</artifactId>
123 <version>3.0.5</version>
124 <extensions>true</extensions>
125 </plugin>
126 </plugins>
127 </pluginManagement>
128
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800129 <plugins>
Brian O'Connor4380f542015-12-03 15:57:06 -0800130 <!-- TODO This is included to suppress the generation of javadocs for
131 this package. There is a problem when we try to package the
132 auto-generated code's javadoc into a jar. -->
133 <plugin>
134 <groupId>org.apache.maven.plugins</groupId>
135 <artifactId>maven-javadoc-plugin</artifactId>
136 <configuration>
137 <sourcepath>${basedir}/src/main/java/</sourcepath>
138 <excludePackageNames>org.onosproject.incubator.rpc.grpc</excludePackageNames>
139 </configuration>
140 </plugin>
141
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800142 <plugin>
143 <groupId>org.apache.felix</groupId>
144 <artifactId>maven-bundle-plugin</artifactId>
145 <extensions>true</extensions>
146 </plugin>
147 <plugin>
148 <groupId>org.apache.maven.plugins</groupId>
149 <artifactId>maven-compiler-plugin</artifactId>
150 <configuration>
151 <source>1.8</source>
152 <target>1.8</target>
153 </configuration>
154 </plugin>
155 <plugin>
156 <groupId>org.apache.felix</groupId>
157 <artifactId>maven-scr-plugin</artifactId>
158 <executions>
159 <execution>
160 <id>generate-scr-srcdescriptor</id>
161 <goals>
162 <goal>scr</goal>
163 </goals>
164 </execution>
165 </executions>
166 <configuration>
167 <!-- avoid searching into wrong source path -->
168 <scanClasses>true</scanClasses>
169 <supportedProjectTypes>
170 <supportedProjectType>bundle</supportedProjectType>
171 <supportedProjectType>war</supportedProjectType>
172 </supportedProjectTypes>
173 </configuration>
174 </plugin>
175 <plugin>
176 <groupId>org.onosproject</groupId>
177 <artifactId>onos-maven-plugin</artifactId>
178 <executions>
179 <execution>
180 <id>cfg</id>
181 <phase>generate-resources</phase>
182 <goals>
183 <goal>cfg</goal>
184 </goals>
185 </execution>
186 <execution>
187 <id>swagger</id>
188 <phase>generate-sources</phase>
189 <goals>
190 <goal>swagger</goal>
191 </goals>
192 </execution>
193 <execution>
194 <id>app</id>
195 <phase>package</phase>
196 <goals>
197 <goal>app</goal>
198 </goals>
199 </execution>
200 </executions>
201 </plugin>
202
203 <plugin>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700204 <groupId>org.xolstice.maven.plugins</groupId>
205 <artifactId>protobuf-maven-plugin</artifactId>
206 <version>0.5.0</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800207 <configuration>
208 <!-- The version of protoc must match protobuf-java. If you don't
209 depend on protobuf-java directly, you will be transitively depending on the
210 protobuf-java version that grpc depends on. -->
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -0700211 <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800212 <pluginId>grpc-java</pluginId>
213 <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700214 <checkStaleness>true</checkStaleness>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800215 </configuration>
216 <executions>
217 <execution>
218 <goals>
219 <goal>compile</goal>
220 <goal>compile-custom</goal>
221 </goals>
222 </execution>
223 </executions>
224 </plugin>
225
226 <plugin>
227 <groupId>org.codehaus.mojo</groupId>
228 <artifactId>build-helper-maven-plugin</artifactId>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700229 <version>1.10</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800230 <executions>
231 <execution>
232 <id>add-source</id>
233 <phase>generate-sources</phase>
234 <goals>
235 <goal>add-source</goal>
236 </goals>
237 <configuration>
238 <sources>
239 <source>${project.build.directory}/generated-sources/protobuf/java</source>
240 <source>${project.build.directory}/generated-sources/protobuf/grpc-java</source>
241 </sources>
242 </configuration>
243 </execution>
244 </executions>
Brian O'Connor4380f542015-12-03 15:57:06 -0800245 </plugin>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800246 </plugins>
247 </build>
248
249 <!-- gRPC requires more recent version of netty -->
250 <dependencyManagement>
251 <dependencies>
252 <dependency>
253 <groupId>io.netty</groupId>
254 <artifactId>netty-codec</artifactId>
255 <version>${grpc.netty.version}</version>
256 </dependency>
257 <dependency>
258 <groupId>io.netty</groupId>
259 <artifactId>netty-transport</artifactId>
260 <version>${grpc.netty.version}</version>
261 </dependency>
262 <dependency>
263 <groupId>io.netty</groupId>
264 <artifactId>netty-handler</artifactId>
265 <version>${grpc.netty.version}</version>
266 </dependency>
267 <dependency>
268 <groupId>io.netty</groupId>
269 <artifactId>netty-buffer</artifactId>
270 <version>${grpc.netty.version}</version>
271 </dependency>
272 <dependency>
273 <groupId>io.netty</groupId>
274 <artifactId>netty-common</artifactId>
275 <version>${grpc.netty.version}</version>
276 </dependency>
277 <dependency>
278 <groupId>com.twitter</groupId>
279 <artifactId>hpack</artifactId>
280 <!-- 0.11.0 and later are published as a bundle -->
281 <version>0.11.0</version>
282 </dependency>
283 </dependencies>
284 </dependencyManagement>
285
286</project>