jclouds/project/pom.xml

1199 lines
46 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>14</version>
<relativePath />
</parent>
<groupId>org.apache.jclouds</groupId>
<artifactId>jclouds-project</artifactId>
<version>2.3.0</version>
<packaging>pom</packaging>
<name>Apache jclouds Project</name>
<url>https://jclouds.apache.org/</url>
<description>Apache jclouds: Concurrent API for Cloud Services</description>
<inceptionYear>2009</inceptionYear>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<issueManagement>
<system>JIRA</system>
<url>https://issues.apache.org/jira/browse/JCLOUDS</url>
</issueManagement>
<mailingLists>
<mailingList>
<name>User List</name>
<subscribe>user-subscribe@jclouds.apache.org</subscribe>
<unsubscribe>user-unsubscribe@jclouds.apache.org</unsubscribe>
<post>user@jclouds.apache.org</post>
<archive>https://mail-archives.apache.org/mod_mbox/jclouds-user/</archive>
</mailingList>
<mailingList>
<name>Developer List</name>
<subscribe>dev-subscribe@jclouds.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@jclouds.apache.org</unsubscribe>
<post>dev@jclouds.apache.org</post>
<archive>https://mail-archives.apache.org/mod_mbox/jclouds-dev/</archive>
</mailingList>
<mailingList>
<name>Commits List</name>
<subscribe>commits-subscribe@jclouds.apache.org</subscribe>
<unsubscribe>commits-unsubscribe@jclouds.apache.org</unsubscribe>
<archive>https://mail-archives.apache.org/mod_mbox/jclouds-commits/</archive>
</mailingList>
<mailingList>
<name>Issues List</name>
<subscribe>issues-subscribe@jclouds.apache.org</subscribe>
<unsubscribe>issues-unsubscribe@jclouds.apache.org</unsubscribe>
<archive>https://mail-archives.apache.org/mod_mbox/jclouds-issues/</archive>
</mailingList>
</mailingLists>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/jclouds.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/jclouds.git</developerConnection>
<url>https://gitbox.apache.org/repos/asf?p=jclouds.git</url>
<tag>rel/jclouds-2.3.0-rc1</tag>
</scm>
<repositories>
<repository>
<id>apache-snapshots</id>
<url>https://repository.apache.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<!-- to allow downstream projects to access jclouds-resources in plugin config -->
<pluginRepositories>
<pluginRepository>
<id>apache-snapshots</id>
<url>https://repository.apache.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<developers>
<developer>
<name>Andrew Bayer</name>
<id>abayer</id>
<roles>
<role>Committer</role>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<name>Andrea Turli</name>
<id>andreaturli</id>
<roles>
<role>Committer</role>
</roles>
</developer>
<developer>
<name>Andrew Gaul</name>
<id>gaul</id>
<roles>
<role>Committer</role>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<name>Andrew Phillips</name>
<id>andrewp</id>
<roles>
<role>Committer</role>
<role>PMC Member</role>
</roles>
<timezone>+1</timezone>
</developer>
<developer>
<name>Becca Woods</name>
<id>silkysun</id>
<roles>
<role>Committer</role>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<name>Chris Custine</name>
<id>ccustine</id>
<roles>
<role>Committer</role>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<name>Everett Toews</name>
<id>everett</id>
<roles>
<role>Committer</role>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<name>Ignasi Barrera</name>
<id>nacx</id>
<roles>
<role>Committer</role>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<name>Ioannis Canellos</name>
<id>iocanel</id>
<roles>
<role>Committer</role>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<name>Jeremy Daggett</name>
<id>jdaggett</id>
<roles>
<role>Committer</role>
</roles>
</developer>
<developer>
<name>Matt Stephenson</name>
<id>mattstep</id>
<roles>
<role>Committer</role>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<name>Zach Shoylev</name>
<id>zachsh</id>
<roles>
<role>Committer</role>
</roles>
</developer>
</developers>
<properties>
<jdk.version>1.8</jdk.version>
<maven.compile.source>${jdk.version}</maven.compile.source>
<maven.compile.target>${jdk.version}</maven.compile.target>
<maven.compile.deprecation>true</maven.compile.deprecation>
<!-- Plugin versions -->
<bnd.version>5.2.0</bnd.version>
<maven-jar-plugin.version>3.0.1</maven-jar-plugin.version>
<maven-surefire-plugin.version>2.17</maven-surefire-plugin.version>
<!-- General dependency versions -->
<gson.version>2.8.5</gson.version>
<guava.version>27.1-jre</guava.version>
<guice.version>4.2.3</guice.version>
<okhttp.version>3.14.9</okhttp.version>
<auto-factory.version>0.1-beta1</auto-factory.version>
<auto-service.version>1.0-rc3</auto-service.version>
<auto-value.version>1.4.1</auto-value.version>
<java-xmlbuilder.version>1.2</java-xmlbuilder.version>
<jetty.version>8.1.8.v20121106</jetty.version>
<javax.ws.rs-api.version>2.0.1</javax.ws.rs-api.version>
<modernizer-maven-annotations.version>1.8.0</modernizer-maven-annotations.version>
<!-- Log dependency versions -->
<log4j.version>1.2.17</log4j.version>
<logback.version>1.1.2</logback.version>
<!-- OSGi dependency versions -->
<osgi.version>6.0.0</osgi.version>
<!-- Test dependency versions -->
<testng.version>6.8.21</testng.version>
<xmlunit.version>1.3</xmlunit.version>
<assertj-core.version>1.7.0</assertj-core.version>
<assertj-guava.version>1.3.0</assertj-guava.version>
<!-- Mock dependency versions -->
<easymock.version>3.4</easymock.version>
<!-- Static analysis dependency versions -->
<error_prone.version>2.1.0</error_prone.version>
<jsr305.version>1.3.9</jsr305.version>
<http.proxyHost />
<http.proxyPort />
<jclouds.wire.httpstream.url>https://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.1.1-bin.tar.gz</jclouds.wire.httpstream.url>
<jclouds.wire.httpstream.md5>e5de09672af9b386c30a311654d8541a</jclouds.wire.httpstream.md5>
<jclouds.blobstore.httpstream.url>${jclouds.wire.httpstream.url}</jclouds.blobstore.httpstream.url>
<jclouds.blobstore.httpstream.md5>${jclouds.wire.httpstream.md5}</jclouds.blobstore.httpstream.md5>
<jclouds.test.listener>org.jclouds.test.testng.UnitTestStatusListener</jclouds.test.listener>
<test.ssh.keyfile />
<sourceReleaseAssemblyDescriptor>source-release-zip-tar</sourceReleaseAssemblyDescriptor>
</properties>
<dependencyManagement>
<dependencies>
<!-- General dependencies -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-assistedinject</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.auto.factory</groupId>
<artifactId>auto-factory</artifactId>
<version>${auto-factory.version}</version>
</dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<version>${auto-service.version}</version>
</dependency>
<dependency>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value</artifactId>
<version>${auto-value.version}</version>
</dependency>
<dependency>
<groupId>com.jamesmurty.utils</groupId>
<artifactId>java-xmlbuilder</artifactId>
<version>${java-xmlbuilder.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>${javax.ws.rs-api.version}</version>
</dependency>
<dependency>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-annotations</artifactId>
<version>${modernizer-maven-annotations.version}</version>
</dependency>
<!-- Log dependencies -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- OSGi dependencies -->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>${osgi.version}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.cmpn</artifactId>
<version>${osgi.version}</version>
</dependency>
<!-- Test dependencies -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>xmlunit</groupId>
<artifactId>xmlunit</artifactId>
<version>${xmlunit.version}</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj-core.version}</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-guava</artifactId>
<version>${assertj-guava.version}</version>
</dependency>
<!-- Mock dependencies -->
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>${easymock.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>mockwebserver</artifactId>
<version>${okhttp.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp-tls</artifactId>
<version>${okhttp.version}</version>
</dependency>
<!-- Static analysis dependencies -->
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>${error_prone.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${jsr305.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>xmlunit</groupId>
<artifactId>xmlunit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-guava</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<!-- For AutoService generated services. -->
<resource>
<directory>target/classes</directory>
<includes>
<include>META-INF/services/*</include>
</includes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4</version>
<configuration>
<useReleaseProfile>false</useReleaseProfile>
<goals>deploy</goals>
<arguments>-Pdoc -Papache-release ${arguments}</arguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.16</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java18</artifactId>
<version>1.0</version>
</signature>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<executions>
<execution>
<id>integration</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<argLine>-Xmx512m -Xms256m -Djava.awt.headless=true -XX:MaxPermSize=256m -Xss256k</argLine>
<parallel>tests</parallel>
<threadCount>5</threadCount>
<!-- note that the groups/excluded groups don't work due to some problem
in surefire or testng. instead, we have to exclude via file path
<groups>integration</groups>
<excludedGroups>unit,performance,live</excludedGroups> -->
<excludes>
<exclude>**/*LiveTest.java</exclude>
</excludes>
<includes>
<include>**/*IntegrationTest.java</include>
</includes>
</configuration>
</execution>
</executions>
<configuration>
<parallel>methods</parallel>
<threadCount>5</threadCount>
<!-- note that the groups/excluded groups don't work due to some problem
in surefire or testng. instead, we have to exclude via file path
<groups>unit,performance</groups>
<excludedGroups>integration,live</excludedGroups> -->
<excludes>
<exclude>**/*IntegrationTest.java</exclude>
<exclude>**/*LiveTest.java</exclude>
</excludes>
<properties>
<property>
<name>listener</name>
<value>${jclouds.test.listener}</value>
</property>
</properties>
<systemPropertyVariables>
<sun.net.http.allowRestrictedHeaders>true</sun.net.http.allowRestrictedHeaders>
<jclouds.wire.httpstream.url>${jclouds.wire.httpstream.url}</jclouds.wire.httpstream.url>
<jclouds.wire.httpstream.md5>${jclouds.wire.httpstream.md5}</jclouds.wire.httpstream.md5>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
<!-- configuration and dependencies set via profiles -->
<executions>
<execution>
<id>default</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-plugin</artifactId>
<version>1.8.0</version>
<!-- configuration and dependencies set via profiles -->
<executions>
<execution>
<id>modernizer</id>
<phase>verify</phase>
<goals>
<goal>modernizer</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-maven-plugin</artifactId>
<version>${bnd.version}</version>
<configuration>
<bndfile>bnd.bnd</bndfile>
</configuration>
<executions>
<execution>
<id>bnd-process</id>
<goals>
<goal>bnd-process</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<compilerId>javac-with-errorprone</compilerId>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<encoding>${project.build.sourceEncoding}</encoding>
<source>${maven.compile.source}</source>
<target>${maven.compile.target}</target>
<showDeprecation>false</showDeprecation>
<showWarnings>true</showWarnings>
<compilerArgs>
<compilerArg>-Xlint</compilerArg>
<compilerArg>-Xlint:-deprecation</compilerArg>
<compilerArg>-Xlint:-processing</compilerArg>
<compilerArg>-Xlint:-rawtypes</compilerArg>
<compilerArg>-Xlint:-serial</compilerArg>
<compilerArg>-Xlint:-unchecked</compilerArg>
<!-- on by default: warning -->
<compilerArg>-Xep:CannotMockFinalClass:ERROR</compilerArg>
<compilerArg>-Xep:ElementsCountedInLoop:ERROR</compilerArg>
<compilerArg>-Xep:EqualsHashCode:ERROR</compilerArg>
<compilerArg>-Xep:Finally:ERROR</compilerArg>
<compilerArg>-Xep:IncompatibleModifiers:ERROR</compilerArg>
<compilerArg>-Xep:JUnitAmbiguousTestClass:ERROR</compilerArg>
<compilerArg>-Xep:NonAtomicVolatileUpdate:OFF</compilerArg> <!-- noisy -->
<compilerArg>-Xep:NonCanonicalStaticMemberImport:ERROR</compilerArg>
<compilerArg>-Xep:NonOverridingEquals:ERROR</compilerArg>
<compilerArg>-Xep:PreconditionsInvalidPlaceholder:ERROR</compilerArg>
<compilerArg>-Xep:ProtoFieldPreconditionsCheckNotNull:ERROR</compilerArg>
<compilerArg>-Xep:RequiredModifiers:ERROR</compilerArg>
<compilerArg>-Xep:StaticAccessedFromInstance:ERROR</compilerArg>
<compilerArg>-Xep:StringEquality:ERROR</compilerArg>
<compilerArg>-Xep:SynchronizeOnNonFinalField:ERROR</compilerArg>
<compilerArg>-Xep:TypeParameterUnusedInFormals:OFF</compilerArg> <!-- noisy -->
<compilerArg>-Xep:UnnecessaryStaticImport:ERROR</compilerArg>
<compilerArg>-Xep:WaitNotInLoop:ERROR</compilerArg>
<!-- on by default: error -->
<compilerArg>-Xep:ArrayEquals:ERROR</compilerArg>
<compilerArg>-Xep:ArrayHashCode:ERROR</compilerArg>
<compilerArg>-Xep:ArrayToString:ERROR</compilerArg>
<compilerArg>-Xep:ArrayToStringCompoundAssignment:ERROR</compilerArg>
<compilerArg>-Xep:ArrayToStringConcatenation:ERROR</compilerArg>
<compilerArg>-Xep:AsyncFunctionReturnsNull:ERROR</compilerArg>
<compilerArg>-Xep:BadShiftAmount:ERROR</compilerArg>
<compilerArg>-Xep:ChainingConstructorIgnoresParameter:ERROR</compilerArg>
<compilerArg>-Xep:CheckReturnValue:ERROR</compilerArg>
<compilerArg>-Xep:ClassName:ERROR</compilerArg>
<compilerArg>-Xep:ComparisonOutOfRange:ERROR</compilerArg>
<compilerArg>-Xep:CompileTimeConstant:ERROR</compilerArg>
<compilerArg>-Xep:DeadException:ERROR</compilerArg>
<compilerArg>-Xep:DepAnn:ERROR</compilerArg>
<compilerArg>-Xep:DoubleCheckedLocking:ERROR</compilerArg>
<compilerArg>-Xep:EqualsNaN:ERROR</compilerArg>
<compilerArg>-Xep:ForOverride:ERROR</compilerArg>
<compilerArg>-Xep:GetClassOnClass:ERROR</compilerArg>
<compilerArg>-Xep:GuardedByChecker:ERROR</compilerArg>
<compilerArg>-Xep:GuiceAssistedInjectScoping:ERROR</compilerArg>
<compilerArg>-Xep:HashtableContains:ERROR</compilerArg>
<compilerArg>-Xep:InvalidPatternSyntax:ERROR</compilerArg>
<compilerArg>-Xep:IsInstanceOfClass:ERROR</compilerArg>
<compilerArg>-Xep:JUnit3TestNotRun:ERROR</compilerArg>
<compilerArg>-Xep:JUnit4SetUpNotRun:ERROR</compilerArg>
<compilerArg>-Xep:JUnit4TearDownNotRun:ERROR</compilerArg>
<compilerArg>-Xep:JUnit4TestNotRun:ERROR</compilerArg>
<compilerArg>-Xep:LongLiteralLowerCaseSuffix:ERROR</compilerArg>
<compilerArg>-Xep:MisusedWeekYear:ERROR</compilerArg>
<compilerArg>-Xep:NarrowingCompoundAssignment:ERROR</compilerArg>
<compilerArg>-Xep:NonCanonicalStaticImport:ERROR</compilerArg>
<compilerArg>-Xep:NonFinalCompileTimeConstant:ERROR</compilerArg>
<compilerArg>-Xep:Overrides:ERROR</compilerArg>
<!-- Disabled because of internal error on Windows with 2.0.5, see https://github.com/google/error-prone/issues/432 -->
<!-- <compilerArg>-Xep:PackageLocation:WARNING</compilerArg> -->
<compilerArg>-Xep:PreconditionsCheckNotNull:ERROR</compilerArg>
<compilerArg>-Xep:PreconditionsCheckNotNullPrimitive:ERROR</compilerArg>
<compilerArg>-Xep:ProtoFieldNullComparison:ERROR</compilerArg>
<compilerArg>-Xep:ReturnValueIgnored:ERROR</compilerArg>
<compilerArg>-Xep:SelfAssignment:ERROR</compilerArg>
<compilerArg>-Xep:SelfEquals:ERROR</compilerArg>
<compilerArg>-Xep:SizeGreaterThanOrEqualsZero:ERROR</compilerArg>
<compilerArg>-Xep:StringBuilderInitWithChar:ERROR</compilerArg>
<compilerArg>-Xep:SuppressWarningsDeprecated:ERROR</compilerArg>
<compilerArg>-Xep:TryFailThrowable:ERROR</compilerArg>
<compilerArg>-Xep:UnnecessaryTypeArgument:ERROR</compilerArg>
<compilerArg>-Xep:UnusedAnonymousClass:ERROR</compilerArg>
<!-- experimental: warning -->
<compilerArg>-Xep:AssertFalse:ERROR</compilerArg>
<compilerArg>-Xep:AssistedInjectAndInjectOnConstructors:ERROR</compilerArg>
<compilerArg>-Xep:CollectionIncompatibleType:ERROR</compilerArg>
<compilerArg>-Xep:GuiceInjectOnFinalField:ERROR</compilerArg>
<compilerArg>-Xep:MissingFail:ERROR</compilerArg>
<compilerArg>-Xep:NullablePrimitive:ERROR</compilerArg>
<compilerArg>-Xep:OverridesGuiceInjectableMethod:OFF</compilerArg> <!-- internal error with 2.0.5 -->
<compilerArg>-Xep:PreconditionsErrorMessageEagerEvaluation:OFF</compilerArg> <!-- internal error with 2.0.5 -->
<compilerArg>-Xep:PrimitiveArrayPassedToVarargsMethod:ERROR</compilerArg>
<!-- experimental: not a problem -->
<compilerArg>-Xep:FallthroughSuppression</compilerArg>
<!-- experimental: error -->
<compilerArg>-Xep:ArraysAsListPrimitiveArray:ERROR</compilerArg>
<compilerArg>-Xep:AssistedInjectAndInjectOnSameConstructor:ERROR</compilerArg>
<compilerArg>-Xep:ClassCanBeStatic:ERROR</compilerArg>
<compilerArg>-Xep:DivZero:ERROR</compilerArg>
<compilerArg>-Xep:EmptyIf:ERROR</compilerArg>
<compilerArg>-Xep:GuardedByValidator:ERROR</compilerArg>
<compilerArg>-Xep:GuiceAssistedParameters:ERROR</compilerArg>
<compilerArg>-Xep:InjectInvalidTargetingOnScopingAnnotation:ERROR</compilerArg>
<compilerArg>-Xep:InjectMoreThanOneQualifier:OFF</compilerArg> <!-- noisy -->
<compilerArg>-Xep:InjectMoreThanOneScopeAnnotationOnClass:ERROR</compilerArg>
<compilerArg>-Xep:InjectScopeAnnotationOnInterfaceOrAbstractClass:ERROR</compilerArg>
<compilerArg>-Xep:InjectScopeOrQualifierAnnotationRetention:ERROR</compilerArg>
<compilerArg>-Xep:InjectedConstructorAnnotations:ERROR</compilerArg>
<compilerArg>-Xep:JMockTestWithoutRunWithOrRuleAnnotation:ERROR</compilerArg>
<compilerArg>-Xep:JavaxInjectOnAbstractMethod:ERROR</compilerArg>
<compilerArg>-Xep:JavaxInjectOnFinalField:ERROR</compilerArg>
<compilerArg>-Xep:LockMethodChecker:ERROR</compilerArg>
<compilerArg>-Xep:MalformedFormatString:ERROR</compilerArg>
<compilerArg>-Xep:MissingCasesInEnumSwitch:OFF</compilerArg> <!-- noisy -->
<compilerArg>-Xep:ModifyingCollectionWithItself:ERROR</compilerArg>
<compilerArg>-Xep:MoreThanOneInjectableConstructor:OFF</compilerArg> <!-- internal error with 2.0.5 -->
<compilerArg>-Xep:NoAllocation:ERROR</compilerArg>
<compilerArg>-Xep:NonRuntimeAnnotation:ERROR</compilerArg>
<compilerArg>-Xep:NumericEquality:ERROR</compilerArg>
<compilerArg>-Xep:OverlappingQualifierAndScopeAnnotation:ERROR</compilerArg>
<compilerArg>-Xep:OverridesJavaxInjectableMethod:OFF</compilerArg> <!-- internal error with 2.0.5 -->
<compilerArg>-Xep:ParameterPackage:OFF</compilerArg> <!-- internal error with 2.0.5 -->
<compilerArg>-Xep:ProtoStringFieldReferenceEquality:ERROR</compilerArg>
<compilerArg>-Xep:SelfEquality:ERROR</compilerArg>
<compilerArg>-Xep:UnlockMethod:ERROR</compilerArg>
<compilerArg>-Xep:WildcardImport:ERROR</compilerArg>
</compilerArgs>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-javac-errorprone</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>2.0.5</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.12</version>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>3.1.3</version>
<configuration>
<omitVisitors>
CloneIdiom,
ComparatorIdiom,
DefaultEncodingDetector,
EqualsOperandShouldHaveClassCompatibleWithThis,
FindBadCast2,
FindHEmismatch,
FindMaskedFields,
FindNullDeref,
FindReturnRef,
FindUnsatisfiedObligation,
FormatStringChecker,
MethodReturnCheck,
Naming,
NoteUnconditionalParamDerefs,
RuntimeExceptionCapture,
SwitchFallthrough,
UnreadFields,
</omitVisitors>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<!-- expectation files for unit tests -->
<exclude>**/src/test/resources/**/*.sh</exclude>
<exclude>**/src/test/resources/**/*.bat</exclude>
<exclude>**/src/test/resources/**/*.cmd</exclude>
<exclude>**/src/test/resources/**/*.txt</exclude>
<exclude>**/src/test/resources/**/*.gz</exclude>
<exclude>**/src/test/resources/**/*.xml</exclude>
<exclude>**/src/test/resources/**/*.crt</exclude>
<exclude>src/test/resources/html/*.html</exclude>
<!-- META-INF/services files -->
<exclude>**/services/*LoggingModule</exclude>
<exclude>**/services/*ApiMetadata</exclude>
<exclude>**/services/*ProviderMetadata</exclude>
<!-- OSGi metadata rules -->
<exclude>**/bnd.bnd</exclude>
<!-- prevent duplicating license -->
<exclude>**/LICENSE.txt</exclude>
<exclude>**/header.txt</exclude>
<!-- high-level project metadata -->
<exclude>**/NOTICE.txt</exclude>
<exclude>**/DISCLAIMER</exclude>
<exclude>**/BUILD.txt</exclude>
<exclude>**/CHANGES.txt</exclude>
<exclude>**/README.md</exclude>
<exclude>**/README.txt</exclude>
<exclude>**/DEPENDENCIES</exclude>
<exclude>**/CONTRIBUTING.md</exclude>
<!-- reference data lists -->
<exclude>**/*json</exclude>
<exclude>**/*readme</exclude>
<!-- SSH keys -->
<exclude>**/test</exclude>
<exclude>**/test.pub</exclude>
<exclude>**/src/test/resources/**/ssh-*.pub</exclude>
<!-- temporary exclude due to minimized module declaration -->
<exclude>**/providers/profitbricks/src/test/resources/html/maintenance-503.html</exclude>
<exclude>**/providers/profitbricks/src/test/resources/html/fault-401.html</exclude>
<!-- temporary files or those generated by IDE or SCM -->
<exclude>**/target/**</exclude>
<exclude>**/test-output/**</exclude>
<exclude>**/bin/**</exclude>
<exclude>**/.settings/**</exclude>
<exclude>**/.classpath</exclude>
<exclude>**/.dir-locals.el</exclude>
<exclude>**/.project</exclude>
<exclude>**/.idea/**</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/*.eml</exclude>
<exclude>**/*.ipr</exclude>
<exclude>**/*.iws</exclude>
<exclude>**/*.DS_STORE</exclude>
<exclude>**/TAGS</exclude>
<exclude>**/.metadata/**</exclude>
<exclude>**/atlassian-ide-plugin.xml</exclude>
<exclude>**/.DS_Store</exclude>
<exclude>.mailmap</exclude>
<exclude>.git/**</exclude>
<exclude>**/.gitignore</exclude>
<exclude>**/.gitattributes</exclude>
<exclude>**/.java-version</exclude>
<exclude>**/modernizer_exclusions.txt</exclude>
<exclude>**/.factorypath</exclude>
<exclude>**/.apt_generated/**</exclude>
<exclude>**/.apt_generated_tests/**</exclude>
<exclude>**/.checkstyle</exclude>
<exclude>nb-configuration.xml</exclude>
<exclude>nbactions.xml</exclude>
<exclude>dependency-reduced-pom.xml</exclude>
<!-- Temporary files generated on CloudBees slaves -->
<exclude>.repository/**</exclude>
<exclude>gc.log</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
<version>1.1.2</version>
<configuration>
<exceptions>
<exception>
<!-- Google App Engine Deps, some google classes are duplicated between packages -->
<conflictingDependencies>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-1.0-sdk</artifactId>
<version>1.6.5</version>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-testing</artifactId>
<version>1.6.5</version>
<scope>test</scope>
</dependency>
</conflictingDependencies>
<packages>
<package>com.google</package>
</packages>
</exception>
<exception>
<conflictingDependencies>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch.agentproxy.core</artifactId>
<version>0.0.9</version>
</dependency>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch.agentproxy.connector-factory</artifactId>
<version>0.0.9</version>
</dependency>
</conflictingDependencies>
<packages>
<package>com.jcraft.jsch.agentproxy</package>
</packages>
</exception>
</exceptions>
<ignoredResourcePatterns>
<!-- For all the jetty packages -->
<ignoredResourcePattern>about\.html</ignoredResourcePattern>
<!-- There are several situations where a test-jar and another test-jar or a bundle conflict on these artifacts -->
<ignoredResourcePattern>log4j.xml</ignoredResourcePattern>
<ignoredResourcePattern>os.xml</ignoredResourcePattern>
<ignoredResourcePattern>virtualhardwaresection.xml</ignoredResourcePattern>
<ignoredResourcePattern>logback.xml</ignoredResourcePattern>
<ignoredResourcePattern>amzn_images.xml</ignoredResourcePattern>
<ignoredResourcePattern>test.jks</ignoredResourcePattern>
<ignoredResourcePattern>test</ignoredResourcePattern>
<ignoredResourcePattern>CreateInternetService-options-test.xml</ignoredResourcePattern>
<ignoredResourcePattern>.gitattributes</ignoredResourcePattern>
<ignoredResourcePattern>functions/.gitattributes</ignoredResourcePattern>
<ignoredResourcePattern>OSGI-OPT/bnd.bnd</ignoredResourcePattern>
<!-- For bouncycastle -->
<ignoredResourcePattern>META-INF/BCKEY.DSA</ignoredResourcePattern>
<ignoredResourcePattern>META-INF/BCKEY.SF</ignoredResourcePattern>
</ignoredResourcePatterns>
<failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
<skip>${skipDuplicateFinder}</skip>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>live</id>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
<id>integration</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<!-- note that the groups/excluded groups don't work due to some problem
in surefire or testng. instead, we have to exclude via file path
<groups>live,integration</groups>
<excludedGroups>unit,performance</excludedGroups> -->
<excludes>
<exclude>none</exclude>
</excludes>
<includes>
<include>**/*IntegrationTest.java</include>
<include>**/*LiveTest.java</include>
</includes>
<systemPropertyVariables>
<!--
If you're behind a proxy, set this here
https://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html
<https.proxyHost>proxy</https.proxyHost>
<https.proxyPort>port</https.proxyPort>
<https.noProxyHosts>localhost|10.150.4.49</https.noProxyHosts>
-->
<file.encoding>${project.build.sourceEncoding}</file.encoding>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>jclouds-project</id>
<activation>
<file>
<!-- only in the jclouds-project module -->
<exists>src/etc/header.txt</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<!-- When building jclouds-project, override the config to use the local file -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<configLocation>../resources/checkstyle.xml</configLocation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<failOnViolation>true</failOnViolation>
<failsOnError>true</failsOnError>
<violationSeverity>warning</violationSeverity>
</configuration>
</plugin>
<plugin>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-plugin</artifactId>
<configuration>
<!-- Fix fiolations before uncommenting
<javaVersion>${maven.compile.source}</javaVersion>
-->
<javaVersion>1.6</javaVersion>
<!-- in jclouds-project use the local file. ${project.basedir}
required here as 1.1.0 of the modernizer plugin can't find the
exclusions file otherwise -->
<exclusionsFile>${project.basedir}/../resources/modernizer_exclusions.txt</exclusionsFile>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>not-jclouds-project</id>
<activation>
<file>
<!-- only in the jclouds-project module -->
<missing>src/etc/header.txt</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.jclouds</groupId>
<artifactId>jclouds-resources</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<configuration>
<!-- jclouds-resources has the checkstyle config in the classpath -->
<configLocation>resources/checkstyle.xml</configLocation>
<suppressionsLocation>resources/checkstyle-suppressions.xml</suppressionsLocation>
<suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<failOnViolation>true</failOnViolation>
<failsOnError>true</failsOnError>
<violationSeverity>warning</violationSeverity>
</configuration>
</plugin>
<plugin>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.jclouds</groupId>
<artifactId>jclouds-resources</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<configuration>
<!-- Fix vioaltions and uncomment again
<javaVersion>${maven.compile.source}</javaVersion>
-->
<javaVersion>1.6</javaVersion>
<exclusionsFile>resources/modernizer_exclusions.txt</exclusionsFile>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>doc</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
<doclint>none</doclint>
<maxmemory>512m</maxmemory>
<quiet>true</quiet>
</configuration>
<executions>
<execution>
<id>javadoc</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>src</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
<goal>test-jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>