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