xref: /aosp_15_r20/external/grpc-grpc-java/examples/pom.xml (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
1<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3  <modelVersion>4.0.0</modelVersion>
4  <groupId>io.grpc</groupId>
5  <artifactId>examples</artifactId>
6  <packaging>jar</packaging>
7  <!-- Feel free to delete the comment at the end of these lines. It is just
8       for safely updating the version in our release process. -->
9  <version>1.56.1-SNAPSHOT</version><!-- CURRENT_GRPC_VERSION -->
10  <name>examples</name>
11  <url>https://github.com/grpc/grpc-java</url>
12
13  <properties>
14    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15    <grpc.version>1.56.1-SNAPSHOT</grpc.version><!-- CURRENT_GRPC_VERSION -->
16    <protobuf.version>3.22.3</protobuf.version>
17    <protoc.version>3.22.3</protoc.version>
18    <!-- required for JDK 8 -->
19    <maven.compiler.source>1.8</maven.compiler.source>
20    <maven.compiler.target>1.8</maven.compiler.target>
21  </properties>
22
23  <dependencyManagement>
24    <dependencies>
25      <dependency>
26        <groupId>io.grpc</groupId>
27        <artifactId>grpc-bom</artifactId>
28        <version>${grpc.version}</version>
29        <type>pom</type>
30        <scope>import</scope>
31      </dependency>
32    </dependencies>
33  </dependencyManagement>
34
35  <dependencies>
36    <dependency>
37      <groupId>io.grpc</groupId>
38      <artifactId>grpc-netty-shaded</artifactId>
39      <scope>runtime</scope>
40    </dependency>
41    <dependency>
42      <groupId>io.grpc</groupId>
43      <artifactId>grpc-protobuf</artifactId>
44    </dependency>
45    <dependency>
46      <groupId>io.grpc</groupId>
47      <artifactId>grpc-services</artifactId>
48    </dependency>
49    <dependency>
50      <groupId>io.grpc</groupId>
51      <artifactId>grpc-stub</artifactId>
52    </dependency>
53    <dependency>
54      <groupId>com.google.protobuf</groupId>
55      <artifactId>protobuf-java-util</artifactId>
56      <version>${protobuf.version}</version>
57    </dependency>
58    <dependency>
59      <groupId>com.google.code.gson</groupId>
60      <artifactId>gson</artifactId>
61      <version>2.10.1</version> <!-- prevent downgrade via protobuf-java-util -->
62    </dependency>
63    <dependency>
64      <groupId>com.google.guava</groupId>
65      <artifactId>guava</artifactId>
66      <version>31.1-jre</version> <!-- prevent downgrade of version in protobuf-java-util -->
67    </dependency>
68    <dependency>
69      <groupId>org.apache.tomcat</groupId>
70      <artifactId>annotations-api</artifactId>
71      <version>6.0.53</version>
72      <scope>provided</scope> <!-- not needed at runtime -->
73    </dependency>
74    <dependency>
75      <groupId>io.grpc</groupId>
76      <artifactId>grpc-testing</artifactId>
77      <scope>test</scope>
78    </dependency>
79    <dependency>
80      <groupId>junit</groupId>
81      <artifactId>junit</artifactId>
82      <version>4.13.2</version>
83      <scope>test</scope>
84    </dependency>
85    <dependency>
86      <groupId>org.mockito</groupId>
87      <artifactId>mockito-core</artifactId>
88      <version>3.4.0</version>
89      <scope>test</scope>
90    </dependency>
91  </dependencies>
92
93  <build>
94    <extensions>
95      <extension>
96        <groupId>kr.motd.maven</groupId>
97        <artifactId>os-maven-plugin</artifactId>
98        <version>1.7.1</version>
99      </extension>
100    </extensions>
101    <plugins>
102      <plugin>
103        <groupId>org.xolstice.maven.plugins</groupId>
104        <artifactId>protobuf-maven-plugin</artifactId>
105        <version>0.6.1</version>
106        <configuration>
107          <protocArtifact>com.google.protobuf:protoc:${protoc.version}:exe:${os.detected.classifier}</protocArtifact>
108          <pluginId>grpc-java</pluginId>
109          <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
110        </configuration>
111        <executions>
112          <execution>
113            <goals>
114              <goal>compile</goal>
115              <goal>compile-custom</goal>
116            </goals>
117          </execution>
118        </executions>
119      </plugin>
120      <plugin>
121        <groupId>org.apache.maven.plugins</groupId>
122        <artifactId>maven-enforcer-plugin</artifactId>
123        <version>1.4.1</version>
124        <executions>
125          <execution>
126            <id>enforce</id>
127            <goals>
128              <goal>enforce</goal>
129            </goals>
130            <configuration>
131              <rules>
132                <requireUpperBoundDeps/>
133              </rules>
134            </configuration>
135          </execution>
136        </executions>
137      </plugin>
138    </plugins>
139  </build>
140</project>
141