Home | History | Annotate | Download | only in compiler
      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <!--
      3  Copyright (C) 2012 Square, Inc.
      4  Copyright (C) 2012 Google, Inc.
      5 
      6   Licensed under the Apache License, Version 2.0 (the "License");
      7   you may not use this file except in compliance with the License.
      8   You may obtain a copy of the License at
      9 
     10        http://www.apache.org/licenses/LICENSE-2.0
     11 
     12   Unless required by applicable law or agreed to in writing, software
     13   distributed under the License is distributed on an "AS IS" BASIS,
     14   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     15   See the License for the specific language governing permissions and
     16   limitations under the License.
     17 -->
     18 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     19   <modelVersion>4.0.0</modelVersion>
     20 
     21   <parent>
     22     <groupId>com.google.dagger</groupId>
     23     <artifactId>dagger-parent</artifactId>
     24     <version>2.1-SNAPSHOT</version>
     25   </parent>
     26 
     27   <artifactId>dagger-compiler</artifactId>
     28   <name>Dagger Compiler</name>
     29   <description>
     30     Tools to generate Dagger injection and module adapters from annotated code and validate them.
     31   </description>
     32 
     33   <dependencies>
     34     <dependency>
     35       <groupId>${project.groupId}</groupId>
     36       <artifactId>dagger</artifactId>
     37       <version>${project.version}</version>
     38     </dependency>
     39     <dependency>
     40       <groupId>${project.groupId}</groupId>
     41       <artifactId>dagger-producers</artifactId>
     42       <version>${project.version}</version>
     43     </dependency>
     44     <dependency>
     45       <groupId>com.google.auto</groupId>
     46       <artifactId>auto-common</artifactId>
     47     </dependency>
     48     <dependency>
     49       <groupId>com.google.guava</groupId>
     50       <artifactId>guava</artifactId>
     51     </dependency>
     52     <dependency>
     53       <groupId>com.google.code.findbugs</groupId>
     54       <artifactId>jsr305</artifactId>
     55       <optional>true</optional>
     56     </dependency>
     57     <dependency>
     58       <groupId>com.google.googlejavaformat</groupId>
     59       <artifactId>google-java-format</artifactId>
     60     </dependency>
     61     <dependency>
     62       <groupId>com.google.auto.service</groupId>
     63       <artifactId>auto-service</artifactId>
     64       <scope>provided</scope> <!-- to leave out of the all-deps jar -->
     65     </dependency>
     66     <dependency>
     67       <groupId>com.google.auto.value</groupId>
     68       <artifactId>auto-value</artifactId>
     69       <scope>provided</scope> <!-- to leave out of the all-deps jar -->
     70       <version>1.0</version>
     71     </dependency>
     72 
     73     <dependency>
     74       <groupId>junit</groupId>
     75       <artifactId>junit</artifactId>
     76       <scope>test</scope>
     77     </dependency>
     78     <dependency>
     79       <groupId>${project.groupId}</groupId>
     80       <artifactId>dagger</artifactId>
     81       <version>${project.version}</version>
     82       <scope>test</scope>
     83       <classifier>tests</classifier>
     84     </dependency>
     85     <dependency>
     86       <groupId>com.google.testing.compile</groupId>
     87       <artifactId>compile-testing</artifactId>
     88       <scope>test</scope>
     89     </dependency>
     90     <dependency>
     91       <groupId>com.google.guava</groupId>
     92       <artifactId>guava-testlib</artifactId>
     93       <scope>test</scope>
     94     </dependency>
     95     <dependency>
     96       <groupId>org.mockito</groupId>
     97       <artifactId>mockito-core</artifactId>
     98       <scope>test</scope>
     99     </dependency>
    100     <dependency>
    101       <groupId>com.google.truth</groupId>
    102       <artifactId>truth</artifactId>
    103       <scope>test</scope>
    104     </dependency>
    105   </dependencies>
    106 
    107   <build>
    108     <plugins>
    109       <plugin>
    110         <artifactId>maven-compiler-plugin</artifactId>
    111         <executions>
    112           <execution>
    113             <id>default-compile</id>
    114             <goals><goal>compile</goal></goals>
    115             <configuration>
    116               <annotationProcessors>
    117                 <annotationProcessor>com.google.auto.value.processor.AutoValueProcessor</annotationProcessor>
    118                 <annotationProcessor>com.google.auto.service.processor.AutoServiceProcessor</annotationProcessor>
    119               </annotationProcessors>
    120             </configuration>
    121           </execution>
    122           <execution>
    123             <id>default-test-compile</id>
    124             <goals><goal>testCompile</goal></goals>
    125             <configuration>
    126               <annotationProcessors>
    127                 <annotationProcessor>dagger.internal.codegen.ComponentProcessor</annotationProcessor>
    128               </annotationProcessors>
    129             </configuration>
    130           </execution>
    131         </executions>
    132       </plugin>
    133       <plugin>
    134         <artifactId>maven-invoker-plugin</artifactId>
    135         <configuration>
    136           <addTestClassPath>true</addTestClassPath>
    137           <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
    138           <cloneClean>true</cloneClean>
    139           <profiles>
    140             <profile>!sonatype-oss-release</profile>
    141           </profiles>
    142           <pomIncludes>
    143             <pomInclude>*/pom.xml</pomInclude>
    144           </pomIncludes>
    145           <localRepositoryPath>${project.build.directory}/it-repo</localRepositoryPath>
    146           <filterProperties>
    147             <dagger.version>${project.version}</dagger.version>
    148             <dagger.groupId>${project.groupId}</dagger.groupId>
    149           </filterProperties>
    150           <streamLogs>true</streamLogs>
    151         </configuration>
    152         <executions>
    153           <execution>
    154             <id>integration-test</id>
    155             <goals>
    156               <goal>install</goal>
    157               <goal>run</goal>
    158             </goals>
    159           </execution>
    160         </executions>
    161       </plugin>
    162       <plugin>
    163         <artifactId>maven-shade-plugin</artifactId>
    164         <version>2.3</version>
    165         <executions>
    166           <execution>
    167             <phase>package</phase>
    168             <goals>
    169               <goal>shade</goal>
    170             </goals>
    171             <configuration>
    172               <minimizeJar>true</minimizeJar>
    173               <artifactSet>
    174                 <excludes>
    175                   <!-- guava which has a consistent API and whose public types we vend in producers -->
    176                   <exclude>com.google.guava</exclude>
    177                   <!-- annotation processors dagger uses to be built, not to operate -->
    178                   <exclude>com.google.auto.service</exclude>
    179                   <exclude>com.google.auto.value</exclude>
    180                   <!-- projects should depend on api projects directly -->
    181                   <exclude>com.google.dagger:dagger</exclude>
    182                   <exclude>com.google.dagger:dagger-producers</exclude>
    183                   <exclude>javax.inject</exclude>
    184                 </excludes>
    185               </artifactSet>
    186               <relocations>
    187                 <relocation>
    188                   <pattern>com.google.auto.common</pattern>
    189                   <shadedPattern>dagger.shaded.auto.common</shadedPattern>
    190                 </relocation>
    191               </relocations>
    192               <filters>
    193                 <filter>
    194                   <artifact>*:*</artifact>
    195                   <excludes>
    196                     <exclude>META-INF/*.SF</exclude>
    197                     <exclude>META-INF/*.DSA</exclude>
    198                     <exclude>META-INF/*.RSA</exclude>
    199                   </excludes>
    200                 </filter>
    201               </filters>
    202             </configuration>
    203           </execution>
    204         </executions>
    205       </plugin>
    206     </plugins>
    207   </build>
    208 </project>
    209