xref: /aosp_15_r20/external/sdk-platform-java/showcase/gapic-showcase/pom.xml (revision 882aa7c72c3cd3b66e72a261bdd69b93f7de7670)
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