Home | History | Annotate | Download | only in 20.0
      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>20.0</version>
      9   </parent>
     10   <artifactId>guava</artifactId>
     11   <packaging>bundle</packaging>
     12   <name>Guava: Google Core Libraries for Java</name>
     13   <description>
     14     Guava is a suite of core and expanded libraries that include
     15     utility classes, google's collections, io classes, and much
     16     much more.
     17 
     18     Guava has only one code dependency - javax.annotation,
     19     per the JSR-305 spec.
     20   </description>
     21   <dependencies>
     22     <dependency>
     23       <groupId>com.google.code.findbugs</groupId>
     24       <artifactId>jsr305</artifactId>
     25       <optional>true</optional><!-- needed only for annotations -->
     26     </dependency>
     27     <dependency>
     28       <groupId>com.google.errorprone</groupId>
     29       <artifactId>error_prone_annotations</artifactId>
     30       <optional>true</optional><!-- needed only for annotations -->
     31     </dependency>
     32     <dependency>
     33       <groupId>com.google.j2objc</groupId>
     34       <artifactId>j2objc-annotations</artifactId>
     35       <optional>true</optional><!-- needed only for annotations -->
     36     </dependency>
     37     <dependency>
     38       <groupId>org.codehaus.mojo</groupId>
     39       <artifactId>animal-sniffer-annotations</artifactId>
     40       <version>${animal.sniffer.version}</version>
     41       <optional>true</optional><!-- needed only for annotations -->
     42     </dependency>
     43     <!-- TODO(cpovirk): does this comment belong on the <dependency> in <profiles>? -->
     44     <!-- TODO(cpovirk): want this only for dependency plugin but seems not to work there? Maven runs without failure, but the resulting Javadoc is missing the hoped-for inherited text -->
     45   </dependencies>
     46   <build>
     47     <plugins>
     48       <plugin>
     49         <extensions>true</extensions>
     50         <groupId>org.apache.felix</groupId>
     51         <artifactId>maven-bundle-plugin</artifactId>
     52         <version>2.5.0</version>
     53         <executions>
     54           <execution>
     55             <id>bundle-manifest</id>
     56             <phase>process-classes</phase>
     57             <goals>
     58               <goal>manifest</goal>
     59             </goals>
     60           </execution>
     61         </executions>
     62         <configuration>
     63           <instructions>
     64             <Export-Package>!com.google.common.base.internal,com.google.common.*</Export-Package>
     65             <Import-Package>
     66               javax.annotation;resolution:=optional,
     67               javax.crypto.*;resolution:=optional,
     68               sun.misc.*;resolution:=optional
     69             </Import-Package>
     70             <Bundle-DocURL>https://github.com/google/guava/</Bundle-DocURL>
     71           </instructions>
     72         </configuration>
     73       </plugin>
     74       <plugin>
     75         <artifactId>maven-compiler-plugin</artifactId>
     76       </plugin>
     77       <plugin>
     78         <artifactId>maven-source-plugin</artifactId>
     79       </plugin>
     80       <!-- TODO(cpovirk): include JDK sources when building testlib doc, too -->
     81       <plugin>
     82         <artifactId>maven-dependency-plugin</artifactId>
     83         <executions>
     84           <execution>
     85             <id>unpack-jdk-sources</id>
     86             <phase>site</phase>
     87             <goals><goal>unpack-dependencies</goal></goals>
     88             <configuration>
     89               <includeArtifactIds>srczip</includeArtifactIds>
     90               <outputDirectory>${project.build.directory}/jdk-sources</outputDirectory>
     91               <silent>false</silent>
     92             </configuration>
     93           </execution>
     94         </executions>
     95       </plugin>
     96       <plugin>
     97         <groupId>org.codehaus.mojo</groupId>
     98         <artifactId>animal-sniffer-maven-plugin</artifactId>
     99       </plugin>
    100       <plugin>
    101         <groupId>org.apache.maven.plugins</groupId>
    102         <artifactId>maven-javadoc-plugin</artifactId>
    103         <configuration>
    104           <encoding>UTF-8</encoding>
    105           <docencoding>UTF-8</docencoding>
    106           <charset>UTF-8</charset>
    107           <additionalparam>-XDignore.symbol.file</additionalparam>
    108           <excludePackageNames>com.google.common.base.internal</excludePackageNames>
    109           <linksource>true</linksource>
    110           <links>
    111             <link>http://jsr-305.googlecode.com/svn/trunk/javadoc</link>
    112             <link>http://docs.oracle.com/javase/7/docs/api/</link>
    113           </links>
    114           <!-- TODO(cpovirk): can we use includeDependencySources and a local com.oracle.java:jdk-lib:noversion:sources instead of all this unzipping and manual sourcepath modification? -->
    115           <sourcepath>${project.build.sourceDirectory}:${project.build.directory}/jdk-sources</sourcepath>
    116           <subpackages>com.google.common</subpackages>
    117         </configuration>
    118         <executions>
    119           <execution>
    120             <id>attach-docs</id>
    121           </execution>
    122           <execution>
    123             <id>generate-javadoc-site-report</id>
    124             <phase>site</phase>
    125             <goals><goal>javadoc</goal></goals>
    126           </execution>
    127         </executions>
    128       </plugin>
    129     </plugins>
    130   </build>
    131   <profiles>
    132     <profile>
    133       <id>srczip</id>
    134       <activation>
    135         <file>
    136           <exists>${java.home}/../src.zip</exists>
    137         </file>
    138       </activation>
    139       <dependencies>
    140         <dependency>
    141           <groupId>jdk</groupId>
    142           <artifactId>srczip</artifactId>
    143           <version>999</version>
    144           <scope>system</scope>
    145           <systemPath>${java.home}/../src.zip</systemPath>
    146           <optional>true</optional>
    147         </dependency>
    148       </dependencies>
    149     </profile>
    150     <profile>
    151       <id>jdk8</id>
    152       <activation>
    153         <jdk>[1.8,)</jdk>
    154       </activation>
    155       <!-- Disable doclint under JDK 8 -->
    156       <!-- This is defined in guava-parent as well, but we need it here too because the
    157            <additionalparam> from the maven-javadoc-plugin configuration above seems to
    158            override the one from the parent pom. -->
    159       <reporting>
    160         <plugins>
    161           <plugin>
    162             <groupId>org.apache.maven.plugins</groupId>
    163             <artifactId>maven-javadoc-plugin</artifactId>
    164             <configuration>
    165               <additionalparam>-XDignore.symbol.file -Xdoclint:none</additionalparam>
    166             </configuration>
    167           </plugin>
    168         </plugins>
    169       </reporting>
    170       <build>
    171         <plugins>
    172           <plugin>
    173             <groupId>org.apache.maven.plugins</groupId>
    174             <artifactId>maven-javadoc-plugin</artifactId>
    175             <configuration>
    176               <additionalparam>-XDignore.symbol.file -Xdoclint:none</additionalparam>
    177             </configuration>
    178           </plugin>
    179         </plugins>
    180       </build>
    181     </profile>
    182   </profiles>
    183 </project>
    184