1<?xml version="1.0" encoding="UTF-8"?>
2
3<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">
4  <modelVersion>4.0.0</modelVersion>
5
6  <parent>
7    <groupId>org.sonatype.oss</groupId>
8    <artifactId>oss-parent</artifactId>
9    <version>7</version>
10  </parent>
11
12  <groupId>com.squareup.okhttp</groupId>
13  <artifactId>parent</artifactId>
14  <version>2.4.0-SNAPSHOT</version>
15  <packaging>pom</packaging>
16
17  <name>OkHttp (Parent)</name>
18  <description>An HTTP+SPDY client for Android and Java applications</description>
19  <url>https://github.com/square/okhttp</url>
20
21  <modules>
22    <module>okhttp</module>
23    <module>okhttp-tests</module>
24
25    <module>okhttp-android-support</module>
26
27    <module>okhttp-apache</module>
28    <module>okhttp-testing-support</module>
29    <module>okhttp-urlconnection</module>
30
31    <module>okhttp-ws</module>
32    <module>okhttp-ws-tests</module>
33
34    <module>okcurl</module>
35    <module>mockwebserver</module>
36    <module>samples</module>
37    <module>benchmarks</module>
38  </modules>
39
40  <properties>
41    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
42
43    <!-- Compilation -->
44    <java.version>1.7</java.version>
45    <okio.version>1.4.0-SNAPSHOT</okio.version>
46    <!-- ALPN library targeted to Java 7 -->
47    <alpn.jdk7.version>7.1.2.v20141202</alpn.jdk7.version>
48    <!-- ALPN library targeted to Java 8 update 25. -->
49    <alpn.jdk8.version>8.1.2.v20141202</alpn.jdk8.version>
50    <bouncycastle.version>1.50</bouncycastle.version>
51    <gson.version>2.2.3</gson.version>
52    <apache.http.version>4.2.2</apache.http.version>
53    <airlift.version>0.6</airlift.version>
54    <guava.version>16.0</guava.version>
55
56    <!-- Test Dependencies -->
57    <junit.version>4.11</junit.version>
58  </properties>
59
60  <scm>
61    <url>https://github.com/square/okhttp/</url>
62    <connection>scm:git:https://github.com/square/okhttp.git</connection>
63    <developerConnection>scm:git:git@github.com:square/okhttp.git</developerConnection>
64    <tag>HEAD</tag>
65  </scm>
66
67  <issueManagement>
68    <system>GitHub Issues</system>
69    <url>https://github.com/square/okhttp/issues</url>
70  </issueManagement>
71
72  <licenses>
73    <license>
74      <name>Apache 2.0</name>
75      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
76    </license>
77  </licenses>
78
79  <dependencyManagement>
80    <dependencies>
81      <dependency>
82        <groupId>com.squareup.okio</groupId>
83        <artifactId>okio</artifactId>
84        <version>${okio.version}</version>
85      </dependency>
86      <dependency>
87        <groupId>junit</groupId>
88        <artifactId>junit</artifactId>
89        <version>${junit.version}</version>
90      </dependency>
91      <dependency>
92        <groupId>org.bouncycastle</groupId>
93        <artifactId>bcprov-jdk15on</artifactId>
94        <version>${bouncycastle.version}</version>
95      </dependency>
96      <dependency>
97        <groupId>com.google.code.gson</groupId>
98        <artifactId>gson</artifactId>
99        <version>${gson.version}</version>
100      </dependency>
101      <dependency>
102        <groupId>org.apache.httpcomponents</groupId>
103        <artifactId>httpclient</artifactId>
104        <version>${apache.http.version}</version>
105      </dependency>
106      <dependency>
107        <groupId>io.airlift</groupId>
108        <artifactId>airline</artifactId>
109        <version>${airlift.version}</version>
110      </dependency>
111      <dependency>
112        <groupId>com.google.guava</groupId>
113        <artifactId>guava</artifactId>
114        <version>${guava.version}</version>
115      </dependency>
116    </dependencies>
117  </dependencyManagement>
118
119  <build>
120    <pluginManagement>
121      <plugins>
122        <plugin>
123          <groupId>org.apache.maven.plugins</groupId>
124          <artifactId>maven-compiler-plugin</artifactId>
125          <version>3.0</version>
126          <configuration>
127            <source>${java.version}</source>
128            <target>${java.version}</target>
129          </configuration>
130        </plugin>
131
132        <plugin>
133          <groupId>org.apache.maven.plugins</groupId>
134          <artifactId>maven-surefire-plugin</artifactId>
135          <version>2.17</version>
136          <configuration>
137            <properties>
138              <!--
139                Configure a listener for enforcing that no uncaught exceptions issue from OkHttp
140                tests. Every test must have a <scope>test</scope> dependency on
141                okhttp-testing-support.
142                -->
143              <property>
144                <name>listener</name>
145                <value>com.squareup.okhttp.testing.InstallUncaughtExceptionHandlerListener</value>
146              </property>
147            </properties>
148          </configuration>
149          <dependencies>
150            <dependency>
151              <groupId>org.apache.maven.surefire</groupId>
152              <artifactId>surefire-junit47</artifactId>
153              <version>2.17</version>
154            </dependency>
155          </dependencies>
156        </plugin>
157
158        <plugin>
159          <groupId>org.apache.maven.plugins</groupId>
160          <artifactId>maven-javadoc-plugin</artifactId>
161          <version>2.9</version>
162        </plugin>
163      </plugins>
164    </pluginManagement>
165
166    <plugins>
167      <plugin>
168        <groupId>org.apache.maven.plugins</groupId>
169        <artifactId>maven-release-plugin</artifactId>
170        <version>2.4.2</version>
171        <dependencies>
172          <dependency>
173            <groupId>org.apache.maven.scm</groupId>
174            <artifactId>maven-scm-provider-gitexe</artifactId>
175            <version>1.9</version>
176          </dependency>
177        </dependencies>
178        <configuration>
179          <autoVersionSubmodules>true</autoVersionSubmodules>
180        </configuration>
181      </plugin>
182
183      <plugin>
184        <groupId>org.apache.maven.plugins</groupId>
185        <artifactId>maven-checkstyle-plugin</artifactId>
186        <version>2.10</version>
187        <configuration>
188          <failsOnError>true</failsOnError>
189          <configLocation>checkstyle.xml</configLocation>
190          <consoleOutput>true</consoleOutput>
191          <excludes>**/CipherSuite.java</excludes>
192        </configuration>
193        <executions>
194          <execution>
195            <phase>verify</phase>
196            <goals>
197              <goal>checkstyle</goal>
198            </goals>
199          </execution>
200        </executions>
201      </plugin>
202      <plugin>
203        <groupId>org.codehaus.mojo</groupId>
204        <artifactId>animal-sniffer-maven-plugin</artifactId>
205        <version>1.11</version>
206        <executions>
207          <execution>
208            <phase>test</phase>
209            <goals>
210              <goal>check</goal>
211            </goals>
212          </execution>
213        </executions>
214        <configuration>
215          <signature>
216            <groupId>org.codehaus.mojo.signature</groupId>
217            <artifactId>java16</artifactId>
218            <version>1.1</version>
219          </signature>
220        </configuration>
221      </plugin>
222    </plugins>
223  </build>
224
225  <profiles>
226    <profile>
227      <id>alpn-when-jdk7</id>
228      <activation>
229        <jdk>1.7</jdk>
230      </activation>
231      <properties>
232        <bootclasspathPrefix>${settings.localRepository}/org/mortbay/jetty/alpn/alpn-boot/${alpn.jdk7.version}/alpn-boot-${alpn.jdk7.version}.jar</bootclasspathPrefix>
233      </properties>
234      <build>
235        <pluginManagement>
236          <plugins>
237            <plugin>
238              <groupId>org.apache.maven.plugins</groupId>
239              <artifactId>maven-surefire-plugin</artifactId>
240              <configuration>
241                <argLine>-Xbootclasspath/p:${bootclasspathPrefix}</argLine>
242              </configuration>
243              <dependencies>
244                <dependency>
245                  <groupId>org.mortbay.jetty.alpn</groupId>
246                  <artifactId>alpn-boot</artifactId>
247                  <version>${alpn.jdk7.version}</version>
248                </dependency>
249              </dependencies>
250            </plugin>
251          </plugins>
252        </pluginManagement>
253      </build>
254    </profile>
255    <profile>
256      <id>alpn-when-jdk8</id>
257      <activation>
258        <jdk>1.8</jdk>
259      </activation>
260      <properties>
261        <bootclasspathPrefix>${settings.localRepository}/org/mortbay/jetty/alpn/alpn-boot/${alpn.jdk8.version}/alpn-boot-${alpn.jdk8.version}.jar</bootclasspathPrefix>
262      </properties>
263      <build>
264        <pluginManagement>
265          <plugins>
266            <plugin>
267              <groupId>org.apache.maven.plugins</groupId>
268              <artifactId>maven-surefire-plugin</artifactId>
269              <configuration>
270                <argLine>-Xbootclasspath/p:${bootclasspathPrefix}</argLine>
271              </configuration>
272              <dependencies>
273                <dependency>
274                  <groupId>org.mortbay.jetty.alpn</groupId>
275                  <artifactId>alpn-boot</artifactId>
276                  <version>${alpn.jdk8.version}</version>
277                </dependency>
278              </dependencies>
279            </plugin>
280          </plugins>
281        </pluginManagement>
282      </build>
283    </profile>
284  </profiles>
285</project>
286
287