<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ibm.cos</groupId>
  <artifactId>ibm-cos-java-sdk-pom</artifactId>
  <version>2.15.0</version>
  <packaging>pom</packaging>
  <name>IBM COS SDK for Java</name>
  <description>The IBM COS Web Services SDK for Java provides Java APIs
    for building software on IBM Cloud Object Storage.</description>
  <url>https://github.com/ibm/ibm-cos-sdk-java</url>
  <licenses>
    <license>
      <name>The Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>
  <developers>
    <developer>
      <name>IBM</name>
      <email></email>
      <url>https://www.ibm.com/cloud/</url>
    </developer>
  </developers>
  <scm>
    <url>https://github.com/IBM/ibm-cos-sdk-java/tree/master</url>
    <connection>scm:git:git://github.com/IBM/ibm-cos-sdk-java.git</connection>
    <developerConnection>scm:git:ssh://git@github.com:IBM/ibm-cos-sdk-java.git</developerConnection>
  </scm>

  <!-- The module section in pom.xml is auto generated. No manual changes are allowed -->
  <modules>
    <module>ibm-cos-java-sdk-s3</module>
    <module>ibm-cos-java-sdk-kms</module>
    <module>ibm-cos-java-sdk</module>
    <module>ibm-cos-java-sdk-core</module>
    <module>ibm-cos-java-sdk-bom</module>
    <module>ibm-cos-java-sdk-test-utils</module>
    <module>ibm-cos-java-sdk-bundle</module>
