1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3  ~ Copyright 2015 Google 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
18<project xmlns="http://maven.apache.org/POM/4.0.0"
19         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
20         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
21  <modelVersion>4.0.0</modelVersion>
22  <parent>
23    <groupId>org.sonatype.oss</groupId>
24    <artifactId>oss-parent</artifactId>
25    <version>7</version>
26  </parent>
27
28  <groupId>com.google.googlejavaformat</groupId>
29  <artifactId>google-java-format-parent</artifactId>
30  <packaging>pom</packaging>
31  <version>1.9</version>
32
33  <modules>
34    <module>core</module>
35    <!-- google-java-format#24
36    <module>idea_plugin</module>
37    <module>eclipse_plugin</module>
38    -->
39  </modules>
40
41  <name>Google Java Format Parent</name>
42
43  <description>
44    A Java source code formatter that follows Google Java Style.
45  </description>
46
47  <url>https://github.com/google/google-java-format</url>
48
49  <inceptionYear>2015</inceptionYear>
50
51  <organization>
52    <name>Google Inc.</name>
53    <url>http://www.google.com/</url>
54  </organization>
55
56  <licenses>
57    <license>
58      <name>The Apache Software License, Version 2.0</name>
59      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
60      <distribution>repo</distribution>
61    </license>
62  </licenses>
63
64  <developers>
65    <developer>
66      <id>jdd</id>
67      <name>John DeTreville</name>
68      <email>jdd@google.com</email>
69      <organization>Google Inc.</organization>
70      <organizationUrl>http://www.google.com/</organizationUrl>
71      <roles>
72        <role>owner</role>
73        <role>developer</role>
74      </roles>
75      <timezone>-8</timezone>
76    </developer>
77  </developers>
78
79  <scm>
80    <url>http://github.com/google/google-java-format/</url>
81    <connection>scm:git:git://github.com/google/google-java-format.git</connection>
82    <developerConnection>scm:git:ssh://git@github.com/google/google-java-format.git</developerConnection>
83    <tag>HEAD</tag>
84  </scm>
85
86  <issueManagement>
87    <system>GitHub Issues</system>
88    <url>http://github.com/google/google-java-format/issues</url>
89  </issueManagement>
90
91  <prerequisites>
92    <maven>3.0.3</maven>
93  </prerequisites>
94
95  <properties>
96    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
97    <java.version>1.8</java.version>
98    <guava.version>28.1-jre</guava.version>
99    <truth.version>1.0</truth.version>
100    <checker.version>2.0.0</checker.version>
101  </properties>
102
103  <dependencyManagement>
104    <dependencies>
105      <!-- Required runtime dependencies -->
106      <dependency>
107        <groupId>com.google.guava</groupId>
108        <artifactId>guava</artifactId>
109        <version>${guava.version}</version>
110      </dependency>
111
112      <!-- Compile-time dependencies -->
113      <dependency>
114        <groupId>org.checkerframework</groupId>
115        <artifactId>checker-qual</artifactId>
116        <version>${checker.version}</version>
117      </dependency>
118      <dependency>
119        <groupId>com.google.errorprone</groupId>
120        <artifactId>error_prone_annotations</artifactId>
121        <version>2.0.8</version>
122      </dependency>
123
124      <!-- Test dependencies -->
125      <dependency>
126        <groupId>junit</groupId>
127        <artifactId>junit</artifactId>
128        <version>4.12</version>
129        <scope>test</scope>
130      </dependency>
131      <dependency>
132        <groupId>com.google.guava</groupId>
133        <artifactId>guava-testlib</artifactId>
134        <version>${guava.version}</version>
135        <scope>test</scope>
136      </dependency>
137      <dependency>
138        <groupId>com.google.truth</groupId>
139        <artifactId>truth</artifactId>
140        <version>${truth.version}</version>
141        <scope>test</scope>
142      </dependency>
143    </dependencies>
144  </dependencyManagement>
145
146  <build>
147    <pluginManagement>
148      <plugins>
149        <plugin>
150          <artifactId>maven-compiler-plugin</artifactId>
151          <version>3.7.0</version>
152        </plugin>
153        <plugin>
154          <artifactId>maven-jar-plugin</artifactId>
155          <version>3.0.2</version>
156        </plugin>
157        <plugin>
158          <artifactId>maven-source-plugin</artifactId>
159          <version>2.1.2</version>
160        </plugin>
161        <plugin>
162          <artifactId>maven-javadoc-plugin</artifactId>
163          <version>3.2.0</version>
164        </plugin>
165        <plugin>
166          <artifactId>maven-gpg-plugin</artifactId>
167          <version>1.4</version>
168        </plugin>
169        <plugin>
170          <groupId>org.apache.felix</groupId>
171          <artifactId>maven-bundle-plugin</artifactId>
172          <version>2.4.0</version>
173        </plugin>
174      </plugins>
175    </pluginManagement>
176
177    <plugins>
178      <plugin>
179        <artifactId>maven-compiler-plugin</artifactId>
180        <configuration>
181          <source>${java.version}</source>
182          <target>${java.version}</target>
183          <compilerArgs>
184            <arg>-XDcompilePolicy=simple</arg>
185            <arg>-Xplugin:ErrorProne</arg>
186            <arg>--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
187            <arg>--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
188            <arg>--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
189            <arg>--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
190            <arg>--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
191            <arg>--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
192            <arg>--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
193          </compilerArgs>
194          <annotationProcessorPaths>
195            <path>
196              <groupId>com.google.errorprone</groupId>
197              <artifactId>error_prone_core</artifactId>
198              <version>2.3.2</version>
199            </path>
200          </annotationProcessorPaths>
201        </configuration>
202      </plugin>
203      <plugin>
204        <groupId>org.apache.maven.plugins</groupId>
205        <artifactId>maven-jar-plugin</artifactId>
206        <configuration>
207          <archive>
208            <manifest>
209              <mainClass>com.google.googlejavaformat.java.Main</mainClass>
210            </manifest>
211          </archive>
212        </configuration>
213      </plugin>
214      <plugin>
215        <groupId>org.apache.maven.plugins</groupId>
216        <artifactId>maven-source-plugin</artifactId>
217        <executions>
218          <execution>
219            <id>attach-sources</id>
220            <goals>
221              <goal>jar</goal>
222            </goals>
223          </execution>
224        </executions>
225      </plugin>
226      <plugin>
227        <groupId>org.apache.maven.plugins</groupId>
228        <artifactId>maven-javadoc-plugin</artifactId>
229        <version>3.2.0</version>
230        <configuration>
231          <doclint>none</doclint>
232        </configuration>
233        <executions>
234          <execution>
235          <id>attach-javadocs</id>
236            <goals>
237              <goal>jar</goal>
238            </goals>
239          </execution>
240        </executions>
241      </plugin>
242      <plugin>
243        <groupId>org.apache.maven.plugins</groupId>
244        <artifactId>maven-surefire-plugin</artifactId>
245        <version>2.18</version>
246        <configuration>
247          <!-- set heap size to work around http://github.com/travis-ci/travis-ci/issues/3396 -->
248          <argLine>-Xmx1024m</argLine>
249        </configuration>
250      </plugin>
251    </plugins>
252  </build>
253</project>
254