blob: d8e75b7d3d5a7cfd0277dc6a81727f639d48c406 [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>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800182 </plugin>
183
184 <plugin>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700185 <groupId>org.xolstice.maven.plugins</groupId>
186 <artifactId>protobuf-maven-plugin</artifactId>
187 <version>0.5.0</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800188 <configuration>
189 <!-- The version of protoc must match protobuf-java. If you don't
190 depend on protobuf-java directly, you will be transitively depending on the
191 protobuf-java version that grpc depends on. -->
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -0700192 <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800193 <pluginId>grpc-java</pluginId>
194 <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
195 </configuration>
196 <executions>
197 <execution>
198 <goals>
199 <goal>compile</goal>
200 <goal>compile-custom</goal>
201 </goals>
202 </execution>
203 </executions>
204 </plugin>
205
206 <plugin>
207 <groupId>org.codehaus.mojo</groupId>
208 <artifactId>build-helper-maven-plugin</artifactId>
Yuta HIGUCHI9efba1e2016-07-09 11:07:13 -0700209 <version>1.11</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800210 <executions>
211 <execution>
212 <id>add-source</id>
213 <phase>generate-sources</phase>
214 <goals>
215 <goal>add-source</goal>
216 </goals>
217 <configuration>
218 <sources>
219 <source>${project.build.directory}/generated-sources/protobuf/java</source>
220 <source>${project.build.directory}/generated-sources/protobuf/grpc-java</source>
221 </sources>
222 </configuration>
223 </execution>
224 </executions>
Brian O'Connor4380f542015-12-03 15:57:06 -0800225 </plugin>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800226 </plugins>
227 </build>
228
229 <!-- gRPC requires more recent version of netty -->
230 <dependencyManagement>
231 <dependencies>
232 <dependency>
233 <groupId>io.netty</groupId>
234 <artifactId>netty-codec</artifactId>
235 <version>${grpc.netty.version}</version>
236 </dependency>
237 <dependency>
238 <groupId>io.netty</groupId>
239 <artifactId>netty-transport</artifactId>
240 <version>${grpc.netty.version}</version>
241 </dependency>
242 <dependency>
243 <groupId>io.netty</groupId>
244 <artifactId>netty-handler</artifactId>
245 <version>${grpc.netty.version}</version>
246 </dependency>
247 <dependency>
248 <groupId>io.netty</groupId>
249 <artifactId>netty-buffer</artifactId>
250 <version>${grpc.netty.version}</version>
251 </dependency>
252 <dependency>
253 <groupId>io.netty</groupId>
254 <artifactId>netty-common</artifactId>
255 <version>${grpc.netty.version}</version>
256 </dependency>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800257 </dependencies>
258 </dependencyManagement>
259
260</project>