blob: ea88dacbb5022dae3c1227c7fbf63b122015c716 [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'Connorbfc02ec2016-09-16 00:42:37 -070022 <version>1.8.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,
Yuta HIGUCHI88353862016-08-09 17:57:04 -070036 org.onosproject.incubator.protobuf,
37 org.onosproject.incubator.grpc
Yuta HIGUCHI9efba1e2016-07-09 11:07:13 -070038 </onos.app.requires>
39 <protobuf.version>3.0.0</protobuf.version>
Yuta HIGUCHI179af1e2016-08-23 15:36:44 -070040 <grpc.version>1.0.0</grpc.version>
Yuta HIGUCHI9efba1e2016-07-09 11:07:13 -070041 <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>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -080075
76 <dependency>
77 <groupId>junit</groupId>
78 <artifactId>junit</artifactId>
79 <scope>test</scope>
80 </dependency>
81
82 <dependency>
83 <groupId>org.onosproject</groupId>
84 <artifactId>onos-api</artifactId>
85 <scope>test</scope>
86 <classifier>tests</classifier>
87 </dependency>
88
89 <dependency>
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -070090 <groupId>org.onosproject</groupId>
91 <artifactId>onos-incubator-protobuf</artifactId>
92 <version>${project.version}</version>
93 </dependency>
94
95 <dependency>
Yuta HIGUCHI88353862016-08-09 17:57:04 -070096 <groupId>org.onosproject</groupId>
97 <artifactId>onos-incubator-grpc</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>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800150 </plugin>
151 <plugin>
152 <groupId>org.apache.felix</groupId>
153 <artifactId>maven-scr-plugin</artifactId>
154 <executions>
155 <execution>
156 <id>generate-scr-srcdescriptor</id>
157 <goals>
158 <goal>scr</goal>
159 </goals>
160 </execution>
161 </executions>
162 <configuration>
163 <!-- avoid searching into wrong source path -->
164 <scanClasses>true</scanClasses>
165 <supportedProjectTypes>
166 <supportedProjectType>bundle</supportedProjectType>
167 <supportedProjectType>war</supportedProjectType>
168 </supportedProjectTypes>
169 </configuration>
170 </plugin>
171 <plugin>
172 <groupId>org.onosproject</groupId>
173 <artifactId>onos-maven-plugin</artifactId>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800174 </plugin>
175
176 <plugin>
HIGUCHI Yuta6381a242016-03-13 23:29:10 -0700177 <groupId>org.xolstice.maven.plugins</groupId>
178 <artifactId>protobuf-maven-plugin</artifactId>
179 <version>0.5.0</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800180 <configuration>
181 <!-- The version of protoc must match protobuf-java. If you don't
182 depend on protobuf-java directly, you will be transitively depending on the
183 protobuf-java version that grpc depends on. -->
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -0700184 <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800185 <pluginId>grpc-java</pluginId>
186 <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
187 </configuration>
188 <executions>
189 <execution>
190 <goals>
191 <goal>compile</goal>
192 <goal>compile-custom</goal>
193 </goals>
194 </execution>
195 </executions>
196 </plugin>
197
198 <plugin>
199 <groupId>org.codehaus.mojo</groupId>
200 <artifactId>build-helper-maven-plugin</artifactId>
Yuta HIGUCHI9efba1e2016-07-09 11:07:13 -0700201 <version>1.11</version>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800202 <executions>
203 <execution>
204 <id>add-source</id>
205 <phase>generate-sources</phase>
206 <goals>
207 <goal>add-source</goal>
208 </goals>
209 <configuration>
210 <sources>
211 <source>${project.build.directory}/generated-sources/protobuf/java</source>
212 <source>${project.build.directory}/generated-sources/protobuf/grpc-java</source>
213 </sources>
214 </configuration>
215 </execution>
216 </executions>
Brian O'Connor4380f542015-12-03 15:57:06 -0800217 </plugin>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800218 </plugins>
219 </build>
220
221 <!-- gRPC requires more recent version of netty -->
222 <dependencyManagement>
223 <dependencies>
224 <dependency>
225 <groupId>io.netty</groupId>
226 <artifactId>netty-codec</artifactId>
227 <version>${grpc.netty.version}</version>
228 </dependency>
229 <dependency>
230 <groupId>io.netty</groupId>
231 <artifactId>netty-transport</artifactId>
232 <version>${grpc.netty.version}</version>
233 </dependency>
234 <dependency>
235 <groupId>io.netty</groupId>
236 <artifactId>netty-handler</artifactId>
237 <version>${grpc.netty.version}</version>
238 </dependency>
239 <dependency>
240 <groupId>io.netty</groupId>
241 <artifactId>netty-buffer</artifactId>
242 <version>${grpc.netty.version}</version>
243 </dependency>
244 <dependency>
245 <groupId>io.netty</groupId>
246 <artifactId>netty-common</artifactId>
247 <version>${grpc.netty.version}</version>
248 </dependency>
HIGUCHI Yuta15653fd2015-11-09 11:05:09 -0800249 </dependencies>
250 </dependencyManagement>
251
252</project>