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>17.0-SNAPSHOT</version>
9  </parent>
10  <artifactId>guava-gwt</artifactId>
11  <name>Guava GWT compatible libs</name>
12  <description>
13    Guava is a suite of core and expanded libraries that include
14    utility classes, google's collections, io classes, and much
15    much more.
16
17    This project includes GWT-friendly sources.
18  </description>
19  <properties>
20    <gwt.version>2.5.0-rc1</gwt.version>
21  </properties>
22  <dependencies>
23    <!-- GWT requires a library's transitive dependencies to be present when
24         compiling a project that uses that library, thanks to its full-program
25         compilation, so we don't use optional=true. -->
26    <dependency>
27      <groupId>com.google.code.findbugs</groupId>
28      <artifactId>jsr305</artifactId>
29      <optional>false</optional>
30    </dependency>
31    <dependency>
32      <groupId>com.google.guava</groupId>
33      <artifactId>guava</artifactId>
34      <version>${project.version}</version>
35    </dependency>
36    <dependency>
37      <groupId>com.google.guava</groupId>
38      <artifactId>guava-testlib</artifactId>
39      <version>${project.version}</version>
40      <scope>test</scope>
41    </dependency>
42    <dependency>
43      <groupId>com.google.guava</groupId>
44      <artifactId>guava-testlib</artifactId>
45      <version>${project.version}</version>
46      <classifier>tests</classifier>
47      <scope>test</scope>
48    </dependency>
49    <dependency>
50      <groupId>com.google.guava</groupId>
51      <artifactId>guava-tests</artifactId>
52      <version>${project.version}</version>
53      <classifier>tests</classifier>
54      <scope>test</scope>
55    </dependency>
56    <dependency>
57      <groupId>com.google.gwt</groupId>
58      <artifactId>gwt-dev</artifactId>
59      <version>${gwt.version}</version>
60      <scope>provided</scope>
61    </dependency>
62    <dependency>
63      <groupId>com.google.gwt</groupId>
64      <artifactId>gwt-user</artifactId>
65      <version>${gwt.version}</version>
66      <scope>provided</scope>
67    </dependency>
68    <dependency>
69      <groupId>org.truth0</groupId>
70      <artifactId>truth</artifactId>
71      <version>${truth.version}</version>
72      <classifier>gwt</classifier>
73      <scope>test</scope>
74    </dependency>
75  </dependencies>
76  <build>
77    <plugins>
78      <plugin>
79        <artifactId>maven-compiler-plugin</artifactId>
80      </plugin>
81      <plugin>
82        <artifactId>maven-jar-plugin</artifactId>
83      </plugin>
84      <plugin>
85        <artifactId>maven-source-plugin</artifactId>
86      </plugin>
87      <plugin>
88        <artifactId>maven-javadoc-plugin</artifactId>
89      </plugin>
90      <!-- Disable "normal" testing, which doesn't work for GWT tests. -->
91      <plugin>
92        <artifactId>maven-surefire-plugin</artifactId>
93        <configuration>
94          <skip>true</skip>
95        </configuration>
96      </plugin>
97      <plugin>
98        <artifactId>maven-dependency-plugin</artifactId>
99        <executions>
100          <execution>
101            <id>unpack-guava-sources</id>
102            <phase>generate-resources</phase>
103            <goals><goal>unpack-dependencies</goal></goals>
104            <configuration>
105              <includeArtifactIds>guava</includeArtifactIds>
106              <classifier>sources</classifier>
107              <overWrite>true</overWrite>
108              <excludeTransitive>true</excludeTransitive>
109              <excludes>META-INF/MANIFEST.MF</excludes>
110              <outputDirectory>${project.build.directory}/guava-sources</outputDirectory>
111              <type>java-source</type>
112              <silent>false</silent>
113            </configuration>
114          </execution>
115          <execution>
116            <id>unpack-guava-testlib-sources</id>
117            <phase>generate-resources</phase>
118            <goals><goal>unpack-dependencies</goal></goals>
119            <configuration>
120              <includeArtifactIds>guava-testlib</includeArtifactIds>
121              <classifier>sources</classifier>
122              <overWrite>true</overWrite>
123              <excludeTransitive>true</excludeTransitive>
124              <excludes>META-INF/MANIFEST.MF</excludes>
125              <outputDirectory>${project.build.directory}/guava-test-sources</outputDirectory>
126              <type>java-source</type>
127              <silent>false</silent>
128            </configuration>
129          </execution>
130          <execution>
131            <id>unpack-guava-testlib-test-sources</id>
132            <phase>generate-resources</phase>
133            <goals><goal>unpack-dependencies</goal></goals>
134            <configuration>
135              <includeArtifactIds>guava-testlib</includeArtifactIds>
136              <classifier>test-sources</classifier>
137              <overWrite>true</overWrite>
138              <excludeTransitive>true</excludeTransitive>
139              <excludes>META-INF/MANIFEST.MF</excludes>
140              <outputDirectory>${project.build.directory}/guava-test-sources</outputDirectory>
141              <type>java-source</type>
142              <silent>false</silent>
143            </configuration>
144          </execution>
145          <execution>
146            <id>unpack-guava-test-sources</id>
147            <phase>generate-resources</phase>
148            <goals><goal>unpack-dependencies</goal></goals>
149            <configuration>
150              <includeArtifactIds>guava-tests</includeArtifactIds>
151              <classifier>test-sources</classifier>
152              <overWrite>true</overWrite>
153              <excludeTransitive>true</excludeTransitive>
154              <excludes>META-INF/MANIFEST.MF</excludes>
155              <outputDirectory>${project.build.directory}/guava-test-sources</outputDirectory>
156              <type>java-source</type>
157              <silent>false</silent>
158            </configuration>
159          </execution>
160        </executions>
161        <dependencies>
162          <dependency>
163            <groupId>com.google.guava</groupId>
164            <artifactId>guava</artifactId>
165            <version>${project.version}</version>
166            <classifier>sources</classifier>
167          </dependency>
168          <dependency>
169            <groupId>com.google.guava</groupId>
170            <artifactId>guava-testlib</artifactId>
171            <version>${project.version}</version>
172            <classifier>sources</classifier>
173          </dependency>
174          <dependency>
175            <groupId>com.google.guava</groupId>
176            <artifactId>guava-testlib</artifactId>
177            <version>${project.version}</version>
178            <classifier>test-sources</classifier>
179          </dependency>
180          <dependency>
181            <groupId>com.google.guava</groupId>
182            <artifactId>guava-tests</artifactId>
183            <version>${project.version}</version>
184            <classifier>test-sources</classifier>
185          </dependency>
186        </dependencies>
187      </plugin>
188      <plugin>
189        <artifactId>maven-antrun-plugin</artifactId>
190        <executions>
191          <execution>
192            <phase>generate-resources</phase>
193            <goals><goal>run</goal></goals>
194            <configuration>
195              <target name="copy-gwt-resources">
196                <copy toDir="${project.build.directory}/guava-gwt-sources"
197                      verbose="true">
198                  <fileset dir="${project.build.directory}/guava-sources">
199                    <and>
200                      <contains text="@GwtCompatible"/>
201                      <not><contains text="emulated = true"/></not>
202                    </and>
203                  </fileset>
204                </copy>
205                <copy toDir="${project.build.directory}/guava-test-gwt-sources"
206                      verbose="true">
207                  <fileset dir="${project.build.directory}/guava-test-sources">
208                    <and>
209                      <contains text="@GwtCompatible"/>
210                      <not><contains text="emulated = true"/></not>
211                    </and>
212                  </fileset>
213                </copy>
214              </target>
215            </configuration>
216          </execution>
217        </executions>
218      </plugin>
219      <plugin>
220        <groupId>org.codehaus.mojo</groupId>
221        <artifactId>gwt-maven-plugin</artifactId>
222        <version>${gwt.version}</version>
223        <executions>
224          <execution>
225            <id>gwt-compile</id>
226            <goals>
227              <goal>compile</goal>
228            </goals>
229            <configuration>
230              <module>com.google.common.ForceGuavaCompilation</module>
231              <strict>true</strict>
232              <validateOnly>true</validateOnly>
233            </configuration>
234          </execution>
235          <execution>
236            <id>gwt-test</id>
237            <goals>
238              <goal>test</goal>
239            </goals>
240            <configuration>
241              <module>com.google.common.GuavaTests</module>
242              <strict>true</strict>
243              <includes>**/GwtTestSuite.java</includes>
244              <mode>htmlunit</mode>
245              <testTimeOut>600</testTimeOut>
246              <extraJvmArgs>-Xms3500m -Xmx3500m -Xss1024k</extraJvmArgs>
247            </configuration>
248          </execution>
249        </executions>
250      </plugin>
251    </plugins>
252    <resources>
253      <resource>
254        <directory>src</directory>
255      </resource>
256      <resource>
257        <directory>src-super</directory>
258      </resource>
259      <resource>
260        <directory>${project.build.directory}/guava-gwt-sources</directory>
261      </resource>
262    </resources>
263    <testResources>
264      <testResource>
265        <directory>test</directory>
266      </testResource>
267      <testResource>
268        <directory>test-super</directory>
269      </testResource>
270      <testResource>
271        <directory>${project.build.directory}/guava-test-gwt-sources</directory>
272      </testResource>
273    </testResources>
274  </build>
275</project>
276