• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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