<projectxmlns="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><groupId>org.hyperledger.fabric-sdk-java</groupId><artifactId>fabric-sdk-java</artifactId><packaging>jar</packaging><version>1.0.0</version><name>fabric-java-sdk</name><description>Java SDK for Hyperledger fabric project</description><url>https://www.hyperledger.org/community/projects</url><licenses><license><name>Apache License, Version 2.0</name><url>http://www.apache.org/licenses/LICENSE-2.0.txt</url><distribution>repo</distribution></license></licenses><developers><developer><name>Fabric JAVA SDK Developers</name><email>hyperledger-technical-discuss@lists.hyperledger.org</email></developer></developers><scm><connection>scm:git:git://github.com/hyperledger/fabric-sdk-java.git</connection><developerConnection>scm:git:ssh://github.com/hyperledger/fabric-sdk-java.git</developerConnection><url>http://github.com/hyperledger/fabric-sdk-java</url><tag>fabric-sdk-java-1.0</tag></scm><properties><grpc.version>1.3.0</grpc.version><!-- CURRENT_GRPC_VERSION --><bouncycastle.version>1.55</bouncycastle.version><httpclient.version>4.5.2</httpclient.version><skipITs>true</skipITs><alpn-boot-version>8.1.7.v20160121</alpn-boot-version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><jacoco.version>0.7.9</jacoco.version></properties><reporting><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-checkstyle-plugin</artifactId><version>2.17</version><reportSets><reportSet><reports><report>checkstyle</report></reports></reportSet></reportSets></plugin><plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>${jacoco.version}</version></plugin></plugins></reporting><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>io.grpc</groupId><artifactId>grpc-netty</artifactId><version>${grpc.version}</version></dependency><dependency><groupId>io.grpc</groupId><artifactId>grpc-protobuf</artifactId><version>${grpc.version}</version></dependency><dependency><groupId>io.grpc</groupId><artifactId>grpc-stub</artifactId><version>${grpc.version}</version></dependency><dependency><groupId>io.netty</groupId><artifactId>netty-tcnative-boringssl-static</artifactId><version>1.1.33.Fork26</version></dependency><dependency><groupId>io.netty</groupId><artifactId>netty-codec-http2</artifactId><version>4.1.8.Final</version></dependency><!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java --><dependency><groupId>com.google.protobuf</groupId><artifactId>protobuf-java</artifactId><version>3.1.0</version></dependency><!-- https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on --><dependency><groupId>org.bouncycastle</groupId><artifactId>bcpkix-jdk15on</artifactId><version>${bouncycastle.version}</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>commons-cli</groupId><artifactId>commons-cli</artifactId><version>1.3.1</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-compress</artifactId><version>1.12</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><!-- https://mvnrepository.com/artifact/log4j/log4j --><!--- <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.6.2</version> </dependency> --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>${httpclient.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.glassfish/javax.json --><dependency><groupId>org.glassfish</groupId><artifactId>javax.json</artifactId><version>1.0.4</version></dependency><!--&lt;!&ndash; https://mvnrepository.com/artifact/org.mortbay.jetty.alpn/jetty-alpn-agent &ndash;&gt;--><!--<dependency>--><!--<groupId>org.mortbay.jetty.alpn</groupId>--><!--<artifactId>jetty-alpn-agent</artifactId>--><!--<version>2.0.1</version>--><!--</dependency>--><!-- https://mvnrepository.com/artifact/org.mortbay.jetty.alpn/alpn-boot --><!--<dependency>--><!--<groupId>org.mortbay.jetty.alpn</groupId>--><!--<artifactId>alpn-boot</artifactId>--><!--<version>${alpn-boot-version}</version>--><!--</dependency>--><!-- https://mvnrepository.com/artifact/org.yaml/snakeyaml --><dependency><groupId>org.yaml</groupId><artifactId>snakeyaml</artifactId><version>1.18</version></dependency><!-- https://mvnrepository.com/artifact/org.jacoco/jacoco-maven-plugin --><dependency><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>${jacoco.version}</version></dependency></dependencies><build><resources><resource><filtering>false</filtering><directory>src</directory><includes><include>**/*.properties</include><include>**/*.Docker</include></includes></resource></resources><extensions><extension><groupId>kr.motd.maven</groupId><artifactId>os-maven-plugin</artifactId><version>1.4.1.Final</version></extension></extensions><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.19.1</version><configuration><argLine>${surefireArgLine}</argLine><includes><include>**/*Test.java</include></includes><!--<useSystemClassLoader>true</useSystemClassLoader>--></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-failsafe-plugin</artifactId><version>2.19.1</version><configuration><argLine>${failsafeArgLine}</argLine><includes><include>**/IntegrationSuite.java</include></includes><skipITs>${skipITs}</skipITs><!--<argLine>--><!-- -Xbootclasspath/p:${settings.localRepository}/org/mortbay/jetty/alpn/alpn-boot/${alpn-boot-version}/alpn-boot-${alpn-boot-version}.jar--><!--</argLine>--></configuration><executions><execution><id>failsafe-integration-tests</id><phase>integration-test</phase><goals><goal>integration-test</goal><goal>verify</goal></goals></execution></executions></plugin><plugin><groupId>org.xolstice.maven.plugins</groupId><artifactId>protobuf-maven-plugin</artifactId><version>0.5.0</version><configuration><!-- The version of protoc must match protobuf-java. If you don't depend on protobuf-java directly, you will be transitively depending on the protobuf-java version that grpc depends on. --><protocArtifact>com.google.protobuf:protoc:3.0.0:exe:${os.detected.classifier}</protocArtifact><pluginId>grpc-java</pluginId><pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}
</pluginArtifact></configuration><executions><execution><goals><goal>compile</goal><goal>compile-custom</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.3</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>2.10.4</version><configuration><excludePackageNames> org.hyperledger.fabric_ca.sdk.helper:org.hyperledger.fabric.protos.*:org.hyperledger.fabric.sdk.helper:org.hyperledger.fabric.sdk.transaction:org.hyperledger.fabric.sdk.security
</excludePackageNames><show>public</show><doctitle>Hyperledger Fabric Java SDK</doctitle><nohelp>true</nohelp></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-checkstyle-plugin</artifactId><version>2.17</version><executions><execution><goals><goal>check</goal></goals></execution></executions><configuration><consoleOutput>true</consoleOutput><logViolationsToConsole>true</logViolationsToConsole><failOnViolation>true</failOnViolation><failsOnError>true</failsOnError><sourceDirectory>${project.build.sourceDirectory}</sourceDirectory><configLocation>checkstyle-config.xml</configLocation><includeTestSourceDirectory>true</includeTestSourceDirectory></configuration></plugin><plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>${jacoco.version}</version><configuration><excludes><exclude>**/org/hyperledger/fabric/protos/**</exclude></excludes></configuration><executions><execution><id>default-prepare-agent</id><goals><goal>prepare-agent</goal></goals></execution><execution><id>default-report</id><phase>prepare-package</phase><goals><goal>report</goal></goals></execution><!-- Prepares the property pointing to the JaCoCo runtime agent which is passed as VM argument when Maven the Surefire plugin is executed. --><execution><id>pre-unit-test</id><goals><goal>prepare-agent</goal></goals><configuration><propertyName>surefireArgLine</propertyName><!-- Sets the path to the file which contains the execution data. --><destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile><!-- Sets the name of the property containing the settings for JaCoCo runtime agent. --></configuration></execution><!-- Ensures that the code coverage report for unit tests is created after unit tests have been run. --><execution><id>post-unit-test</id><phase>test</phase><goals><goal>report</goal></goals><configuration><!-- Sets the path to the file which contains the execution data. --><dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile><!-- Sets the output directory for the code coverage report. --><outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory></configuration></execution><!-- The Executions required by unit tests are omitted. --><!-- Prepares the property pointing to the JaCoCo runtime agent which is passed as VM argument when Maven the Failsafe plugin is executed. --><execution><id>pre-integration-test</id><phase>pre-integration-test</phase><goals><goal>prepare-agent</goal></goals><configuration><!-- Sets the path to the file which contains the execution data. --><destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile><!-- Sets the name of the property containing the settings for JaCoCo runtime agent. --><propertyName>failsafeArgLine</propertyName></configuration></execution><!-- Ensures that the code coverage report for integration tests after integration tests have been run. --><execution><id>post-integration-test</id><phase>post-integration-test</phase><goals><goal>report</goal></goals><configuration><!-- Sets the path to the file which contains the execution data. --><dataFile>${project.build.directory}/coverage-reports/jacoco-it.exec</dataFile><!-- Sets the output directory for the code coverage report. --><outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory></configuration></execution><execution><id>merge-results</id><phase>verify</phase><goals><goal>merge</goal></goals><configuration><fileSets><!-- Implementation attribute not needed in Maven 3 --><!--<fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">--><fileSet><directory>${project.build.directory}/coverage-reports</directory><includes><include>*.exec</include></includes></fileSet></fileSets><!-- File containing the merged data --><destFile>${project.build.directory}/jacoco-merged/merged.exec</destFile></configuration></execution><execution><id>post-merge-report</id><phase>verify</phase><goals><goal>report</goal></goals><configuration><dataFile>${project.build.directory}/jacoco-merged/merged.exec</dataFile><outputDirectory>${project.reporting.outputDirectory}/jacoco-aggregate</outputDirectory></configuration></execution></executions></plugin></plugins></build><distributionManagement><snapshotRepository><id>ossrh</id><url>https://oss.sonatype.org/content/repositories/snapshots</url></snapshotRepository></distributionManagement><profiles><profile><id>release</id><build><plugins><plugin><groupId>org.sonatype.plugins</groupId><artifactId>nexus-staging-maven-plugin</artifactId><version>1.6.7</version><extensions>true</extensions><configuration><serverId>ossrh</serverId><nexusUrl>https://oss.sonatype.org/</nexusUrl><autoReleaseAfterClose>false</autoReleaseAfterClose></configuration></plugin><plugin><artifactId>maven-assembly-plugin</artifactId><version>2.3</version><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><configuration><useAgent>true</useAgent></configuration><version>1.5</version><executions><execution><id>sign-artifacts</id><phase>verify</phase><goals><goal>sign</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.2.1</version><executions><execution><id>attach-sources</id><goals><goal>jar-no-fork</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>2.10.4</version><configuration><excludePackageNames> org.hyperledger.fabric_ca.sdk.helper:org.hyperledger.fabric.protos.*:org.hyperledger.fabric.sdk.helper:org.hyperledger.fabric.sdk.transaction:org.hyperledger.fabric.sdk.security
</excludePackageNames><show>public</show><doctitle>Hyperledger Fabric Java SDK</doctitle><nohelp>true</nohelp></configuration><executions><execution><id>attach-javadocs</id><goals><goal>jar</goal></goals></execution></executions></plugin></plugins></build></profile></profiles></project>