504 lines
18 KiB
XML
504 lines
18 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Licensed 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. See accompanying LICENSE file.
|
|
-->
|
|
<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/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-main</artifactId>
|
|
<version>2.6.1</version>
|
|
<description>Apache Hadoop Main</description>
|
|
<name>Apache Hadoop Main</name>
|
|
<packaging>pom</packaging>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.cenqua.clover</groupId>
|
|
<artifactId>clover</artifactId>
|
|
<!-- Use the version needed by maven-clover-plugin -->
|
|
<version>3.0.2</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<distributionManagement>
|
|
<repository>
|
|
<id>${distMgmtStagingId}</id>
|
|
<name>${distMgmtStagingName}</name>
|
|
<url>${distMgmtStagingUrl}</url>
|
|
</repository>
|
|
<snapshotRepository>
|
|
<id>${distMgmtSnapshotsId}</id>
|
|
<name>${distMgmtSnapshotsName}</name>
|
|
<url>${distMgmtSnapshotsUrl}</url>
|
|
</snapshotRepository>
|
|
<site>
|
|
<id>apache.website</id>
|
|
<url>scpexe://people.apache.org/www/hadoop.apache.org/docs/r${project.version}</url>
|
|
</site>
|
|
</distributionManagement>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>${distMgmtSnapshotsId}</id>
|
|
<name>${distMgmtSnapshotsName}</name>
|
|
<url>${distMgmtSnapshotsUrl}</url>
|
|
</repository>
|
|
<repository>
|
|
<id>repository.jboss.org</id>
|
|
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>The Apache Software License, Version 2.0</name>
|
|
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
|
</license>
|
|
</licenses>
|
|
|
|
<organization>
|
|
<name>Apache Software Foundation</name>
|
|
<url>http://www.apache.org</url>
|
|
</organization>
|
|
|
|
<properties>
|
|
<distMgmtSnapshotsId>apache.snapshots.https</distMgmtSnapshotsId>
|
|
<distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
|
|
<distMgmtSnapshotsUrl>https://repository.apache.org/content/repositories/snapshots</distMgmtSnapshotsUrl>
|
|
<distMgmtStagingId>apache.staging.https</distMgmtStagingId>
|
|
<distMgmtStagingName>Apache Release Distribution Repository</distMgmtStagingName>
|
|
<distMgmtStagingUrl>https://repository.apache.org/service/local/staging/deploy/maven2</distMgmtStagingUrl>
|
|
|
|
<!-- platform encoding override -->
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
</properties>
|
|
|
|
<modules>
|
|
<module>hadoop-project</module>
|
|
<module>hadoop-project-dist</module>
|
|
<module>hadoop-assemblies</module>
|
|
<module>hadoop-maven-plugins</module>
|
|
<module>hadoop-common-project</module>
|
|
<module>hadoop-hdfs-project</module>
|
|
<module>hadoop-yarn-project</module>
|
|
<module>hadoop-mapreduce-project</module>
|
|
<module>hadoop-tools</module>
|
|
<module>hadoop-dist</module>
|
|
<module>hadoop-client</module>
|
|
<module>hadoop-minicluster</module>
|
|
</modules>
|
|
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>2.4</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<version>1.3.1</version>
|
|
<configuration>
|
|
<rules>
|
|
<requireMavenVersion>
|
|
<version>[3.0.2,)</version>
|
|
</requireMavenVersion>
|
|
<requireJavaVersion>
|
|
<version>1.6</version>
|
|
</requireJavaVersion>
|
|
</rules>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>2.3</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<version>2.5</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.rat</groupId>
|
|
<artifactId>apache-rat-plugin</artifactId>
|
|
<version>0.7</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<version>1.7</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-site-plugin</artifactId>
|
|
<version>3.3</version>
|
|
<dependencies>
|
|
<dependency><!-- add support for ssh/scp -->
|
|
<groupId>org.apache.maven.wagon</groupId>
|
|
<artifactId>wagon-ssh</artifactId>
|
|
<version>1.0</version>
|
|
</dependency>
|
|
<dependency> <!-- add support for markdown -->
|
|
<groupId>org.apache.maven.doxia</groupId>
|
|
<artifactId>doxia-module-markdown</artifactId>
|
|
<version>1.3</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.atlassian.maven.plugins</groupId>
|
|
<artifactId>maven-clover2-plugin</artifactId>
|
|
<version>3.0.5</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<version>2.4.0</version>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<inherited>false</inherited>
|
|
<executions>
|
|
<execution>
|
|
<id>clean</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<phase>pre-clean</phase>
|
|
</execution>
|
|
<execution>
|
|
<id>default</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<phase>validate</phase>
|
|
</execution>
|
|
<execution>
|
|
<id>site</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<phase>pre-site</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.rat</groupId>
|
|
<artifactId>apache-rat-plugin</artifactId>
|
|
<configuration>
|
|
<excludes>
|
|
<exclude>.gitattributes</exclude>
|
|
<exclude>.gitignore</exclude>
|
|
<exclude>.git/**</exclude>
|
|
<exclude>.idea/**</exclude>
|
|
<exclude>**/build/**</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-site-plugin</artifactId>
|
|
<version>3.3</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-descriptor</id>
|
|
<goals>
|
|
<goal>attach-descriptor</goal>
|
|
</goals>
|
|
<configuration>
|
|
<generateReports>true</generateReports>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<inherited>true</inherited>
|
|
<extensions>true</extensions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<reporting>
|
|
<excludeDefaults>true</excludeDefaults>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>2.8.1</version>
|
|
<inherited>false</inherited>
|
|
<reportSets>
|
|
<reportSet>
|
|
<id>aggregate</id>
|
|
<configuration>
|
|
<maxmemory>1024m</maxmemory>
|
|
<linksource>true</linksource>
|
|
<quiet>true</quiet>
|
|
<verbose>false</verbose>
|
|
<source>${maven.compile.source}</source>
|
|
<charset>${maven.compile.encoding}</charset>
|
|
<reportOutputDirectory>${project.build.directory}/site</reportOutputDirectory>
|
|
<destDir>hadoop-project/api</destDir>
|
|
<!-- Non-public APIs -->
|
|
<excludePackageNames>org.apache.hadoop.authentication*,org.apache.hadoop.hdfs*,org.apache.hadoop.mapreduce.v2.proto,org.apache.hadoop.yarn.proto,org.apache.hadoop.yarn.server*,org.apache.hadoop.yarn.webapp*</excludePackageNames>
|
|
<groups>
|
|
<group>
|
|
<title>Common</title>
|
|
<packages>org.apache.hadoop*</packages>
|
|
</group>
|
|
<group>
|
|
<title>MapReduce</title>
|
|
<packages>org.apache.hadoop.mapred*</packages>
|
|
</group>
|
|
<group>
|
|
<title>YARN</title>
|
|
<packages>org.apache.hadoop.yarn*</packages>
|
|
</group>
|
|
</groups>
|
|
<doclet>org.apache.hadoop.classification.tools.IncludePublicAnnotationsStandardDoclet</doclet>
|
|
<docletArtifacts>
|
|
<docletArtifact>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-annotations</artifactId>
|
|
<version>${project.version}</version>
|
|
</docletArtifact>
|
|
</docletArtifacts>
|
|
<useStandardDocletOptions>true</useStandardDocletOptions>
|
|
|
|
<!-- switch on dependency-driven aggregation -->
|
|
<includeDependencySources>false</includeDependencySources>
|
|
|
|
<dependencySourceIncludes>
|
|
<!-- include ONLY dependencies I control -->
|
|
<dependencySourceInclude>org.apache.hadoop:hadoop-annotations</dependencySourceInclude>
|
|
</dependencySourceIncludes>
|
|
|
|
</configuration>
|
|
<reports>
|
|
<report>aggregate</report>
|
|
</reports>
|
|
</reportSet>
|
|
</reportSets>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>2.4</version>
|
|
<reportSets>
|
|
<reportSet>
|
|
<reports>
|
|
<report>analyze-report</report>
|
|
</reports>
|
|
</reportSet>
|
|
</reportSets>
|
|
</plugin>
|
|
</plugins>
|
|
</reporting>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>src</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<inherited>false</inherited>
|
|
<executions>
|
|
<execution>
|
|
<id>src-dist</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<appendAssemblyId>false</appendAssemblyId>
|
|
<attach>false</attach>
|
|
<finalName>hadoop-${project.version}-src</finalName>
|
|
<outputDirectory>hadoop-dist/target</outputDirectory>
|
|
<!-- Not using descriptorRef and hadoop-assembly dependency -->
|
|
<!-- to avoid making hadoop-main to depend on a module -->
|
|
<descriptors>
|
|
<descriptor>hadoop-assemblies/src/main/resources/assemblies/hadoop-src.xml</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<inherited>false</inherited>
|
|
<executions>
|
|
<execution>
|
|
<id>src-dist-msg</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<echo/>
|
|
<echo>Hadoop source tar available at: ${basedir}/hadoop-dist/target/hadoop-${project.version}-src.tar.gz</echo>
|
|
<echo/>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>dist</id>
|
|
<!-- Profile for generating all maven artifacts and documentation. -->
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<inherited>false</inherited>
|
|
<executions>
|
|
<execution>
|
|
<!-- build aggregate javadoc in parent only -->
|
|
<id>default-cli</id>
|
|
<goals>
|
|
<goal>aggregate</goal>
|
|
</goals>
|
|
<configuration>
|
|
<overview>hadoop-common-project/hadoop-common/src/main/java/overview.html</overview>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>sign</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>sign-artifacts</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>clover</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
<property>
|
|
<name>clover</name>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<cloverLicenseLocation>${user.home}/.clover.license</cloverLicenseLocation>
|
|
<cloverDatabase>${project.build.directory}/clover/hadoop-coverage.db</cloverDatabase>
|
|
<!-- NB: This additional parametrization is made in order
|
|
to be able to re-define these properties with "-Dk=v" maven options.
|
|
By some reason the expressions declared in clover
|
|
docs like "${maven.clover.generateHtml}" do not work in that way.
|
|
However, the below properties are confirmed to work: e.g.
|
|
-DcloverGenHtml=false switches off the Html generation.
|
|
The default values provided here exactly correspond to Clover defaults, so
|
|
the behavior is 100% backwards compatible. -->
|
|
<cloverAlwaysReport>true</cloverAlwaysReport>
|
|
<cloverGenHtml>true</cloverGenHtml>
|
|
<cloverGenXml>true</cloverGenXml>
|
|
<cloverGenHistorical>false</cloverGenHistorical>
|
|
</properties>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.atlassian.maven.plugins</groupId>
|
|
<artifactId>maven-clover2-plugin</artifactId>
|
|
<configuration>
|
|
<includesAllSourceRoots>false</includesAllSourceRoots>
|
|
<includesTestSourceRoots>true</includesTestSourceRoots>
|
|
<licenseLocation>${cloverLicenseLocation}</licenseLocation>
|
|
<cloverDatabase>${cloverDatabase}</cloverDatabase>
|
|
<targetPercentage>50%</targetPercentage>
|
|
<outputDirectory>${project.build.directory}/clover</outputDirectory>
|
|
<alwaysReport>${cloverAlwaysReport}</alwaysReport>
|
|
<generateHtml>${cloverGenHtml}</generateHtml>
|
|
<generateXml>${cloverGenXml}</generateXml>
|
|
<generateHistorical>${cloverGenHistorical}</generateHistorical>
|
|
<excludes>
|
|
<exclude>**/examples/**/*.java</exclude>
|
|
<exclude>**/hamlet/*.java</exclude>
|
|
<exclude>**/ha/proto/*.java</exclude>
|
|
<exclude>**/protocol/proto/*.java</exclude>
|
|
<exclude>**/compiler/generated/*.java</exclude>
|
|
<exclude>**/protobuf/*.java</exclude>
|
|
<exclude>**/v2/proto/*.java</exclude>
|
|
<exclude>**/yarn/proto/*.java</exclude>
|
|
<exclude>**/security/proto/*.java</exclude>
|
|
<exclude>**/tools/proto/*.java</exclude>
|
|
<exclude>**/hs/proto/*.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>clover-setup</id>
|
|
<phase>process-sources</phase>
|
|
<goals>
|
|
<goal>setup</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>clover</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>clover</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|