Home | History | Annotate | Download | only in lib
      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>19.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.3.7</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               sun.misc.*;resolution:=optional
     68             </Import-Package>
     69             <Bundle-DocURL>https://guava-libraries.googlecode.com/</Bundle-DocURL>
     70           </instructions>
     71         </configuration>
     72       </plugin>
     73       <plugin>
     74         <artifactId>maven-compiler-plugin</artifactId>
     75       </plugin>
     76       <plugin>
     77         <artifactId>maven-source-plugin</artifactId>
     78       </plugin>
     79       <!-- TODO(cpovirk): include JDK sources when building testlib doc, too -->
     80       <plugin>
     81         <artifactId>maven-dependency-plugin</artifactId>
     82         <executions>
     83           <execution>
     84             <id>unpack-jdk-sources</id>
     85             <phase>site</phase>
     86             <goals><goal>unpack-dependencies</goal></goals>
     87             <configuration>
     88               <includeArtifactIds>srczip</includeArtifactIds>
     89               <outputDirectory>${project.build.directory}/jdk-sources</outputDirectory>
     90               <silent>false</silent>
     91             </configuration>
     92           </execution>
     93         </executions>
     94       </plugin>
     95       <plugin>
     96         <groupId>org.codehaus.mojo</groupId>
     97         <artifactId>animal-sniffer-maven-plugin</artifactId>
     98       </plugin>
     99       <plugin>
    100         <groupId>org.apache.maven.plugins</groupId>
    101         <artifactId>maven-javadoc-plugin</artifactId>
    102         <configuration>
    103           <encoding>UTF-8</encoding>
    104           <docencoding>UTF-8</docencoding>
    105           <charset>UTF-8</charset>
    106           <additionalparam>-XDignore.symbol.file</additionalparam>
    107           <excludePackageNames>com.google.common.base.internal</excludePackageNames>
    108           <linksource>true</linksource>
    109           <links>
    110             <link>http://jsr-305.googlecode.com/svn/trunk/javadoc</link>
    111             <link>http://docs.oracle.com/javase/7/docs/api/</link>
    112           </links>
    113           <!-- 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? -->
    114           <sourcepath>${project.build.sourceDirectory}:${project.build.directory}/jdk-sources</sourcepath>
    115           <subpackages>com.google.common</subpackages>
    116         </configuration>
    117         <executions>
    118           <execution>
    119             <id>attach-docs</id>
    120           </execution>
    121           <execution>
    122             <id>generate-javadoc-site-report</id>
    123             <phase>site</phase>
    124             <goals><goal>javadoc</goal></goals>
    125           </execution>
    126         </executions>
    127       </plugin>
    128     </plugins>
    129   </build>
    130   <profiles>
    131     <profile>
    132       <id>srczip</id>
    133       <activation>
    134         <file>
    135           <exists>${java.home}/../src.zip</exists>
    136         </file>
    137       </activation>
    138       <dependencies>
    139         <dependency>
    140           <groupId>jdk</groupId>
    141           <artifactId>srczip</artifactId>
    142           <version>999</version>
    143           <scope>system</scope>
    144           <systemPath>${java.home}/../src.zip</systemPath>
    145           <optional>true</optional>
    146         </dependency>
    147       </dependencies>
    148     </profile>
    149     <profile>
    150       <id>jdk8</id>
    151       <activation>
    152         <jdk>[1.8,)</jdk>
    153       </activation>
    154       <!-- Disable doclint under JDK 8 -->
    155       <!-- This is defined in guava-parent as well, but we need it here too because the
    156            <additionalparam> from the maven-javadoc-plugin configuration above seems to
    157            override the one from the parent pom. -->
    158       <reporting>
    159         <plugins>
    160           <plugin>
    161             <groupId>org.apache.maven.plugins</groupId>
    162             <artifactId>maven-javadoc-plugin</artifactId>
    163             <configuration>
    164               <additionalparam>-XDignore.symbol.file -Xdoclint:none</additionalparam>
    165             </configuration>
    166           </plugin>
    167         </plugins>
    168       </reporting>
    169       <build>
    170         <plugins>
    171           <plugin>
    172             <groupId>org.apache.maven.plugins</groupId>
    173             <artifactId>maven-javadoc-plugin</artifactId>
    174             <configuration>
    175               <additionalparam>-XDignore.symbol.file -Xdoclint:none</additionalparam>
    176             </configuration>
    177           </plugin>
    178         </plugins>
    179       </build>
    180     </profile>
    181   </profiles>
    182 </project>
    183