xref: /aosp_15_r20/external/guava/futures/listenablefuture9999/pom.xml (revision fb5080426417cab6bd44d0ed3f37e47d42859579)
1<?xml version="1.0" encoding="UTF-8"?>
2<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4  <modelVersion>4.0.0</modelVersion>
5  <parent>
6    <groupId>com.google.guava</groupId>
7    <artifactId>guava-parent</artifactId>
8    <version>26.0-android</version>
9  </parent>
10  <artifactId>listenablefuture</artifactId>
11  <version>9999.0-empty-to-avoid-conflict-with-guava</version>
12  <name>Guava ListenableFuture only</name>
13  <description>
14    An empty artifact that Guava depends on to signal that it is providing
15    ListenableFuture -- but is also available in a second "version" that
16    contains com.google.common.util.concurrent.ListenableFuture class, without
17    any other Guava classes. The idea is:
18
19    - If users want only ListenableFuture, they depend on listenablefuture-1.0.
20
21    - If users want all of Guava, they depend on guava, which, as of Guava
22    27.0, depends on
23    listenablefuture-9999.0-empty-to-avoid-conflict-with-guava. The 9999.0-...
24    version number is enough for some build systems (notably, Gradle) to select
25    that empty artifact over the "real" listenablefuture-1.0 -- avoiding a
26    conflict with the copy of ListenableFuture in guava itself. If users are
27    using an older version of Guava or a build system other than Gradle, they
28    may see class conflicts. If so, they can solve them by manually excluding
29    the listenablefuture artifact or manually forcing their build systems to
30    use 9999.0-....
31  </description>
32  <build>
33    <plugins>
34      <plugin>
35        <artifactId>maven-source-plugin</artifactId>
36      </plugin>
37      <plugin>
38        <groupId>org.codehaus.mojo</groupId>
39        <artifactId>animal-sniffer-maven-plugin</artifactId>
40      </plugin>
41      <plugin>
42        <artifactId>maven-javadoc-plugin</artifactId>
43        <executions>
44          <execution>
45            <id>attach-docs</id>
46          </execution>
47          <execution>
48            <id>generate-javadoc-site-report</id>
49            <phase>site</phase>
50            <goals><goal>javadoc</goal></goals>
51          </execution>
52        </executions>
53      </plugin>
54    </plugins>
55  </build>
56</project>
57