Restructure ProtoBuf & gRPC project structure
- pom.xml {protobuf, grpc}-dependencies to consolidte
plugin configuration, dependency version property
- {protobuf, grpc}: ONOS App to load required feature/bundle
- all other atrifacts: Apps using protobuf/grpc inherit
~-dependencies above to reduce copy & paste configurations and
dependency versions.
Change-Id: Ied90aff78ffddac6228d46e85e01d035eec37bee
diff --git a/incubator/grpc-dependencies/pom.xml b/incubator/grpc-dependencies/pom.xml
new file mode 100644
index 0000000..55bf19d
--- /dev/null
+++ b/incubator/grpc-dependencies/pom.xml
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2016-present Open Networking Laboratory
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<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">
+ <parent>
+ <artifactId>onos-incubator-protobuf-dependencies</artifactId>
+ <groupId>org.onosproject</groupId>
+ <version>1.9.0-SNAPSHOT</version>
+ <relativePath>../protobuf-dependencies/pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>onos-incubator-grpc-dependencies</artifactId>
+ <packaging>pom</packaging>
+
+ <properties>
+ <grpc.version>1.0.0</grpc.version>
+ <grpc.package.version>1.0.0</grpc.package.version>
+ <grpc.netty.version>4.1.3.Final</grpc.netty.version>
+ <grpc.netty.package.version>4.1.3</grpc.netty.package.version>
+ <google.auth.version>0.4.0</google.auth.version>
+ </properties>
+
+ <!-- gRPC requires more recent version of netty -->
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-core</artifactId>
+ <version>${grpc.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-protobuf</artifactId>
+ <version>${grpc.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-stub</artifactId>
+ <version>${grpc.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-netty</artifactId>
+ <version>${grpc.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-auth</artifactId>
+ <version>${grpc.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-codec</artifactId>
+ <version>${grpc.netty.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-transport</artifactId>
+ <version>${grpc.netty.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-handler</artifactId>
+ <version>${grpc.netty.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-buffer</artifactId>
+ <version>${grpc.netty.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-common</artifactId>
+ <version>${grpc.netty.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-protobuf</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-stub</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-netty</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-auth</artifactId>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ </plugin>
+
+ </plugins>
+
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.xolstice.maven.plugins</groupId>
+ <artifactId>protobuf-maven-plugin</artifactId>
+ <version>0.5.0</version>
+ <configuration>
+ <pluginId>grpc-java</pluginId>
+ <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>compile</goal>
+ <goal>compile-custom</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-source</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-source</goal>
+ </goals>
+ <configuration>
+ <sources combine.children="append">
+ <source>${project.build.directory}/generated-sources/protobuf/grpc-java</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+
+</project>
diff --git a/incubator/grpc/pom.xml b/incubator/grpc/pom.xml
index aee92887..6a8c07f 100644
--- a/incubator/grpc/pom.xml
+++ b/incubator/grpc/pom.xml
@@ -19,9 +19,10 @@
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">
<parent>
- <artifactId>onos-incubator</artifactId>
+ <artifactId>onos-incubator-grpc-dependencies</artifactId>
<groupId>org.onosproject</groupId>
<version>1.9.0-SNAPSHOT</version>
+ <relativePath>../grpc-dependencies/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -30,13 +31,7 @@
<properties>
<onos.app.name>org.onosproject.incubator.grpc</onos.app.name>
- <onos.app.title>gRPC dependency package</onos.app.title>
- <protobuf.version>3.0.0</protobuf.version>
- <grpc.version>1.0.0</grpc.version>
- <grpc.package.version>1.0.0</grpc.package.version>
- <grpc.netty.version>4.1.3.Final</grpc.netty.version>
- <grpc.netty.package.version>4.1.3</grpc.netty.package.version>
- <google.auth.version>0.4.0</google.auth.version>
+ <onos.app.title>gRPC dependency App</onos.app.title>
</properties>
<!-- gRPC requires more recent version of netty -->
@@ -128,5 +123,4 @@
</plugins>
</build>
-
</project>
diff --git a/incubator/pom.xml b/incubator/pom.xml
index afd3f07..9a0702c 100644
--- a/incubator/pom.xml
+++ b/incubator/pom.xml
@@ -35,6 +35,8 @@
<module>core</module>
<module>net</module>
<module>store</module>
+ <module>protobuf-dependencies</module>
+ <module>grpc-dependencies</module>
<module>protobuf</module>
<module>rpc</module>
<module>rpc-grpc</module>
diff --git a/incubator/protobuf-dependencies/pom.xml b/incubator/protobuf-dependencies/pom.xml
new file mode 100644
index 0000000..a763d79
--- /dev/null
+++ b/incubator/protobuf-dependencies/pom.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2016-present Open Networking Laboratory
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<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">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>onos-dependencies</artifactId>
+ <groupId>org.onosproject</groupId>
+ <version>1.9.0-SNAPSHOT</version>
+ <relativePath>../../lib/pom.xml</relativePath>
+ </parent>
+
+ <artifactId>onos-incubator-protobuf-dependencies</artifactId>
+ <packaging>pom</packaging>
+
+ <description>ProtoBuf dependecies</description>
+ <url>http://onosproject.org</url>
+
+ <properties>
+ <protobuf.version>3.0.0</protobuf.version>
+ </properties>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ <version>${protobuf.version}</version>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <extensions>
+ <extension>
+ <groupId>kr.motd.maven</groupId>
+ <artifactId>os-maven-plugin</artifactId>
+ <version>1.4.1.Final</version>
+ </extension>
+ </extensions>
+
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.karaf.tooling</groupId>
+ <artifactId>karaf-maven-plugin</artifactId>
+ <version>3.0.5</version>
+ <extensions>true</extensions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.xolstice.maven.plugins</groupId>
+ <artifactId>protobuf-maven-plugin</artifactId>
+ <version>0.5.0</version>
+ <configuration>
+ <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-scr-srcdescriptor</id>
+ <goals>
+ <goal>scr</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <!-- avoid searching into wrong source path -->
+ <scanClasses>true</scanClasses>
+ <supportedProjectTypes>
+ <supportedProjectType>bundle</supportedProjectType>
+ <supportedProjectType>war</supportedProjectType>
+ </supportedProjectTypes>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.12</version>
+ <executions>
+ <execution>
+ <id>add-source</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>${project.build.directory}/generated-sources/protobuf/java</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ </pluginManagement>
+
+ </build>
+
+</project>
diff --git a/incubator/protobuf-nb/pom.xml b/incubator/protobuf-nb/pom.xml
index 37a97bf..7802ef1 100644
--- a/incubator/protobuf-nb/pom.xml
+++ b/incubator/protobuf-nb/pom.xml
@@ -19,9 +19,10 @@
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">
<parent>
- <artifactId>onos-incubator</artifactId>
+ <artifactId>onos-incubator-grpc-dependencies</artifactId>
<groupId>org.onosproject</groupId>
<version>1.9.0-SNAPSHOT</version>
+ <relativePath>../grpc-dependencies/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -29,47 +30,27 @@
<packaging>bundle</packaging>
<properties>
- <protobuf.version>3.0.0</protobuf.version>
- <grpc.version>1.0.0</grpc.version>
</properties>
<dependencies>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-core</artifactId>
- <version>${grpc.version}</version>
</dependency>
+
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
- <version>${grpc.version}</version>
</dependency>
+
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
- <version>${grpc.version}</version>
</dependency>
+
</dependencies>
<build>
- <extensions>
- <extension>
- <groupId>kr.motd.maven</groupId>
- <artifactId>os-maven-plugin</artifactId>
- <version>1.4.1.Final</version>
- </extension>
- </extensions>
-
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.karaf.tooling</groupId>
- <artifactId>karaf-maven-plugin</artifactId>
- <version>3.0.5</version>
- <extensions>true</extensions>
- </plugin>
- </plugins>
- </pluginManagement>
<plugins>
<!-- TODO This is included to suppress the generation of javadocs for
@@ -87,44 +68,11 @@
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
- <version>0.5.0</version>
- <configuration>
- <!-- The version of protoc must match protobuf-java. If you don't
- depend on protobuf-java directly, you will be transitively depending on the
- protobuf-java version that grpc depends on. -->
- <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
- <pluginId>grpc-java</pluginId>
- <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- <goal>compile-custom</goal>
- </goals>
- </execution>
- </executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
- <version>1.11</version>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>${project.build.directory}/generated-sources/protobuf/java</source>
- <source>${project.build.directory}/generated-sources/protobuf/grpc-java</source>
- </sources>
- </configuration>
- </execution>
- </executions>
</plugin>
</plugins>
</build>
diff --git a/incubator/protobuf/pom.xml b/incubator/protobuf/pom.xml
index 9efba04..94bc87a 100644
--- a/incubator/protobuf/pom.xml
+++ b/incubator/protobuf/pom.xml
@@ -17,9 +17,10 @@
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>onos-incubator</artifactId>
+ <artifactId>onos-incubator-protobuf-dependencies</artifactId>
<groupId>org.onosproject</groupId>
<version>1.9.0-SNAPSHOT</version>
+ <relativePath>../protobuf-dependencies/pom.xml</relativePath>
</parent>
<artifactId>onos-incubator-protobuf</artifactId>
@@ -31,12 +32,17 @@
<properties>
<onos.app.name>org.onosproject.incubator.protobuf</onos.app.name>
<onos.app.title>ONOS Protocol Buffers models</onos.app.title>
- <protobuf.version>3.0.0</protobuf.version>
</properties>
<dependencies>
<dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>${protobuf.version}</version>
@@ -51,13 +57,6 @@
</dependencies>
<build>
- <extensions>
- <extension>
- <groupId>kr.motd.maven</groupId>
- <artifactId>os-maven-plugin</artifactId>
- <version>1.4.1.Final</version>
- </extension>
- </extensions>
<pluginManagement>
<plugins>
@@ -102,59 +101,23 @@
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-scr-srcdescriptor</id>
- <goals>
- <goal>scr</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <!-- avoid searching into wrong source path -->
- <scanClasses>true</scanClasses>
- <supportedProjectTypes>
- <supportedProjectType>bundle</supportedProjectType>
- </supportedProjectTypes>
- </configuration>
</plugin>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
- <version>0.5.0</version>
- <configuration>
- <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
- <version>1.11</version>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>${project.build.directory}/generated-sources/protobuf/java</source>
- <source>${project.build.directory}/generated-sources/protobuf/grpc-java</source>
- </sources>
- </configuration>
- </execution>
- </executions>
</plugin>
+
+ <plugin>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-maven-plugin</artifactId>
+ </plugin>
+
</plugins>
</build>
diff --git a/incubator/rpc-grpc/pom.xml b/incubator/rpc-grpc/pom.xml
index d6eb5d5..f11580c 100644
--- a/incubator/rpc-grpc/pom.xml
+++ b/incubator/rpc-grpc/pom.xml
@@ -17,9 +17,10 @@
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>onos-incubator</artifactId>
+ <artifactId>onos-incubator-grpc-dependencies</artifactId>
<groupId>org.onosproject</groupId>
<version>1.9.0-SNAPSHOT</version>
+ <relativePath>../grpc-dependencies/pom.xml</relativePath>
</parent>
<artifactId>onos-incubator-rpc-grpc</artifactId>
@@ -36,41 +37,40 @@
org.onosproject.incubator.protobuf,
org.onosproject.incubator.grpc
</onos.app.requires>
- <protobuf.version>3.0.0</protobuf.version>
- <grpc.version>1.0.0</grpc.version>
- <grpc.netty.version>4.1.3.Final</grpc.netty.version>
</properties>
<dependencies>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-api</artifactId>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-incubator-api</artifactId>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onlab-osgi</artifactId>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-core</artifactId>
- <version>${grpc.version}</version>
</dependency>
+
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
- <version>${grpc.version}</version>
</dependency>
+
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
- <version>${grpc.version}</version>
</dependency>
<dependency>
@@ -82,12 +82,20 @@
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-api</artifactId>
+ <version>${project.version}</version>
<scope>test</scope>
<classifier>tests</classifier>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
+ <artifactId>onlab-junit</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.onosproject</groupId>
<artifactId>onos-incubator-protobuf</artifactId>
<version>${project.version}</version>
</dependency>
@@ -99,6 +107,16 @@
</dependency>
<dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.annotations</artifactId>
<scope>provided</scope>
@@ -107,13 +125,6 @@
</dependencies>
<build>
- <extensions>
- <extension>
- <groupId>kr.motd.maven</groupId>
- <artifactId>os-maven-plugin</artifactId>
- <version>1.4.1.Final</version>
- </extension>
- </extensions>
<pluginManagement>
<plugins>
@@ -151,22 +162,6 @@
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-scr-srcdescriptor</id>
- <goals>
- <goal>scr</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <!-- avoid searching into wrong source path -->
- <scanClasses>true</scanClasses>
- <supportedProjectTypes>
- <supportedProjectType>bundle</supportedProjectType>
- <supportedProjectType>war</supportedProjectType>
- </supportedProjectTypes>
- </configuration>
</plugin>
<plugin>
<groupId>org.onosproject</groupId>
@@ -176,77 +171,14 @@
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
- <version>0.5.0</version>
- <configuration>
- <!-- The version of protoc must match protobuf-java. If you don't
- depend on protobuf-java directly, you will be transitively depending on the
- protobuf-java version that grpc depends on. -->
- <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
- <pluginId>grpc-java</pluginId>
- <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- <goal>compile-custom</goal>
- </goals>
- </execution>
- </executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
- <version>1.11</version>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>${project.build.directory}/generated-sources/protobuf/java</source>
- <source>${project.build.directory}/generated-sources/protobuf/grpc-java</source>
- </sources>
- </configuration>
- </execution>
- </executions>
</plugin>
</plugins>
</build>
- <!-- gRPC requires more recent version of netty -->
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-codec</artifactId>
- <version>${grpc.netty.version}</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport</artifactId>
- <version>${grpc.netty.version}</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler</artifactId>
- <version>${grpc.netty.version}</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-buffer</artifactId>
- <version>${grpc.netty.version}</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-common</artifactId>
- <version>${grpc.netty.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
</project>
diff --git a/incubator/rpc-nb/pom.xml b/incubator/rpc-nb/pom.xml
index 373a84c..2f42f03 100644
--- a/incubator/rpc-nb/pom.xml
+++ b/incubator/rpc-nb/pom.xml
@@ -19,9 +19,10 @@
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">
<parent>
- <artifactId>onos-incubator</artifactId>
+ <artifactId>onos-incubator-grpc-dependencies</artifactId>
<groupId>org.onosproject</groupId>
<version>1.9.0-SNAPSHOT</version>
+ <relativePath>../grpc-dependencies/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -35,49 +36,50 @@
<onos.app.name>org.onosproject.incubator.rpc-nb</onos.app.name>
<onos.app.title>ONOS gRPC Northbound API</onos.app.title>
<onos.app.requires>org.onosproject.incubator.grpc</onos.app.requires>
- <grpc.version>1.0.0</grpc.version>
</properties>
<dependencies>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-api</artifactId>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-incubator-api</artifactId>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onlab-osgi</artifactId>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-core</artifactId>
- <version>${grpc.version}</version>
</dependency>
+
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
- <version>${grpc.version}</version>
</dependency>
+
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
- <version>${grpc.version}</version>
</dependency>
+
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
- <version>${grpc.version}</version>
</dependency>
+
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-auth</artifactId>
- <version>${grpc.version}</version>
</dependency>
<dependency>
@@ -99,22 +101,6 @@
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-scr-srcdescriptor</id>
- <goals>
- <goal>scr</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <!-- avoid searching into wrong source path -->
- <scanClasses>true</scanClasses>
- <supportedProjectTypes>
- <supportedProjectType>bundle</supportedProjectType>
- <supportedProjectType>war</supportedProjectType>
- </supportedProjectTypes>
- </configuration>
</plugin>
</plugins>
</build>