</modules>
  <!--<scm>
    <url>https://github.com/aws/aws-sdk-java.git</url>
  </scm>-->
  <properties>
      <ibmcosjavasdk.version>${project.version}</ibmcosjavasdk.version>
      <jackson.databind.version>2.16.2</jackson.databind.version>
      <jackson.cbor.version>2.16.2</jackson.cbor.version>
      <asynchttp.version>4.1.5</asynchttp.version>
      <ion.java.version>1.11.11</ion.java.version>
      <junit.version>4.13.2</junit.version>
      <easymock.version>3.6</easymock.version>
      <commons.logging.version>1.2</commons.logging.version>
      <jodatime.version>2.13.1</jodatime.version>
      <wiremock.version>1.58</wiremock.version>
      <hamcrest.all.version>1.3</hamcrest.all.version>
      <commons.io.version>2.21.0</commons.io.version>
      <mockito.all.version>1.10.19</mockito.all.version>
      <equalsverifier.version>1.7.8</equalsverifier.version>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <jre.version>1.8</jre.version>
      <httpcomponents.httpclient.version>4.5.14</httpcomponents.httpclient.version>
      <commons.codec.version>1.20.0</commons.codec.version>
      <powermockmodule.version>1.7.4</powermockmodule.version>
      <powermockmockito.version>1.7.4</powermockmockito.version>
      <aspera.version>0.1.163682</aspera.version>
      <!-- These properties are used by cucumber tests related code -->
      <cucumber.info.cukes.version>1.2.6</cucumber.info.cukes.version>
      <cucumber.guice.version>4.2.3</cucumber.guice.version>
      <unitils.version>3.4.6</unitils.version>
  </properties>
  <distributionManagement>
    <snapshotRepository>
      <id>central</id>
      <url>https://central.sonatype.com/repository/maven-snapshots/</url>
    </snapshotRepository>
    <repository>
      <id>central</id>
      <url>https://central.sonatype.com/repository/maven-releases/</url>
    </repository>
  </distributionManagement>
  <dependencyManagement>
    <dependencies>
    </dependencies>
  </dependencyManagement>
  <profiles>
  <profile>
    <id>jdk9+default</id>
    <activation>
      <file>
        <missing>${java.home}/../lib/tools.jar</missing>
      </file>
    </activation>
	<build>
	  <pluginManagement>
	    <plugins>
	      <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-compiler-plugin</artifactId>
	        <version>3.10.1</version>
	        <configuration>
		      <excludes>
			    <exclude>com/ibm/cloud/objectstorage/annotation/ExcludeDoclet.java</exclude>
			  </excludes>
	          <source>${jre.version}</source>
	          <target>${jre.version}</target>
	          <encoding>UTF-8</encoding>
	          <forceJavacCompilerUse>true</forceJavacCompilerUse>
	        </configuration>
          </plugin>
	      <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-source-plugin</artifactId>
	        <version>2.4</version>
	      </plugin>
	      <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-javadoc-plugin</artifactId>
	        <version>2.10.4</version>
	        <configuration>
	          <excludePackageNames>*.transform</excludePackageNames>
	          <minmemory>128m</minmemory>
	          <maxmemory>1024m</maxmemory>
	        </configuration>
	      </plugin>
	      <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-surefire-plugin</artifactId>
	        <version>2.22.2</version>
	        <configuration>
	          <excludes>
	            <exclude>**/*CucumberTest.java</exclude>
	          </excludes>
	        </configuration>
	      </plugin>
	    </plugins>
	  </pluginManagement>
	</build>
	</profile>
    <profile>
      <id>publishing</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.2.1</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                  <phase>verify</phase>
                  <goals>
                    <goal>jar-no-fork</goal>
                  </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.4.1</version>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.sonatype.central</groupId>
            <artifactId>central-publishing-maven-plugin</artifactId>
            <version>0.8.0</version>
            <extensions>true</extensions>
            <configuration>
              <publishingServerId>central</publishingServerId>
              <autoPublish>false</autoPublish>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>disable-java8-doclint</id>
        <activation>
          <jdk>[1.8,)</jdk>
        </activation>
        <properties>
          <additionalparam>-Xdoclint:none</additionalparam>
        </properties>
    </profile>
    <profile>
      <id>smoketests</id>
      <build>
        <pluginManagement>
          <plugins>
            <plugin >
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.22.2</version>
              <configuration>
                <excludes combine.self="override">
                  <exclude></exclude>
                </excludes>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>jdk6-8default</id>
      <activation>
        <file>
          <exists>${java.home}/../lib/tools.jar</exists>
        </file>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
	        <plugin>
	          <groupId>org.apache.maven.plugins</groupId>
	          <artifactId>maven-compiler-plugin</artifactId>
	          <version>3.10.1</version>
	          <configuration>
	            <source>${jre.version}</source>
	            <target>${jre.version}</target>
	            <encoding>UTF-8</encoding>
	            <forceJavacCompilerUse>true</forceJavacCompilerUse>
	          </configuration>
	        </plugin>
	        <plugin>
	          <groupId>org.apache.maven.plugins</groupId>
	          <artifactId>maven-source-plugin</artifactId>
	          <version>2.4</version>
	        </plugin>
	        <plugin>
	          <groupId>org.apache.maven.plugins</groupId>
	          <artifactId>maven-javadoc-plugin</artifactId>
	          <version>2.10.4</version>
	          <configuration>
	            <doclet>com.ibm.cloud.objectstorage.annotation.ExcludeDoclet</doclet>
	              <docletArtifact>
	                <groupId>com.ibm.cos</groupId>
	                <artifactId>ibm-cos-java-sdk-core</artifactId>
	                <version>${ibmcosjavasdk.version}</version>
	              </docletArtifact>
	            <excludePackageNames>*.transform:com.ibm.cloud.objectstorage.services.kms.model:com.ibm.cloud.objectstorage.auth.policy</excludePackageNames>
	           	<sourceFileExcludes>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/AmazonS3Encryption.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/AmazonS3EncryptionClient.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/AmazonS3EncryptionClientBuilder.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/AmazonS3EncryptionClientParamsWrapper.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/BucketTaggingConfiguration.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/DeleteBucketTaggingConfigurationRequest.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/GetBucketTaggingConfigurationRequest.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/SetBucketTaggingConfigurationRequest.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/ObjectTagging.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/DeleteObjectTaggingRequest.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/DeleteObjectTaggingResult.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/internal/DeleteObjectTaggingHeaderHandler.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/internal/SetObjectTaggingResponseHeaderHandler.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/internal/GetObjectTaggingResponseHeaderHandler.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/transfer/ObjectTaggingProvider.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/GetObjectTaggingRequest.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/GetObjectTaggingResult.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/SetObjectTaggingRequest.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/SetObjectTaggingResult.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/Tag.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/TagSet.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/auth/EC2ContainerCredentialsProviderWrapper.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/auth/EC2CredentialsFetcher.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/internal/EC2CredentialsUtils.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/internal/EC2MetadataClient.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/util/EC2MetadataUtils.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/KMSEncryptionMaterials.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/auth/policy/actions/KMSActions.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/EncryptionType.java</exclude><!-- Encryption specific to KMS -->
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/KMSEncryptionMaterialsProvider.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/iterable/S3Versions.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/S3VersionSummary.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/internal/S3VersionHeaderHandler.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/internal/S3VersionResult.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/KMSEncryptionMaterialsProvider.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/ListVersionsRequest.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/ListNextBatchOfVersionsRequest.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/GetRequestPaymentConfigurationRequest.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/SetRequestPaymentConfigurationRequest.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/RequestPaymentConfiguration.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/s3/model/RequestPaymentConfiguration/Payer.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/regions/ServiceAbbreviations.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/kms/AbstractAWSKMS.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/kms/AbstractAWSKMSAsync.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/kms/AWSKMSAsync.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/kms/AWSKMSAsyncClient.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/kms/AWSKMSAsyncClientBuilder.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/kms/AWSKMSClient.java</exclude>
				    <exclude>com/ibm/cloud/objectstorage/services/kms/AWSKMS.java</exclude>
				</sourceFileExcludes>
	            <minmemory>128m</minmemory>
	            <maxmemory>1024m</maxmemory>
	          </configuration>
	        </plugin>
		    <plugin>
		      <groupId>org.apache.maven.plugins</groupId>
		      <artifactId>maven-surefire-plugin</artifactId>
		      <version>2.22.2</version>
		      <configuration>
		        <excludes>
		          <exclude>**/*CucumberTest.java</exclude>
		        </excludes>
		     </configuration>
		    </plugin>
          </plugins>
        </pluginManagement>
      </build>
	  <dependencies>
	    <dependency>
	      <groupId>sun.jdk</groupId>
	      <artifactId>tools</artifactId>
	      <version>1.5.0</version>
	      <scope>system</scope>
	      <systemPath>${java.home}/../lib/tools.jar</systemPath>
	    </dependency>
	  </dependencies>
    </profile>
  </profiles>
</project>
