9bc159f4ac
Protobuf 2.5 JAR is no longer needed at runtime. The option common.protobuf.scope defines whether the protobuf 2.5.0 dependency is marked as provided or not. * New package org.apache.hadoop.ipc.internal for internal only protobuf classes ...with a ShadedProtobufHelper in there which has shaded protobuf refs only, so guaranteed not to need protobuf-2.5 on the CP * All uses of org.apache.hadoop.ipc.ProtobufHelper have been replaced by uses of org.apache.hadoop.ipc.internal.ShadedProtobufHelper * The scope of protobuf-2.5 is set by the option common.protobuf2.scope In this patch is it is still "compile" * There is explicit reference to it in modules where it may be needed. * The maven scope of the dependency can be set with the common.protobuf2.scope option. It can be set to "provided" in a build: -Dcommon.protobuf2.scope=provided * Add new ipc(callable) method to catch and convert shaded protobuf exceptions raised during invocation of the supplied lambda expression * This is adopted in the code where the migration is not traumatically over-complex. RouterAdminProtocolTranslatorPB is left alone for this reason. Contributed by Steve Loughran
332 lines
12 KiB
XML
332 lines
12 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
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
|
|
https://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.4.0-SNAPSHOT</version>
|
|
<relativePath>../../hadoop-project</relativePath>
|
|
</parent>
|
|
<artifactId>hadoop-mapreduce-client</artifactId>
|
|
<version>3.4.0-SNAPSHOT</version>
|
|
<name>Apache Hadoop MapReduce Client</name>
|
|
<packaging>pom</packaging>
|
|
|
|
<properties>
|
|
<hadoop.common.build.dir>${basedir}/../../../hadoop-common-project/hadoop-common/target</hadoop.common.build.dir>
|
|
<!-- Used by jdiff -->
|
|
<!-- Antrun cannot resolve yarn.basedir, so we need to setup something else -->
|
|
<dev-support.relative.dir>../dev-support</dev-support.relative.dir>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protobuf-java</artifactId>
|
|
<scope>${transient.protobuf2.scope}</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.avro</groupId>
|
|
<artifactId>avro</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-server</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.ant</groupId>
|
|
<artifactId>ant</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.jboss.netty</groupId>
|
|
<artifactId>netty</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.velocity</groupId>
|
|
<artifactId>velocity</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<artifactId>paranamer-ant</artifactId>
|
|
<groupId>com.thoughtworks.paranamer</groupId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.xerial.snappy</groupId>
|
|
<artifactId>snappy-java</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-common</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-log4j12</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-annotations</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-common</artifactId>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-hdfs</artifactId>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm-commons</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-hdfs-client</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.inject.extensions</groupId>
|
|
<artifactId>guice-servlet</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-all</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop.thirdparty</groupId>
|
|
<artifactId>hadoop-shaded-guava</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-codec</groupId>
|
|
<artifactId>commons-codec</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-cli</groupId>
|
|
<artifactId>commons-cli</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-collections</groupId>
|
|
<artifactId>commons-collections</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.jersey.jersey-test-framework</groupId>
|
|
<artifactId>jersey-test-framework-grizzly2</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs-maven-plugin</artifactId>
|
|
<configuration>
|
|
<xmlOutput>true</xmlOutput>
|
|
<excludeFilterFile>${mr.basedir}/dev-support/findbugs-exclude.xml</excludeFilterFile>
|
|
<effort>Max</effort>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<properties>
|
|
<property>
|
|
<name>listener</name>
|
|
<value>org.apache.hadoop.test.TimedOutTestsListener</value>
|
|
</property>
|
|
</properties>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<profiles>
|
|
<profile>
|
|
<id>docs</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
</activation>
|
|
<properties>
|
|
<jdiff.stable.api>2.7.2</jdiff.stable.api>
|
|
<jdiff.stability>-unstable</jdiff.stability>
|
|
<jdiff.javadoc.maxmemory>512m</jdiff.javadoc.maxmemory>
|
|
</properties>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>xerces</groupId>
|
|
<artifactId>xercesImpl</artifactId>
|
|
<version>${xerces.jdiff.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>javadoc-no-fork</goal>
|
|
</goals>
|
|
<phase>prepare-package</phase>
|
|
</execution>
|
|
</executions>
|
|
</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>
|
|
<artifactItem>
|
|
<groupId>xerces</groupId>
|
|
<artifactId>xercesImpl</artifactId>
|
|
<version>${xerces.version.jdiff}</version>
|
|
<overWrite>false</overWrite>
|
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
|
<destFileName>xerces.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="should.run.jdiff">
|
|
|
|
<!-- Jdiff -->
|
|
<mkdir dir="${project.build.directory}/site/jdiff/xml"/>
|
|
<javadoc maxmemory="${jdiff.javadoc.maxmemory}" verbose="yes">
|
|
<doclet name="org.apache.hadoop.classification.tools.IncludePublicAnnotationsJDiffDoclet"
|
|
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="${project.name} ${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="${dev-support.relative.dir}/jdiff/Null.java"
|
|
maxmemory="${jdiff.javadoc.maxmemory}">
|
|
<doclet name="org.apache.hadoop.classification.tools.IncludePublicAnnotationsJDiffDoclet"
|
|
path="${project.build.directory}/hadoop-annotations.jar:${project.build.directory}/jdiff.jar:${project.build.directory}/xerces.jar">
|
|
<param name="-oldapi" value="${project.name} ${jdiff.stable.api}"/>
|
|
<param name="-newapi" value="${project.name} ${project.version}"/>
|
|
<param name="-oldapidir" value="${basedir}/${dev-support.relative.dir}/jdiff"/>
|
|
<param name="-newapidir" value="${project.build.directory}/site/jdiff/xml"/>
|
|
<param name="-javadocold"
|
|
value="https://hadoop.apache.org/docs/r${jdiff.stable.api}/api/"/>
|
|
<param name="-javadocnew" value="${project.build.directory}/site/api/"/>
|
|
<param name="-stats"/>
|
|
<param name="${jdiff.stability}"/>
|
|
</doclet>
|
|
<classpath>
|
|
<path refid="maven.compile.classpath"/>
|
|
</classpath>
|
|
</javadoc>
|
|
<property name="compile_classpath" refid="maven.compile.classpath"/>
|
|
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<modules>
|
|
<module>hadoop-mapreduce-client-core</module>
|
|
<module>hadoop-mapreduce-client-common</module>
|
|
<module>hadoop-mapreduce-client-shuffle</module>
|
|
<module>hadoop-mapreduce-client-app</module>
|
|
<module>hadoop-mapreduce-client-jobclient</module>
|
|
<module>hadoop-mapreduce-client-hs</module>
|
|
<module>hadoop-mapreduce-client-hs-plugins</module>
|
|
<module>hadoop-mapreduce-client-nativetask</module>
|
|
<module>hadoop-mapreduce-client-uploader</module>
|
|
</modules>
|
|
</project>
|