1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 Copyright (C) 2012 Square, Inc.
4
5  Licensed under the Apache License, Version 2.0 (the "License");
6  you may not use this file except in compliance with the License.
7  You may obtain a copy of the License at
8
9       http://www.apache.org/licenses/LICENSE-2.0
10
11  Unless required by applicable law or agreed to in writing, software
12  distributed under the License is distributed on an "AS IS" BASIS,
13  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  See the License for the specific language governing permissions and
15  limitations under the License.
16-->
17<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">
18  <modelVersion>4.0.0</modelVersion>
19
20  <parent>
21    <groupId>org.sonatype.oss</groupId>
22    <artifactId>oss-parent</artifactId>
23    <version>7</version>
24  </parent>
25
26  <groupId>com.google.dagger</groupId>
27  <artifactId>dagger-parent</artifactId>
28  <packaging>pom</packaging>
29  <version>2.1-SNAPSHOT</version>
30  <name>Dagger (Parent)</name>
31  <description>A fast dependency injector for Android and Java.</description>
32  <url>https://github.com/square/dagger</url>
33
34  <modules>
35    <module>compiler</module>
36    <module>core</module>
37    <!-- examples are handled in a default profile (see below) -->
38    <module>producers</module>
39  </modules>
40
41  <properties>
42    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
43
44    <!-- Compilation -->
45    <java.version>1.7</java.version>
46    <javax.inject.version>1</javax.inject.version>
47    <javax.annotation.version>2.0.1</javax.annotation.version>
48    <javawriter.version>2.5.0</javawriter.version>
49    <auto.common.version>1.0-SNAPSHOT</auto.common.version>
50    <auto.factory.version>1.0-beta3</auto.factory.version>
51    <auto.service.version>1.0-rc2</auto.service.version>
52    <auto.value.version>1.0</auto.value.version>
53    <guava.version>18.0</guava.version>
54    <google.java.format.version>0.1-SNAPSHOT</google.java.format.version>
55
56    <!-- Test Dependencies -->
57    <compile-testing.version>1.0-SNAPSHOT</compile-testing.version>
58    <junit.version>4.11</junit.version>
59    <mockito.version>1.9.5</mockito.version>
60    <truth.version>0.26</truth.version>
61  </properties>
62
63  <scm>
64    <url>http://github.com/google/dagger/</url>
65    <connection>scm:git:git://github.com/google/dagger.git</connection>
66    <developerConnection>scm:git:ssh://git@github.com/google/dagger.git</developerConnection>
67    <tag>HEAD</tag>
68  </scm>
69
70  <issueManagement>
71    <system>GitHub Issues</system>
72    <url>http://github.com/google/dagger/issues</url>
73  </issueManagement>
74
75  <licenses>
76    <license>
77      <name>Apache 2.0</name>
78      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
79    </license>
80  </licenses>
81
82  <organization>
83    <name>Google, Inc.</name>
84    <url>http://www.google.com</url>
85  </organization>
86
87  <dependencyManagement>
88    <dependencies>
89      <dependency>
90        <groupId>javax.inject</groupId>
91        <artifactId>javax.inject</artifactId>
92        <version>${javax.inject.version}</version>
93      </dependency>
94       <dependency>
95        <groupId>javax.inject</groupId>
96        <artifactId>javax.inject-tck</artifactId>
97        <version>${javax.inject.version}</version>
98      </dependency>
99      <dependency>
100        <groupId>com.google.code.findbugs</groupId>
101        <artifactId>jsr305</artifactId>
102        <version>${javax.annotation.version}</version>
103      </dependency>
104      <dependency>
105        <groupId>com.squareup</groupId>
106        <artifactId>javawriter</artifactId>
107        <version>${javawriter.version}</version>
108      </dependency>
109      <dependency>
110        <groupId>com.google.guava</groupId>
111        <artifactId>guava</artifactId>
112        <version>${guava.version}</version>
113      </dependency>
114      <dependency>
115        <groupId>com.google.guava</groupId>
116        <artifactId>guava-testlib</artifactId>
117        <version>${guava.version}</version>
118      </dependency>
119      <dependency>
120        <groupId>com.google.googlejavaformat</groupId>
121        <artifactId>google-java-format</artifactId>
122        <version>${google.java.format.version}</version>
123      </dependency>
124      <dependency>
125        <groupId>com.google.auto</groupId>
126        <artifactId>auto-common</artifactId>
127        <version>${auto.common.version}</version>
128      </dependency>
129      <dependency>
130        <groupId>com.google.auto.service</groupId>
131        <artifactId>auto-service</artifactId>
132        <version>${auto.service.version}</version>
133      </dependency>
134      <dependency>
135        <groupId>com.google.auto.value</groupId>
136        <artifactId>auto-value</artifactId>
137        <version>${auto.value.version}</version>
138      </dependency>
139      <dependency>
140        <groupId>junit</groupId>
141        <artifactId>junit</artifactId>
142        <version>${junit.version}</version>
143      </dependency>
144      <dependency>
145        <groupId>com.google.testing.compile</groupId>
146        <artifactId>compile-testing</artifactId>
147        <version>${compile-testing.version}</version>
148      </dependency>
149      <dependency>
150        <groupId>org.mockito</groupId>
151        <artifactId>mockito-core</artifactId>
152        <version>${mockito.version}</version>
153      </dependency>
154      <dependency>
155        <groupId>com.google.truth</groupId>
156        <artifactId>truth</artifactId>
157        <version>${truth.version}</version>
158      </dependency>
159    </dependencies>
160  </dependencyManagement>
161
162  <build>
163    <pluginManagement>
164      <plugins>
165        <plugin>
166          <artifactId>maven-invoker-plugin</artifactId>
167          <version>1.7</version>
168        </plugin>
169        <plugin>
170          <artifactId>maven-compiler-plugin</artifactId>
171          <version>3.1</version>
172        </plugin>
173        <plugin>
174          <artifactId>maven-jar-plugin</artifactId>
175          <version>2.5</version>
176        </plugin>
177      </plugins>
178    </pluginManagement>
179
180    <plugins>
181      <plugin>
182        <artifactId>maven-compiler-plugin</artifactId>
183        <configuration>
184          <source>${java.version}</source>
185          <target>${java.version}</target>
186          <compilerArgument>-Xlint:all</compilerArgument>
187          <showWarnings>true</showWarnings>
188          <showDeprecation>true</showDeprecation>
189        </configuration>
190      </plugin>
191
192      <plugin>
193        <artifactId>maven-release-plugin</artifactId>
194        <version>2.3.2</version><!--$NO-MVN-MAN-VER$-->
195        <configuration>
196          <autoVersionSubmodules>true</autoVersionSubmodules>
197        </configuration>
198      </plugin>
199
200      <plugin>
201        <artifactId>maven-javadoc-plugin</artifactId>
202        <configuration>
203          <doctitle>Dagger Dependency Injection ${project.version} API</doctitle>
204        </configuration>
205      </plugin>
206
207      <plugin>
208        <artifactId>maven-checkstyle-plugin</artifactId>
209        <version>2.10</version>
210        <configuration>
211          <failsOnError>false</failsOnError>
212          <consoleOutput>true</consoleOutput>
213          <configLocation>checkstyle.xml</configLocation>
214        </configuration>
215        <executions>
216          <execution>
217            <phase>compile</phase>
218            <goals>
219              <goal>checkstyle</goal>
220            </goals>
221          </execution>
222        </executions>
223      </plugin>
224    </plugins>
225  </build>
226
227  <!--
228    A profile which when switched off excludes example modules.  By default the profile
229    is on and invokes examples.  However, when processing javadocs, it is switched off
230    omitting the example code from the javadoc.
231  -->
232  <profiles>
233    <profile>
234      <id>examples</id>
235      <activation>
236        <activeByDefault>true</activeByDefault>
237      </activation>
238      <modules>
239        <module>core</module>
240        <module>compiler</module>
241        <module>examples</module>
242        <module>producers</module>
243      </modules>
244    </profile>
245  </profiles>
246</project>
247