xref: /aosp_15_r20/external/google-auth-library-java/pom.xml (revision af546375c95127f07cb26dd492629ccb2e8b1be1)
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/maven-v4_0_0.xsd">
5  <modelVersion>4.0.0</modelVersion>
6  <groupId>com.google.auth</groupId>
7  <artifactId>google-auth-library-parent</artifactId>
8  <version>1.23.0</version><!-- {x-version-update:google-auth-library-parent:current} -->
9  <packaging>pom</packaging>
10  <name>Google Auth Library for Java</name>
11  <description>Client libraries providing authentication and
12    authorization to enable calling Google APIs.
13  </description>
14  <url>https://github.com/googleapis/google-auth-library-java</url>
15
16  <parent>
17    <groupId>com.google.cloud</groupId>
18    <artifactId>google-cloud-shared-config</artifactId>
19    <version>1.6.1</version>
20  </parent>
21
22  <distributionManagement>
23    <snapshotRepository>
24      <id>sonatype-nexus-snapshots</id>
25      <url>https://google.oss.sonatype.org/content/repositories/snapshots</url>
26    </snapshotRepository>
27    <site>
28      <id>googleapis.dev</id>
29      <name>Google self-hosted documentation site</name>
30      <url>https://googleapis.dev/java/google-auth-library/${project.version}</url>
31    </site>
32  </distributionManagement>
33
34  <licenses>
35    <license>
36      <name>BSD New license</name>
37      <url>http://opensource.org/licenses/BSD-3-Clause</url>
38      <distribution>repo</distribution>
39    </license>
40  </licenses>
41
42  <organization>
43    <name>Google</name>
44    <url>http://www.google.com/</url>
45  </organization>
46
47
48  <developers>
49    <developer>
50      <name>Jeff Ching</name>
51      <email>[email protected]</email>
52      <organization>Google</organization>
53    </developer>
54  </developers>
55
56  <modules>
57    <module>credentials</module>
58    <module>oauth2_http</module>
59    <module>appengine</module>
60    <module>bom</module>
61  </modules>
62
63  <scm>
64    <connection>scm:git:https://github.com/googleapis/google-auth-library-java.git</connection>
65    <developerConnection>scm:git:https://github.com/googleapis/google-auth-library-java.git
66    </developerConnection>
67    <url>https://github.com/googleapis/google-auth-library-java</url>
68  </scm>
69
70  <properties>
71    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
72    <project.google.http.version>1.43.3</project.google.http.version>
73    <project.junit.version>4.13.2</project.junit.version>
74    <project.guava.version>32.0.0-android</project.guava.version>
75    <project.appengine.version>2.0.21</project.appengine.version>
76    <project.findbugs.version>3.0.2</project.findbugs.version>
77    <deploy.autorelease>false</deploy.autorelease>
78    <project.error-prone.version>2.18.0</project.error-prone.version>
79  </properties>
80
81  <dependencyManagement>
82    <dependencies>
83      <dependency>
84        <groupId>com.google.auth</groupId>
85        <artifactId>google-auth-library-credentials</artifactId>
86        <version>${project.version}</version>
87      </dependency>
88      <dependency>
89        <groupId>com.google.auth</groupId>
90        <artifactId>google-auth-library-oauth2-http</artifactId>
91        <version>${project.version}</version>
92      </dependency>
93      <dependency>
94        <groupId>com.google.auth</groupId>
95        <artifactId>google-auth-library-cloudshell</artifactId>
96        <version>${project.version}</version>
97      </dependency>
98      <dependency>
99        <groupId>com.google.http-client</groupId>
100        <artifactId>google-http-client-bom</artifactId>
101        <version>${project.google.http.version}</version>
102        <type>pom</type>
103        <scope>import</scope>
104      </dependency>
105      <dependency>
106        <groupId>com.google.appengine</groupId>
107        <artifactId>appengine-api-1.0-sdk</artifactId>
108        <version>${project.appengine.version}</version>
109      </dependency>
110      <dependency>
111        <groupId>com.google.guava</groupId>
112        <artifactId>guava</artifactId>
113        <version>${project.guava.version}</version>
114      </dependency>
115      <dependency>
116        <groupId>com.google.code.findbugs</groupId>
117        <artifactId>jsr305</artifactId>
118        <version>${project.findbugs.version}</version>
119      </dependency>
120      <dependency>
121        <groupId>junit</groupId>
122        <artifactId>junit</artifactId>
123        <version>${project.junit.version}</version>
124        <scope>test</scope>
125      </dependency>
126      <dependency>
127        <groupId>com.google.appengine</groupId>
128        <artifactId>appengine</artifactId>
129        <version>${project.appengine.version}</version>
130        <scope>test</scope>
131      </dependency>
132      <dependency>
133        <groupId>com.google.auth</groupId>
134        <artifactId>google-auth-library-oauth2-http</artifactId>
135        <version>${project.version}</version>
136        <type>test-jar</type>
137        <classifier>testlib</classifier>
138      </dependency>
139      <dependency>
140          <groupId>com.google.errorprone</groupId>
141          <artifactId>error_prone_annotations</artifactId>
142          <version>${project.error-prone.version}</version>
143          <scope>compile</scope>
144      </dependency>
145    </dependencies>
146  </dependencyManagement>
147
148  <build>
149    <!-- This is the parent, so only define pluginManagement, not plugins. -->
150    <pluginManagement>
151      <plugins>
152        <plugin>
153          <groupId>org.sonatype.plugins</groupId>
154          <artifactId>nexus-staging-maven-plugin</artifactId>
155          <version>1.6.13</version>
156          <extensions>true</extensions>
157          <configuration>
158            <serverId>ossrh</serverId>
159            <nexusUrl>https://google.oss.sonatype.org/</nexusUrl>
160            <autoReleaseAfterClose>${deploy.autorelease}</autoReleaseAfterClose>
161          </configuration>
162        </plugin>
163        <plugin>
164          <groupId>org.apache.maven.plugins</groupId>
165          <artifactId>maven-source-plugin</artifactId>
166          <version>3.3.0</version>
167          <executions>
168            <execution>
169              <id>attach-sources</id>
170              <goals>
171                <goal>jar-no-fork</goal>
172              </goals>
173            </execution>
174          </executions>
175        </plugin>
176        <plugin>
177          <groupId>org.apache.maven.plugins</groupId>
178          <artifactId>maven-javadoc-plugin</artifactId>
179          <version>3.6.0</version>
180          <configuration>
181            <source>8</source>
182            <failOnError>false</failOnError>
183          </configuration>
184          <executions>
185            <execution>
186              <id>attach-javadocs</id>
187              <goals>
188                <goal>jar</goal>
189              </goals>
190            </execution>
191          </executions>
192        </plugin>
193        <plugin>
194          <groupId>org.apache.maven.plugins</groupId>
195          <artifactId>maven-jar-plugin</artifactId>
196          <version>3.3.0</version>
197          <executions>
198            <execution>
199              <goals>
200                <goal>test-jar</goal>
201              </goals>
202            </execution>
203          </executions>
204        </plugin>
205        <plugin>
206          <groupId>org.apache.maven.plugins</groupId>
207          <artifactId>maven-surefire-plugin</artifactId>
208          <version>3.0.0-M7</version>
209          <configuration>
210            <reportNameSuffix>sponge_log</reportNameSuffix>
211          </configuration>
212        </plugin>
213        <plugin>
214          <groupId>org.apache.maven.plugins</groupId>
215          <artifactId>maven-dependency-plugin</artifactId>
216          <version>3.6.1</version>
217        </plugin>
218        <plugin>
219          <groupId>org.codehaus.mojo</groupId>
220          <artifactId>clirr-maven-plugin</artifactId>
221          <version>2.8</version>
222        </plugin>
223      </plugins>
224    </pluginManagement>
225    <plugins>
226      <plugin>
227        <artifactId>maven-compiler-plugin</artifactId>
228        <version>3.11.0</version>
229        <configuration>
230          <source>1.8</source>
231          <target>1.8</target>
232          <encoding>UTF-8</encoding>
233        </configuration>
234      </plugin>
235      <plugin>
236        <groupId>org.sonatype.plugins</groupId>
237        <artifactId>nexus-staging-maven-plugin</artifactId>
238      </plugin>
239      <plugin>
240        <groupId>org.apache.maven.plugins</groupId>
241        <artifactId>maven-source-plugin</artifactId>
242      </plugin>
243      <plugin>
244        <groupId>org.apache.maven.plugins</groupId>
245        <artifactId>maven-checkstyle-plugin</artifactId>
246        <version>3.3.1</version>
247        <executions>
248          <execution>
249            <id>checkstyle</id>
250            <phase>validate</phase>
251            <goals>
252              <goal>check</goal>
253            </goals>
254            <configuration>
255              <headerLocation>java.header</headerLocation>
256              <configLocation>license-checks.xml</configLocation>
257              <consoleOutput>true</consoleOutput>
258              <failOnViolation>true</failOnViolation>
259              <violationSeverity>error</violationSeverity>
260              <failsOnError>true</failsOnError>
261              <includeTestSourceDirectory>true</includeTestSourceDirectory>
262              <!-- Explicitly set the source directory to avoid running checkstyle on generated sources. -->
263              <sourceDirectories>
264                <sourceDirectory>src/main</sourceDirectory>
265              </sourceDirectories>
266              <testSourceDirectories>
267                <testSourceDirectory>src/test</testSourceDirectory>
268              </testSourceDirectories>
269              <excludes>com.google.auth.oauth2.ExternalAccountCredentials</excludes>
270            </configuration>
271          </execution>
272        </executions>
273      </plugin>
274      <plugin>
275        <groupId>org.apache.maven.plugins</groupId>
276        <artifactId>maven-site-plugin</artifactId>
277        <version>3.12.1</version>
278        <configuration>
279          <skipDeploy>true</skipDeploy>
280        </configuration>
281      </plugin>
282      <plugin>
283        <groupId>org.jacoco</groupId>
284        <artifactId>jacoco-maven-plugin</artifactId>
285        <version>0.8.11</version>
286        <executions>
287          <execution>
288            <goals>
289              <goal>prepare-agent</goal>
290            </goals>
291          </execution>
292          <execution>
293            <id>report</id>
294            <phase>test</phase>
295            <goals>
296              <goal>report</goal>
297            </goals>
298          </execution>
299        </executions>
300      </plugin>
301      <plugin>
302        <groupId>org.codehaus.mojo</groupId>
303        <artifactId>clirr-maven-plugin</artifactId>
304        <configuration>
305          <ignoredDifferencesFile>clirr-ignored-differences.xml</ignoredDifferencesFile>
306          <logResults>true</logResults>
307        </configuration>
308        <executions>
309          <execution>
310            <goals>
311              <goal>check</goal>
312            </goals>
313          </execution>
314        </executions>
315      </plugin>
316      <plugin>
317        <groupId>org.apache.maven.plugins</groupId>
318        <artifactId>maven-resources-plugin</artifactId>
319        <version>3.3.1</version>
320      </plugin>
321    </plugins>
322  </build>
323
324  <reporting>
325    <plugins>
326      <plugin>
327        <groupId>org.apache.maven.plugins</groupId>
328        <artifactId>maven-javadoc-plugin</artifactId>
329        <version>3.6.0</version>
330        <reportSets>
331          <reportSet>
332            <id>html</id>
333            <reports>
334              <report>aggregate</report>
335              <report>javadoc</report>
336            </reports>
337          </reportSet>
338        </reportSets>
339        <configuration>
340          <failOnError>false</failOnError>
341          <doclint>none</doclint>
342          <source>8</source>
343          <outputDirectory>${project.build.directory}/javadoc</outputDirectory>
344          <doctitle>Google Auth Library for Java ${project.version}</doctitle>
345          <overview>${basedir}/overview.html</overview>
346          <groups>
347            <group>
348              <title>google-auth-library-credentials</title>
349              <packages>com.google.auth*</packages>
350            </group>
351            <group>
352              <title>google-auth-library-oauth2-http</title>
353              <packages>com.google.auth.http*:com.google.auth.oauth2*</packages>
354            </group>
355            <group>
356              <title>google-auth-library-appengine</title>
357              <packages>com.google.auth.appengine*</packages>
358            </group>
359          </groups>
360          <links>
361            <link>http://download.oracle.com/javase/7/docs/api/</link>
362            <link>http://cloud.google.com/appengine/docs/java/javadoc</link>
363          </links>
364          <windowtitle>google-auth-library ${project.version}</windowtitle>
365        </configuration>
366      </plugin>
367    </plugins>
368  </reporting>
369
370  <profiles>
371    <profile>
372      <id>release-sign-artifacts</id>
373      <activation>
374        <property>
375          <name>performRelease</name>
376          <value>true</value>
377        </property>
378      </activation>
379      <build>
380        <plugins>
381          <plugin>
382            <groupId>org.apache.maven.plugins</groupId>
383            <artifactId>maven-source-plugin</artifactId>
384            <version>3.3.0</version>
385            <executions>
386              <execution>
387                <id>attach-sources</id>
388                <goals>
389                  <goal>jar-no-fork</goal>
390                </goals>
391              </execution>
392            </executions>
393          </plugin>
394          <plugin>
395            <groupId>org.apache.maven.plugins</groupId>
396            <artifactId>maven-javadoc-plugin</artifactId>
397            <version>3.6.0</version>
398            <executions>
399              <execution>
400                <id>attach-javadocs</id>
401                <goals>
402                  <goal>jar</goal>
403                </goals>
404              </execution>
405            </executions>
406          </plugin>
407          <plugin>
408            <groupId>org.apache.maven.plugins</groupId>
409            <artifactId>maven-gpg-plugin</artifactId>
410            <version>3.1.0</version>
411            <executions>
412              <execution>
413                <id>sign-artifacts</id>
414                <phase>verify</phase>
415                <goals>
416                  <goal>sign</goal>
417                </goals>
418                <configuration>
419                  <gpgArguments>
420                    <arg>--pinentry-mode</arg>
421                    <arg>loopback</arg>
422                  </gpgArguments>
423                </configuration>
424              </execution>
425            </executions>
426          </plugin>
427        </plugins>
428      </build>
429    </profile>
430
431    <profile>
432      <id>docFX</id>
433      <activation>
434        <property>
435          <!-- Activate with -P docFX -->
436          <name>docFX</name>
437        </property>
438      </activation>
439      <properties>
440        <!-- default config values -->
441        <docletName>java-docfx-doclet-1.9.0</docletName>
442        <outputpath>${project.build.directory}/docfx-yml</outputpath>
443        <projectname>${project.artifactId}</projectname>
444        <excludeclasses></excludeclasses>
445        <excludePackages></excludePackages>
446        <source>8</source>
447        <sourceFileExclude></sourceFileExclude>
448      </properties>
449      <build>
450        <plugins>
451          <plugin>
452            <groupId>org.apache.maven.plugins</groupId>
453            <artifactId>maven-javadoc-plugin</artifactId>
454            <version>3.6.0</version>
455            <configuration>
456              <doclet>com.microsoft.doclet.DocFxDoclet</doclet>
457              <useStandardDocletOptions>false</useStandardDocletOptions>
458              <!-- custom config with -Dproperty=value -->
459              <docletPath>${env.KOKORO_GFILE_DIR}/${docletName}.jar</docletPath>
460              <additionalOptions>
461                -outputpath ${outputpath}
462                -projectname ${projectname}
463                -excludeclasses ${excludeclasses}:
464                -excludepackages ${excludePackages}:
465              </additionalOptions>
466              <doclint>none</doclint>
467              <show>protected</show>
468              <nohelp>true</nohelp>
469              <source>${source}</source>
470              <sourceFileExcludes>
471                <exclude>${sourceFileExclude}</exclude>
472              </sourceFileExcludes>
473              <failOnError>false</failOnError>
474            </configuration>
475          </plugin>
476        </plugins>
477      </build>
478    </profile>
479  </profiles>
480</project>
481