xref: /aosp_15_r20/external/sdk-platform-java/gapic-generator-java-pom-parent/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" child.project.url.inherit.append.path="false">
5  <modelVersion>4.0.0</modelVersion>
6  <groupId>com.google.api</groupId>
7  <artifactId>gapic-generator-java-pom-parent</artifactId>
8  <version>2.19.0</version><!-- {x-version-update:gapic-generator-java:current} -->
9  <packaging>pom</packaging>
10  <name>GAPIC Generator Java POM Parent</name>
11  <url>https://github.com/googleapis/gapic-generator-java</url>
12  <description>
13    The top-level parent for all modules in the repository.
14  </description>
15  <parent>
16    <groupId>com.google.cloud</groupId>
17    <artifactId>google-cloud-shared-config</artifactId>
18    <version>1.5.5</version>
19    <relativePath/>
20  </parent>
21
22  <properties>
23    <skipUnitTests>false</skipUnitTests>
24    <checkstyle.header.file>java.header</checkstyle.header.file>
25
26    <!-- External dependencies, especially gRPC and Protobuf version, should be
27        consistent across modules in this repository -->
28    <javax.annotation-api.version>1.3.2</javax.annotation-api.version>
29    <grpc.version>1.54.0</grpc.version>
30    <google.auth.version>1.16.0</google.auth.version>
31    <gson.version>2.10.1</gson.version>
32    <guava.version>31.1-jre</guava.version>
33    <protobuf.version>3.21.12</protobuf.version>
34    <maven.compiler.release>8</maven.compiler.release>
35  </properties>
36
37  <developers>
38    <developer>
39      <id>suztomo</id>
40      <name>Tomo Suzuki</name>
41      <email>[email protected]</email>
42      <organization>Google</organization>
43      <roles>
44        <role>Developer</role>
45      </roles>
46    </developer>
47  </developers>
48  <organization>
49    <name>Google LLC</name>
50  </organization>
51  <scm child.scm.connection.inherit.append.path="false"  child.scm.developerConnection.inherit.append.path="false"
52      child.scm.url.inherit.append.path="false">
53    <connection>scm:git:[email protected]:googleapis/gapic-generator-java.git</connection>
54    <developerConnection>scm:git:[email protected]:googleapis/gapic-generator-java.git</developerConnection>
55    <url>https://github.com/googleapis/gapic-generator-java</url>
56    <tag>HEAD</tag>
57  </scm>
58  <issueManagement>
59    <url>https://github.com/googleapis/gapic-generator-java/issues</url>
60    <system>GitHub Issues</system>
61  </issueManagement>
62
63  <licenses>
64    <license>
65      <name>Apache-2.0</name>
66      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
67    </license>
68  </licenses>
69
70  <profiles>
71    <profile>
72      <!-- Only run checkstyle plugin on Java 11+ (checkstyle artifact only supports Java 11+) -->
73      <id>checkstyle-tests</id>
74      <activation>
75        <jdk>[11,)</jdk>
76      </activation>
77      <build>
78        <plugins>
79          <plugin>
80            <groupId>org.apache.maven.plugins</groupId>
81            <artifactId>maven-checkstyle-plugin</artifactId>
82            <executions>
83              <execution>
84                <id>checkstyle</id>
85                <phase>validate</phase>
86                <goals>
87                  <goal>check</goal>
88                </goals>
89                <configuration>
90                  <headerLocation>${checkstyle.header.file}</headerLocation>
91                </configuration>
92              </execution>
93            </executions>
94          </plugin>
95        </plugins>
96      </build>
97    </profile>
98
99    <profile>
100      <id>test-coverage</id>
101      <activation>
102        <property>
103          <name>enableShowcaseTestCoverage</name>
104        </property>
105      </activation>
106      <build>
107        <pluginManagement>
108          <plugins>
109            <plugin>
110              <groupId>org.apache.maven.plugins</groupId>
111              <artifactId>maven-surefire-plugin</artifactId>
112              <version>3.0.0-M8</version>
113              <configuration>
114                <!-- Excludes integration tests and smoke tests when unit tests are run -->
115                <excludes>
116                  <exclude>**/*SmokeTest.java</exclude>
117                  <exclude>**/IT*.java</exclude>
118                </excludes>
119                <reportNameSuffix>sponge_log</reportNameSuffix>
120                <argLine>${surefire.jacoco.args}</argLine>
121                <skipTests>${skipUnitTests}</skipTests>
122              </configuration>
123            </plugin>
124
125            <plugin>
126              <groupId>org.apache.maven.plugins</groupId>
127              <artifactId>maven-failsafe-plugin</artifactId>
128              <version>3.0.0</version>
129              <executions>
130                <execution>
131                  <goals>
132                    <goal>integration-test</goal>
133                    <goal>verify</goal>
134                  </goals>
135                </execution>
136              </executions>
137              <configuration>
138                <forkedProcessTimeoutInSeconds>3600</forkedProcessTimeoutInSeconds>
139                <reportNameSuffix>sponge_log</reportNameSuffix>
140                <includes>
141                  <include>**/IT*.java</include>
142                  <include>**/*SmokeTest.java</include>
143                </includes>
144                <argLine>${failsafe.jacoco.args}</argLine>
145              </configuration>
146            </plugin>
147          </plugins>
148        </pluginManagement>
149        <plugins>
150          <plugin>
151            <groupId>org.jacoco</groupId>
152            <artifactId>jacoco-maven-plugin</artifactId>
153            <version>0.8.8</version>
154            <executions>
155              <execution>
156                <id>unit-test-execution</id>
157                <goals>
158                  <goal>prepare-agent</goal>
159                </goals>
160                <configuration>
161                  <propertyName>surefire.jacoco.args</propertyName>
162                </configuration>
163              </execution>
164              <execution>
165                <id>integration-test-execution</id>
166                <phase>pre-integration-test</phase>
167                <goals>
168                  <goal>prepare-agent</goal>
169                </goals>
170                <configuration>
171                  <propertyName>failsafe.jacoco.args</propertyName>
172                </configuration>
173              </execution>
174            </executions>
175          </plugin>
176        </plugins>
177      </build>
178    </profile>
179  </profiles>
180  <repositories>
181    <repository>
182      <id>google-maven-central-copy</id>
183      <name>Google Maven Central copy</name>
184      <url>https://maven-central.storage-download.googleapis.com/maven2</url>
185    </repository>
186    <repository>
187      <id>maven-central</id>
188      <name>Maven Central</name>
189      <url>https://repo1.maven.org/maven2</url>
190    </repository>
191  </repositories>
192</project>