441 lines
18 KiB
XML
441 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>
|
|
<parent>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-project</artifactId>
|
|
<version>3.0.0-SNAPSHOT</version>
|
|
<relativePath>../hadoop-project</relativePath>
|
|
</parent>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-project-dist</artifactId>
|
|
<version>3.0.0-SNAPSHOT</version>
|
|
<description>Apache Hadoop Project Dist POM</description>
|
|
<name>Apache Hadoop Project Dist POM</name>
|
|
<packaging>pom</packaging>
|
|
|
|
<properties>
|
|
<hadoop.tmp.dir>${project.build.directory}/test</hadoop.tmp.dir>
|
|
<test.build.data>${project.build.directory}/test/data</test.build.data>
|
|
<hadoop.log.dir>${project.build.directory}/log</hadoop.log.dir>
|
|
<test.build.webapps>${project.build.directory}/test-classes/webapps</test.build.webapps>
|
|
<test.cache.data>${project.build.directory}/test-classes</test.cache.data>
|
|
<test.build.classes>${project.build.directory}/test-classes</test.build.classes>
|
|
|
|
<hadoop.component>UNDEF</hadoop.component>
|
|
<bundle.snappy>false</bundle.snappy>
|
|
<bundle.snappy.in.bin>false</bundle.snappy.in.bin>
|
|
<bundle.openssl>false</bundle.openssl>
|
|
<bundle.openssl.in.bin>false</bundle.openssl.in.bin>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-annotations</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>prepare-jar</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>prepare-test-jar</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includes>
|
|
<include>**/*.class</include>
|
|
<include>webapps/**</include>
|
|
</includes>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<attach>true</attach>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>findbugs-maven-plugin</artifactId>
|
|
<configuration>
|
|
<excludeFilterFile>${basedir}/dev-support/findbugsExcludeFile.xml</excludeFilterFile>
|
|
<fork>true</fork>
|
|
<maxHeap>2048</maxHeap>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<configuration>
|
|
<configLocation>file://${basedir}/dev-support/checkstyle.xml</configLocation>
|
|
<failOnViolation>false</failOnViolation>
|
|
<format>xml</format>
|
|
<format>html</format>
|
|
<outputFile>${project.build.directory}/test/checkstyle-errors.xml</outputFile>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<configuration>
|
|
<linksource>true</linksource>
|
|
<maxmemory>512m</maxmemory>
|
|
<quiet>true</quiet>
|
|
<verbose>false</verbose>
|
|
<source>${maven.compile.source}</source>
|
|
<charset>${maven.compile.encoding}</charset>
|
|
<reportOutputDirectory>${project.build.directory}/site</reportOutputDirectory>
|
|
<destDir>api</destDir>
|
|
<groups>
|
|
<group>
|
|
<title>${project.name} API</title>
|
|
<packages>org.apache.hadoop*</packages>
|
|
</group>
|
|
</groups>
|
|
<doclet>org.apache.hadoop.classification.tools.ExcludePrivateAnnotationsStandardDoclet</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>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>docs</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
</activation>
|
|
<properties>
|
|
<jdiff.stable.api>0.20.2</jdiff.stable.api>
|
|
<jdiff.stability>-unstable</jdiff.stability>
|
|
<jdiff.compatibility></jdiff.compatibility>
|
|
<jdiff.javadoc.maxmemory>512m</jdiff.javadoc.maxmemory>
|
|
</properties>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>javadoc</goal>
|
|
</goals>
|
|
<phase>prepare-package</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>findbugs-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>findbugs</goal>
|
|
</goals>
|
|
<phase>prepare-package</phase>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<excludeFilterFile>${basedir}/dev-support/findbugsExcludeFile.xml</excludeFilterFile>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>site</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>jdiff</groupId>
|
|
<artifactId>jdiff</artifactId>
|
|
<version>${jdiff.version}</version>
|
|
<overWrite>false</overWrite>
|
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
|
<destFileName>jdiff.jar</destFileName>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-annotations</artifactId>
|
|
<version>${project.version}</version>
|
|
<overWrite>false</overWrite>
|
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
|
<destFileName>hadoop-annotations.jar</destFileName>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>site</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target if="is.hadoop.component">
|
|
|
|
<mkdir dir="${project.build.directory}/docs-src"/>
|
|
|
|
<copy todir="${project.build.directory}/docs-src">
|
|
<fileset dir="${basedir}/src/main/docs"/>
|
|
</copy>
|
|
|
|
<!-- Docs -->
|
|
<copy file="${project.build.directory}/docs-src/releasenotes.html"
|
|
todir="${project.build.directory}/site"/>
|
|
<style basedir="${basedir}/src/main/resources"
|
|
destdir="${project.build.directory}/site"
|
|
includes="core-default.xml"
|
|
style="${basedir}/src/main/xsl/configuration.xsl"/>
|
|
|
|
<!-- Convert 'CHANGES.txt' to 'changes.html" -->
|
|
<exec executable="perl" input="${basedir}/../CHANGES.txt"
|
|
output="${project.build.directory}/site/changes.html"
|
|
failonerror="true">
|
|
<arg value="${project.build.directory}/docs-src/changes/changes2html.pl"/>
|
|
</exec>
|
|
<copy todir="${project.build.directory}/site">
|
|
<fileset dir="${project.build.directory}/docs-src/changes" includes="*.css"/>
|
|
</copy>
|
|
|
|
<!-- Jdiff -->
|
|
<mkdir dir="${project.build.directory}/site/jdiff/xml"/>
|
|
|
|
<javadoc maxmemory="${jdiff.javadoc.maxmemory}" verbose="yes">
|
|
<doclet name="org.apache.hadoop.classification.tools.ExcludePrivateAnnotationsJDiffDoclet"
|
|
path="${project.build.directory}/hadoop-annotations.jar:${project.build.directory}/jdiff.jar">
|
|
<param name="-apidir" value="${project.build.directory}/site/jdiff/xml"/>
|
|
<param name="-apiname" value="hadoop-core ${project.version}"/>
|
|
<param name="${jdiff.stability}"/>
|
|
</doclet>
|
|
<packageset dir="${basedir}/src/main/java"/>
|
|
<classpath>
|
|
<path refid="maven.compile.classpath"/>
|
|
</classpath>
|
|
</javadoc>
|
|
<javadoc sourcepath="${basedir}/src/main/java"
|
|
destdir="${project.build.directory}/site/jdiff/xml"
|
|
sourceFiles="${basedir}/dev-support/jdiff/Null.java"
|
|
maxmemory="${jdiff.javadoc.maxmemory}">
|
|
<doclet name="org.apache.hadoop.classification.tools.ExcludePrivateAnnotationsJDiffDoclet"
|
|
path="${project.build.directory}/hadoop-annotations.jar:${project.build.directory}/jdiff.jar">
|
|
<param name="-oldapi" value="hadoop-core ${jdiff.stable.api}"/>
|
|
<param name="-newapi" value="hadoop-core ${project.version}"/>
|
|
<param name="-oldapidir" value="${basedir}/dev-support/jdiff"/>
|
|
<param name="-newapidir" value="${project.build.directory}/site/jdiff/xml"/>
|
|
<param name="-javadocold"
|
|
value="http://hadoop.apache.org/docs/${jdiff.stable.api}/api/"/>
|
|
<param name="-javadocnew" value="${project.build.directory}/site/api"/>
|
|
<param name="-stats"/>
|
|
<param name="${jdiff.stability}"/>
|
|
<param name="${jdiff.compatibility}"/>
|
|
</doclet>
|
|
<classpath>
|
|
<path refid="maven.compile.classpath"/>
|
|
</classpath>
|
|
</javadoc>
|
|
|
|
<xslt style="${env.FINDBUGS_HOME}/src/xsl/default.xsl"
|
|
in="${project.build.directory}/findbugsXml.xml"
|
|
out="${project.build.directory}/site/findbugs.html"/>
|
|
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>dist</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>pre-dist</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<!-- Using Unix script to preserve symlinks -->
|
|
<echo file="${project.build.directory}/dist-copynativelibs.sh">
|
|
BUILD_DIR="${project.build.directory}"
|
|
TAR='tar cf -'
|
|
UNTAR='tar xfBp -'
|
|
LIB_DIR="${BUILD_DIR}/native/target/usr/local/lib"
|
|
if [ -d $${LIB_DIR} ] ; then
|
|
TARGET_DIR="${BUILD_DIR}/${project.artifactId}-${project.version}/lib/native"
|
|
mkdir -p $${TARGET_DIR}
|
|
cd $${LIB_DIR}
|
|
$$TAR lib* | (cd $${TARGET_DIR}/; $$UNTAR)
|
|
if [ "${bundle.snappy}" = "true" ] ; then
|
|
cd "${snappy.lib}"
|
|
$$TAR *snappy* | (cd $${TARGET_DIR}/; $$UNTAR)
|
|
fi
|
|
if [ "${bundle.openssl}" = "true" ] ; then
|
|
cd "${openssl.lib}"
|
|
$$TAR *crypto* | (cd $${TARGET_DIR}/; $$UNTAR)
|
|
fi
|
|
fi
|
|
BIN_DIR="${BUILD_DIR}/bin"
|
|
if [ -d $${BIN_DIR} ] ; then
|
|
TARGET_BIN_DIR="${BUILD_DIR}/${project.artifactId}-${project.version}/bin"
|
|
mkdir -p $${TARGET_BIN_DIR}
|
|
cd $${BIN_DIR}
|
|
$$TAR * | (cd $${TARGET_BIN_DIR}/; $$UNTAR)
|
|
if [ "${bundle.snappy.in.bin}" = "true" ] ; then
|
|
if [ "${bundle.snappy}" = "true" ] ; then
|
|
cd "${snappy.lib}"
|
|
$$TAR *snappy* | (cd $${TARGET_BIN_DIR}/; $$UNTAR)
|
|
fi
|
|
fi
|
|
if [ "${bundle.openssl.in.bin}" = "true" ] ; then
|
|
if [ "${bundle.openssl}" = "true" ] ; then
|
|
cd "${openssl.lib}"
|
|
$$TAR *crypto* | (cd $${TARGET_BIN_DIR}/; $$UNTAR)
|
|
fi
|
|
fi
|
|
fi
|
|
</echo>
|
|
<exec executable="sh" dir="${project.build.directory}" failonerror="true">
|
|
<arg line="./dist-copynativelibs.sh"/>
|
|
</exec>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>tar</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target if="tar">
|
|
<!-- Using Unix script to preserve symlinks -->
|
|
<echo file="${project.build.directory}/dist-maketar.sh">
|
|
cd "${project.build.directory}"
|
|
tar cf - ${project.artifactId}-${project.version} | gzip > ${project.artifactId}-${project.version}.tar.gz
|
|
</echo>
|
|
<exec executable="sh" dir="${project.build.directory}" failonerror="true">
|
|
<arg line="./dist-maketar.sh"/>
|
|
</exec>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-assemblies</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<id>dist</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<appendAssemblyId>false</appendAssemblyId>
|
|
<attach>false</attach>
|
|
<finalName>${project.artifactId}-${project.version}</finalName>
|
|
<descriptorRefs>
|
|
<descriptorRef>hadoop-dist</descriptorRef>
|
|
</descriptorRefs>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|