blob: c486af2b5fc18df72a7edaca3f228dd00070f9fd [file] [log] [blame]
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -07001<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 ~ Copyright 2016-present Open Networking Laboratory
4 ~
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 Yuta3fce2422016-05-11 18:41:41 -070023 </parent>
24
25 <artifactId>onos-incubator-protobuf</artifactId>
26 <packaging>bundle</packaging>
27
28 <description>ONOS ProtoBuf models</description>
29 <url>http://onosproject.org</url>
30
31 <properties>
32 <onos.app.name>org.onosproject.incubator.protobuf</onos.app.name>
33 <onos.app.requires>org.onosproject.incubator.rpc</onos.app.requires>
34 <!-- Note: update feature.xml when updating -->
35 <protobuf.version>3.0.0-beta-2</protobuf.version>
36 </properties>
37
38 <dependencies>
39
40 <dependency>
41 <groupId>com.google.protobuf</groupId>
42 <artifactId>protobuf-java</artifactId>
43 <version>${protobuf.version}</version>
44 </dependency>
45
46 <dependency>
47 <groupId>org.apache.felix</groupId>
48 <artifactId>org.apache.felix.scr.annotations</artifactId>
49 <scope>provided</scope>
50 </dependency>
51
52 </dependencies>
53
54 <build>
55 <extensions>
56 <extension>
57 <groupId>kr.motd.maven</groupId>
58 <artifactId>os-maven-plugin</artifactId>
59 <version>1.4.1.Final</version>
60 </extension>
61 </extensions>
62
63 <pluginManagement>
64 <plugins>
65 <plugin>
66 <groupId>org.apache.karaf.tooling</groupId>
67 <artifactId>karaf-maven-plugin</artifactId>
68 <version>3.0.5</version>
69 <extensions>true</extensions>
70 </plugin>
71 </plugins>
72 </pluginManagement>
73
74 <plugins>
75 <!-- TODO This is included to suppress the generation of javadocs for
76 this package. There is a problem when we try to package the
77 auto-generated code's javadoc into a jar. -->
78 <plugin>
79 <groupId>org.apache.maven.plugins</groupId>
80 <artifactId>maven-javadoc-plugin</artifactId>
81 <configuration>
82 <sourcepath>${basedir}/src/main/java/</sourcepath>
83 <excludePackageNames>org.onosproject.incubator.rpc.grpc</excludePackageNames>
84 </configuration>
85 </plugin>
86
87 <plugin>
88 <groupId>org.apache.felix</groupId>
89 <artifactId>maven-bundle-plugin</artifactId>
90 <extensions>true</extensions>
HIGUCHI Yuta48dac722016-05-22 09:59:10 -070091 <configuration>
92 <instructions>
93 <Export-Package>org.onosproject.grpc.net</Export-Package>
94 </instructions>
95 </configuration>
HIGUCHI Yuta3fce2422016-05-11 18:41:41 -070096 </plugin>
97
98 <plugin>
99 <groupId>org.apache.maven.plugins</groupId>
100 <artifactId>maven-compiler-plugin</artifactId>
101 </plugin>
102
103 <plugin>
104 <groupId>org.apache.felix</groupId>
105 <artifactId>maven-scr-plugin</artifactId>
106 <executions>
107 <execution>
108 <id>generate-scr-srcdescriptor</id>
109 <goals>
110 <goal>scr</goal>
111 </goals>
112 </execution>
113 </executions>
114 <configuration>
115 <!-- avoid searching into wrong source path -->
116 <scanClasses>true</scanClasses>
117 <supportedProjectTypes>
118 <supportedProjectType>bundle</supportedProjectType>
119 </supportedProjectTypes>
120 </configuration>
121 </plugin>
122
123 <plugin>
124 <groupId>org.xolstice.maven.plugins</groupId>
125 <artifactId>protobuf-maven-plugin</artifactId>
126 <version>0.5.0</version>
127 <configuration>
128 <!-- The version of protoc must match protobuf-java. If you don't
129 depend on protobuf-java directly, you will be transitively depending on the
130 protobuf-java version that grpc depends on. -->
131 <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
132 <checkStaleness>true</checkStaleness>
133 </configuration>
134 <executions>
135 <execution>
136 <goals>
137 <goal>compile</goal>
138 </goals>
139 </execution>
140 </executions>
141 </plugin>
142
143 <plugin>
144 <groupId>org.codehaus.mojo</groupId>
145 <artifactId>build-helper-maven-plugin</artifactId>
146 <version>1.10</version>
147 <executions>
148 <execution>
149 <id>add-source</id>
150 <phase>generate-sources</phase>
151 <goals>
152 <goal>add-source</goal>
153 </goals>
154 <configuration>
155 <sources>
156 <source>${project.build.directory}/generated-sources/protobuf/java</source>
157 <source>${project.build.directory}/generated-sources/protobuf/grpc-java</source>
158 </sources>
159 </configuration>
160 </execution>
161 </executions>
162 </plugin>
163 </plugins>
164 </build>
165
166</project>