1<?xml version='1.0' encoding='UTF-8'?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 <groupId>com.google.cloud</groupId> 7 <artifactId>gapic-showcase</artifactId> 8 <version>0.0.1-SNAPSHOT</version> 9 <packaging>jar</packaging> 10 <name>GAPIC Showcase Client</name> 11 <description> 12 GAPIC Showcase is an API that demonstrates Generated API Client (GAPIC) features and common API 13 patterns used by Google. 14 </description> 15 <parent> 16 <groupId>com.google.cloud</groupId> 17 <artifactId>gapic-showcase-parent</artifactId> 18 <version>0.0.1-SNAPSHOT</version> 19 </parent> 20 21 <properties> 22 <gapic-showcase.version>0.27.0</gapic-showcase.version> 23 </properties> 24 25 <profiles> 26 <profile> 27 <id>enable-golden-tests</id> 28 <build> 29 <plugins> 30 <plugin> 31 <groupId>org.codehaus.mojo</groupId> 32 <artifactId>exec-maven-plugin</artifactId> 33 <version>3.1.0</version> 34 <executions> 35 <execution> 36 <id>verify-showcase</id> 37 <goals> 38 <goal>exec</goal> 39 </goals> 40 <phase>test</phase> 41 <configuration> 42 <executable>bazel</executable> 43 <arguments> 44 <argument>run</argument> 45 <argument>//showcase:verify_gapic</argument> 46 </arguments> 47 </configuration> 48 </execution> 49 </executions> 50 </plugin> 51 </plugins> 52 </build> 53 </profile> 54 <profile> 55 <id>update</id> 56 <build> 57 <plugins> 58 <plugin> 59 <groupId>org.codehaus.mojo</groupId> 60 <artifactId>exec-maven-plugin</artifactId> 61 <version>3.1.0</version> 62 <executions> 63 <execution> 64 <id>verify-showcase</id> 65 <goals> 66 <goal>exec</goal> 67 </goals> 68 <phase>generate-sources</phase> 69 <configuration> 70 <executable>bazelisk</executable> 71 <arguments> 72 <argument>run</argument> 73 <argument>//showcase:update_gapic</argument> 74 </arguments> 75 </configuration> 76 </execution> 77 </executions> 78 </plugin> 79 </plugins> 80 </build> 81 </profile> 82 </profiles> 83 84 <build> 85 <plugins> 86 <plugin> 87 <groupId>org.jacoco</groupId> 88 <artifactId>jacoco-maven-plugin</artifactId> 89 <version>0.8.8</version> 90 <executions> 91 <execution> 92 <id>report</id> 93 <goals> 94 <goal>report</goal> 95 </goals> 96 <configuration> 97 <formats> 98 <format>XML</format> 99 <format>HTML</format> 100 </formats> 101 </configuration> 102 </execution> 103 </executions> 104 </plugin> 105 <plugin> 106 <groupId>com.coveo</groupId> 107 <artifactId>fmt-maven-plugin</artifactId> 108 <version>2.9</version> 109 <configuration> 110 <filesNamePattern>(IT.*\.java)|(.*Test.java)|(TestClientInitializer.java)</filesNamePattern> 111 </configuration> 112 </plugin> 113 <plugin> 114 <groupId>com.googlecode.maven-download-plugin</groupId> 115 <artifactId>download-maven-plugin</artifactId> 116 <version>1.6.8</version> 117 <executions> 118 <execution> 119 <id>download-compliance-suite</id> 120 <phase>generate-test-resources</phase> 121 <goals> 122 <goal>wget</goal> 123 </goals> 124 <configuration> 125 <url> 126 https://raw.githubusercontent.com/googleapis/gapic-showcase/v${gapic-showcase.version}/server/services/compliance_suite.json 127 </url> 128 <outputDirectory>src/test/resources</outputDirectory> 129 <!-- Set this to always download the latest version and overwrite the existing file --> 130 <overwrite>true</overwrite> 131 </configuration> 132 </execution> 133 </executions> 134 </plugin> 135 </plugins> 136 </build> 137 138 <dependencies> 139 <dependency> 140 <groupId>io.grpc</groupId> 141 <artifactId>grpc-api</artifactId> 142 </dependency> 143 <dependency> 144 <groupId>io.grpc</groupId> 145 <artifactId>grpc-stub</artifactId> 146 </dependency> 147 <dependency> 148 <groupId>io.grpc</groupId> 149 <artifactId>grpc-protobuf</artifactId> 150 </dependency> 151 <dependency> 152 <groupId>com.google.api</groupId> 153 <artifactId>api-common</artifactId> 154 </dependency> 155 <dependency> 156 <groupId>com.google.protobuf</groupId> 157 <artifactId>protobuf-java</artifactId> 158 </dependency> 159 <dependency> 160 <groupId>com.google.api.grpc</groupId> 161 <artifactId>proto-google-common-protos</artifactId> 162 </dependency> 163 <dependency> 164 <groupId>com.google.api.grpc</groupId> 165 <artifactId>grpc-google-common-protos</artifactId> 166 </dependency> 167 <dependency> 168 <groupId>com.google.api.grpc</groupId> 169 <artifactId>proto-google-iam-v1</artifactId> 170 </dependency> 171 <dependency> 172 <groupId>com.google.api.grpc</groupId> 173 <artifactId>proto-gapic-showcase-v1beta1</artifactId> 174 </dependency> 175 <dependency> 176 <groupId>com.google.guava</groupId> 177 <artifactId>guava</artifactId> 178 </dependency> 179 <dependency> 180 <groupId>com.google.api</groupId> 181 <artifactId>gax</artifactId> 182 </dependency> 183 <dependency> 184 <groupId>com.google.api</groupId> 185 <artifactId>gax-grpc</artifactId> 186 </dependency> 187 <dependency> 188 <groupId>com.google.api</groupId> 189 <artifactId>gax-httpjson</artifactId> 190 </dependency> 191 192 <!-- Test dependencies --> 193 <dependency> 194 <groupId>junit</groupId> 195 <artifactId>junit</artifactId> 196 <scope>test</scope> 197 </dependency> 198 <dependency> 199 <groupId>com.google.truth</groupId> 200 <artifactId>truth</artifactId> 201 <version>1.1.3</version> 202 <scope>test</scope> 203 </dependency> 204 205 <dependency> 206 <groupId>com.google.api.grpc</groupId> 207 <artifactId>grpc-gapic-showcase-v1beta1</artifactId> 208 <scope>test</scope> 209 </dependency> 210 <!-- Need testing utility classes for generated gRPC clients tests --> 211 <dependency> 212 <groupId>com.google.api</groupId> 213 <artifactId>gax</artifactId> 214 <type>test-jar</type> 215 <classifier>testlib</classifier> 216 <scope>test</scope> 217 </dependency> 218 <dependency> 219 <groupId>com.google.api</groupId> 220 <artifactId>gax-grpc</artifactId> 221 <type>test-jar</type> 222 <classifier>testlib</classifier> 223 <scope>test</scope> 224 </dependency> 225 <dependency> 226 <groupId>com.google.api</groupId> 227 <artifactId>gax-httpjson</artifactId> 228 <type>test-jar</type> 229 <classifier>testlib</classifier> 230 <scope>test</scope> 231 </dependency> 232 </dependencies> 233</project> 234