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/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>