joshelser closed pull request #332: ACCUMULO-4826 Use the hadoop3 shaded jars URL: https://github.com/apache/accumulo/pull/332
This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/.travis.yml b/.travis.yml index 4efaadf56a..0a66c69d18 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,4 +34,6 @@ jdk: before_script: - rm -rf $HOME/.m2/repository/org/apache/accumulo - echo "<settings xmlns='http://maven.apache.org/SETTINGS/1.0.0'><mirrors><mirror><id>secure-central</id><url>https://repo.maven.apache.org/maven2</url><mirrorOf>central</mirrorOf></mirror></mirrors></settings>" > $HOME/settings-custom.xml -script: mvn --settings $HOME/settings-custom.xml clean verify javadoc:jar -DskipITs +script: + - mvn --settings $HOME/settings-custom.xml clean verify javadoc:jar -DskipITs + - mvn --settings $HOME/settings-custom.xml clean verify javadoc:jar -DskipITs -Dhadoop.profile=3 diff --git a/assemble/bin/bootstrap_config.sh b/assemble/bin/bootstrap_config.sh index 44ae2ac49f..e53b9c2315 100755 --- a/assemble/bin/bootstrap_config.sh +++ b/assemble/bin/bootstrap_config.sh @@ -24,7 +24,7 @@ where options include (long options not available on all platforms): -n, --native Configure to use native libraries -j, --jvm Configure to use the jvm -o, --overwrite Overwrite the default config directory - -v, --version Specify the Apache Hadoop version supported versions: '1' '2' + -v, --version Specify the Apache Hadoop version supported versions: '2', '3', 'HDP2', 'HDP2.2', 'IOP4.1' -k, --kerberos Configure for use with Kerberos -h, --help Print this help message EOF @@ -241,7 +241,7 @@ fi if [[ -z "${HADOOP_VERSION}" ]]; then echo echo "Choose the Apache Hadoop version:" - select HADOOP in 'Hadoop 2' 'HDP 2.0/2.1' 'HDP 2.2' 'IOP 4.1'; do + select HADOOP in 'Hadoop 2' 'HDP 2.0/2.1' 'HDP 2.2' 'IOP 4.1' 'Hadoop 3'; do if [ "${HADOOP}" == "Hadoop 2" ]; then HADOOP_VERSION="2" elif [ "${HADOOP}" == "HDP 2.0/2.1" ]; then @@ -250,14 +250,16 @@ if [[ -z "${HADOOP_VERSION}" ]]; then HADOOP_VERSION="HDP2.2" elif [ "${HADOOP}" == "IOP 4.1" ]; then HADOOP_VERSION="IOP4.1" + elif [ "${HADOOP}" == "Hadoop 3" ]; then + HADOOP_VERSION="3" fi echo "Using Hadoop version '${HADOOP_VERSION}' configuration" echo break done -elif [[ "${HADOOP_VERSION}" != "2" && "${HADOOP_VERSION}" != "HDP2" && "${HADOOP_VERSION}" != "HDP2.2" ]]; then +elif [[ "${HADOOP_VERSION}" != "2" && "${HADOOP_VERSION}" != "HDP2" && "${HADOOP_VERSION}" != "HDP2.2" && "${HADOOP_VERSION}" != "3" && "${HADOOP_VERSION}" != "IOP4.1" ]]; then echo "Invalid Hadoop version" - echo "Supported Hadoop versions: '2', 'HDP2', 'HDP2.2'" + echo "Supported Hadoop versions: '2', 'HDP2', 'HDP2.2', '3', 'IOP4.1'" exit 1 fi @@ -345,6 +347,10 @@ if [[ "${HADOOP_VERSION}" == "2" ]]; then -e 's/<!-- End IOP 4.1 requirements -->/--><!-- End IOP 4.1 requirements -->/' \ "${CONF_DIR}/$ACCUMULO_SITE" > temp mv temp "${CONF_DIR}/$ACCUMULO_SITE" + sed -e 's/<!-- Hadoop 3 requirements -->/<!-- Hadoop 3 requirements --><!--/' \ + -e 's/<!-- End Hadoop 3 requirements -->/--><!-- End Hadoop 3 requirements -->/' \ + "${CONF_DIR}/$ACCUMULO_SITE" > temp + mv temp "${CONF_DIR}/$ACCUMULO_SITE" elif [[ "${HADOOP_VERSION}" == "HDP2" ]]; then sed -e 's/<!-- Hadoop 2 requirements -->/<!-- Hadoop 2 requirements --><!--/' \ -e 's/<!-- End Hadoop 2 requirements -->/--><!-- End Hadoop 2 requirements -->/' \ @@ -358,6 +364,10 @@ elif [[ "${HADOOP_VERSION}" == "HDP2" ]]; then -e 's/<!-- End IOP 4.1 requirements -->/--><!-- End IOP 4.1 requirements -->/' \ "${CONF_DIR}/$ACCUMULO_SITE" > temp mv temp "${CONF_DIR}/$ACCUMULO_SITE" + sed -e 's/<!-- Hadoop 3 requirements -->/<!-- Hadoop 3 requirements --><!--/' \ + -e 's/<!-- End Hadoop 3 requirements -->/--><!-- End Hadoop 3 requirements -->/' \ + "${CONF_DIR}/$ACCUMULO_SITE" > temp + mv temp "${CONF_DIR}/$ACCUMULO_SITE" elif [[ "${HADOOP_VERSION}" == "HDP2.2" ]]; then sed -e 's/<!-- Hadoop 2 requirements -->/<!-- Hadoop 2 requirements --><!--/' \ -e 's/<!-- End Hadoop 2 requirements -->/--><!-- End Hadoop 2 requirements -->/' \ @@ -371,6 +381,10 @@ elif [[ "${HADOOP_VERSION}" == "HDP2.2" ]]; then -e 's/<!-- End IOP 4.1 requirements -->/--><!-- End IOP 4.1 requirements -->/' \ "${CONF_DIR}/$ACCUMULO_SITE" > temp mv temp "${CONF_DIR}/$ACCUMULO_SITE" + sed -e 's/<!-- Hadoop 3 requirements -->/<!-- Hadoop 3 requirements --><!--/' \ + -e 's/<!-- End Hadoop 3 requirements -->/--><!-- End Hadoop 3 requirements -->/' \ + "${CONF_DIR}/$ACCUMULO_SITE" > temp + mv temp "${CONF_DIR}/$ACCUMULO_SITE" elif [[ "${HADOOP_VERSION}" == "IOP4.1" ]]; then sed -e 's/<!-- Hadoop 2 requirements -->/<!-- Hadoop 2 requirements --><!--/' \ -e 's/<!-- End Hadoop 2 requirements -->/--><!-- End Hadoop 2 requirements -->/' \ @@ -384,6 +398,27 @@ elif [[ "${HADOOP_VERSION}" == "IOP4.1" ]]; then -e 's/<!-- End HDP 2.2 requirements -->/--><!-- End HDP 2.2 requirements -->/' \ "${CONF_DIR}/$ACCUMULO_SITE" > temp mv temp "${CONF_DIR}/$ACCUMULO_SITE" + sed -e 's/<!-- Hadoop 3 requirements -->/<!-- Hadoop 3 requirements --><!--/' \ + -e 's/<!-- End Hadoop 3 requirements -->/--><!-- End Hadoop 3 requirements -->/' \ + "${CONF_DIR}/$ACCUMULO_SITE" > temp + mv temp "${CONF_DIR}/$ACCUMULO_SITE" +elif [[ "${HADOOP_VERSION}" == "3" ]]; then + sed -e 's/<!-- Hadoop 2 requirements -->/<!-- Hadoop 2 requirements --><!--/' \ + -e 's/<!-- End Hadoop 2 requirements -->/--><!-- End Hadoop 2 requirements -->/' \ + "${CONF_DIR}/$ACCUMULO_SITE" > temp + mv temp "${CONF_DIR}/$ACCUMULO_SITE" + sed -e 's/<!-- HDP 2.0 requirements -->/<!-- HDP 2.0 requirements --><!--/' \ + -e 's/<!-- End HDP 2.0 requirements -->/--><!-- End HDP 2.0 requirements -->/' \ + "${CONF_DIR}/$ACCUMULO_SITE" > temp + mv temp "${CONF_DIR}/$ACCUMULO_SITE" + sed -e 's/<!-- HDP 2.2 requirements -->/<!-- HDP 2.2 requirements --><!--/' \ + -e 's/<!-- End HDP 2.2 requirements -->/--><!-- End HDP 2.2 requirements -->/' \ + "${CONF_DIR}/$ACCUMULO_SITE" > temp + mv temp "${CONF_DIR}/$ACCUMULO_SITE" + sed -e 's/<!-- IOP 4.1 requirements -->/<!-- IOP 4.1 requirements --><!--/' \ + -e 's/<!-- End IOP 4.1 requirements -->/--><!-- End IOP 4.1 requirements -->/' \ + "${CONF_DIR}/$ACCUMULO_SITE" > temp + mv temp "${CONF_DIR}/$ACCUMULO_SITE" fi #Additional setup steps for native configuration. diff --git a/assemble/conf/templates/accumulo-site.xml b/assemble/conf/templates/accumulo-site.xml index ff490b15d7..35d4f68f1d 100644 --- a/assemble/conf/templates/accumulo-site.xml +++ b/assemble/conf/templates/accumulo-site.xml @@ -170,6 +170,9 @@ ${mvnProjBaseDir} /usr/iop/current/hadoop-yarn-client/lib/jersey.*.jar, /usr/iop/current/hive-client/lib/hive-accumulo-handler.jar <!-- End IOP 4.1 requirements --> + <!-- Hadoop 3 requirements --> + $HADOOP_PREFIX/share/hadoop/client/[^.].*.jar, + <!-- End Hadoop 3 requirements --> </value> <description>Classpaths that accumulo checks for updates and class files.</description> </property> diff --git a/assemble/pom.xml b/assemble/pom.xml index f0dd1ba689..38f833985c 100644 --- a/assemble/pom.xml +++ b/assemble/pom.xml @@ -224,7 +224,7 @@ <outputScope>false</outputScope> <sort>true</sort> <!-- this list should match that in src/main/assemblies/component.xml --> - <includeArtifactIds>commons-math3,commons-vfs2,gson,guava,htrace-core,javax.servlet-api,jcommander,jetty-http,jetty-io,jetty-security,jetty-server,jetty-servlet,jetty-util,jline,libthrift,protobuf-java,slf4j-api,slf4j-log4j12</includeArtifactIds> + <includeArtifactIds>${artifactList}</includeArtifactIds> <excludeTransitive>true</excludeTransitive> </configuration> </execution> @@ -268,7 +268,7 @@ <phase>package</phase> <configuration> <descriptors> - <descriptor>src/main/assemblies/binary-release.xml</descriptor> + <descriptor>${assemblyDescriptor}</descriptor> </descriptors> </configuration> </execution> @@ -323,5 +323,80 @@ </dependency> </dependencies> </profile> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <artifactList>commons-math3,commons-vfs2,gson,guava,htrace-core,javax.servlet-api,jcommander,jetty-http,jetty-io,jetty-security,jetty-server,jetty-servlet,jetty-util,jline,libthrift,protobuf-java,slf4j-api,slf4j-log4j12</artifactList> + <assemblyDescriptor>src/main/assemblies/binary-release.xml</assemblyDescriptor> + <hadoop.profile>2</hadoop.profile> + </properties> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <properties> + <artifactList>commons-math3,commons-vfs2,gson,guava,htrace-core,javax.servlet-api,jcommander,jetty-http,jetty-io,jetty-security,jetty-server,jetty-servlet,jetty-util,jline,libthrift,protobuf-java,slf4j-api,slf4j-log4j12</artifactList> + <assemblyDescriptor>src/main/assemblies/binary-release.xml</assemblyDescriptor> + </properties> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <properties> + <artifactList>commons-cli,commons-codec,commons-collections,commons-configuration,commons-io,commons-lang,commons-logging,commons-math3,commons-vfs2,gson,guava,htrace-core,htrace-core4,javax.servlet-api,jcommander,jetty-http,jetty-io,jetty-security,jetty-server,jetty-servlet,jetty-util,jline,libthrift,protobuf-java,slf4j-api,slf4j-log4j12</artifactList> + <assemblyDescriptor>src/main/assemblies/binary-release-hadoop3.xml</assemblyDescriptor> + </properties> + <!-- When using Hadoop 3 with the shaded jars, we need to provide + the jars we need instead of relying on them externally. --> + <dependencies> + <dependency> + <groupId>commons-cli</groupId> + <artifactId>commons-cli</artifactId> + </dependency> + <dependency> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + </dependency> + <dependency> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + </dependency> + <dependency> + <groupId>commons-configuration</groupId> + <artifactId>commons-configuration</artifactId> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + </dependency> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </dependency> + <dependency> + <groupId>org.apache.htrace</groupId> + <artifactId>htrace-core4</artifactId> + </dependency> + </dependencies> + </profile> </profiles> </project> diff --git a/assemble/src/main/assemblies/binary-release-hadoop3.xml b/assemble/src/main/assemblies/binary-release-hadoop3.xml new file mode 100644 index 0000000000..c21f5da9a5 --- /dev/null +++ b/assemble/src/main/assemblies/binary-release-hadoop3.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. +--> +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> + <id>bin</id> + <formats> + <format>tar.gz</format> + </formats> + <componentDescriptors> + <componentDescriptor>src/main/assemblies/component-hadoop3.xml</componentDescriptor> + </componentDescriptors> +</assembly> diff --git a/assemble/src/main/assemblies/component-hadoop3.xml b/assemble/src/main/assemblies/component-hadoop3.xml new file mode 100644 index 0000000000..38755ccf57 --- /dev/null +++ b/assemble/src/main/assemblies/component-hadoop3.xml @@ -0,0 +1,283 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. +--> +<component xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/component/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/component/1.1.2 http://maven.apache.org/xsd/component-1.1.2.xsd"> + <dependencySets> + <dependencySet> + <outputDirectory>lib</outputDirectory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <useProjectArtifact>false</useProjectArtifact> + <outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping> + <useTransitiveDependencies>false</useTransitiveDependencies> + <includes> + <!-- if you update this list, you should also update the assembly + pom.xml section which executes the maven-dependency-plugin to generate a + version listing for packaged artifacts --> + <include>${groupId}:${artifactId}-*</include> + <include>com.beust:jcommander</include> + <include>com.google.code.gson:gson</include> + <include>com.google.guava:guava</include> + <include>com.google.protobuf:protobuf-java</include> + <include>commons-cli:commons-cli</include> + <include>commons-codec:commons-codec</include> + <include>commons-collections:commons-collections</include> + <include>commons-io:commons-io</include> + <include>commons-lang:commons-lang</include> + <include>commons-logging:commons-logging</include> + <include>commons-configuration:commons-configuration</include> + <include>javax.servlet:javax.servlet-api</include> + <include>jline:jline</include> + <include>org.apache.commons:commons-math3</include> + <include>org.apache.commons:commons-vfs2</include> + <include>org.apache.htrace:htrace-core4</include> + <include>org.apache.thrift:libthrift</include> + <include>org.eclipse.jetty:jetty-http</include> + <include>org.eclipse.jetty:jetty-io</include> + <include>org.eclipse.jetty:jetty-security</include> + <include>org.eclipse.jetty:jetty-server</include> + <include>org.eclipse.jetty:jetty-servlet</include> + <include>org.eclipse.jetty:jetty-util</include> + <include>org.apache.htrace:htrace-core</include> + <include>org.slf4j:slf4j-api</include> + <include>org.slf4j:slf4j-log4j12</include> + </includes> + <excludes> + <exclude>${groupId}:${artifactId}-docs</exclude> + </excludes> + </dependencySet> + <dependencySet> + <outputDirectory>docs</outputDirectory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <useProjectArtifact>false</useProjectArtifact> + <outputFileNameMapping>${artifactId}_user_manual.${artifact.extension}</outputFileNameMapping> + <useTransitiveDependencies>false</useTransitiveDependencies> + <includes> + <include>${groupId}:${artifactId}-docs:html:user-manual</include> + </includes> + </dependencySet> + </dependencySets> + <fileSets> + <fileSet> + <directory>bin</directory> + <directoryMode>0755</directoryMode> + <fileMode>0755</fileMode> + </fileSet> + <fileSet> + <directory>../examples/simple</directory> + <outputDirectory>examples/simple</outputDirectory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <includes> + <include>src/main/**</include> + </includes> + </fileSet> + <fileSet> + <directory>./</directory> + <outputDirectory>lib/ext</outputDirectory> + <directoryMode>0755</directoryMode> + <excludes> + <exclude>*/**</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>./</directory> + <outputDirectory>logs</outputDirectory> + <directoryMode>0700</directoryMode> + <excludes> + <exclude>*/**</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>../docs/src/main/resources</directory> + <outputDirectory>docs</outputDirectory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <includes> + <include>*.html</include> + <include>*.css</include> + <include>examples/*</include> + </includes> + </fileSet> + <fileSet> + <directory>../docs/target</directory> + <outputDirectory>docs</outputDirectory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <includes> + <include>config.html</include> + </includes> + </fileSet> + <fileSet> + <directory>conf</directory> + <directoryMode>0755</directoryMode> + <fileMode>0755</fileMode> + <includes> + <include>**/*.sh</include> + </includes> + </fileSet> + <fileSet> + <directory>conf</directory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <excludes> + <exclude>**/*.sh</exclude> + </excludes> + </fileSet> + <fileSet> + <!-- preserve old behavior of extra copy in conf --> + <directory>conf/templates</directory> + <outputDirectory>conf</outputDirectory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <includes> + <include>accumulo.policy.example</include> + </includes> + </fileSet> + <fileSet> + <directory>target/example-configs</directory> + <outputDirectory>conf/examples</outputDirectory> + <directoryMode>0755</directoryMode> + <fileMode>0755</fileMode> + <includes> + <include>**/*.sh</include> + </includes> + </fileSet> + <fileSet> + <directory>target/example-configs</directory> + <outputDirectory>conf/examples</outputDirectory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <excludes> + <exclude>**/*.sh</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>../test</directory> + <directoryMode>0755</directoryMode> + <fileMode>0755</fileMode> + <includes> + <include>**/*.sh</include> + <include>**/*.py</include> + <include>**/*.pl</include> + </includes> + <excludes> + <exclude>src/**</exclude> + <exclude>target/**</exclude> + <exclude>**/continuous-env.sh</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>../test</directory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <excludes> + <exclude>**/.*/**</exclude> + <exclude>pom.xml</exclude> + <exclude>src/**</exclude> + <exclude>target/**</exclude> + <exclude>**/*.sh</exclude> + <exclude>**/*.py</exclude> + <exclude>**/*.pl</exclude> + <exclude>**/*.pyc</exclude> + <exclude>**/*.pyo</exclude> + <exclude>**/walkers.txt</exclude> + <exclude>**/ingesters.txt</exclude> + <exclude>**/randomwalk/conf/logger.xml</exclude> + <exclude>**/randomwalk/conf/randomwalk.conf</exclude> + <exclude>**/randomwalk/conf/walkers</exclude> + </excludes> + </fileSet> + <!-- Lift generated thrift proxy code into its own directory --> + <fileSet> + <directory>../proxy/target</directory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <outputDirectory>proxy/thrift</outputDirectory> + <includes> + <include>gen-cpp/**</include> + <include>gen-py/**</include> + <include>gen-rb/**</include> + </includes> + </fileSet> + <fileSet> + <directory>../proxy</directory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <includes> + <include>README</include> + <include>proxy.properties</include> + </includes> + </fileSet> + <fileSet> + <directory>../proxy/examples</directory> + <directoryMode>0755</directoryMode> + <fileMode>0755</fileMode> + <includes> + <include>**/*.py</include> + <include>**/*.rb</include> + </includes> + </fileSet> + <fileSet> + <directory>../proxy/examples</directory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <excludes> + <exclude>**/*.py</exclude> + <exclude>**/*.rb</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>../proxy/src/main/thrift</directory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <outputDirectory>proxy/thrift</outputDirectory> + <includes> + <include>*.thrift</include> + </includes> + </fileSet> + <fileSet> + <directory>../</directory> + <fileMode>0644</fileMode> + <includes> + <include>README.md</include> + <include>INSTALL.md</include> + <include>BUILD.md</include> + </includes> + </fileSet> + <fileSet> + <directory>target</directory> + <outputDirectory>lib</outputDirectory> + <fileMode>0644</fileMode> + <includes> + <include>VERSIONS</include> + </includes> + </fileSet> + <fileSet> + <directory>src/main/resources</directory> + <directoryMode>0755</directoryMode> + <fileMode>0644</fileMode> + <outputDirectory>.</outputDirectory> + <includes> + <include>LICENSE</include> + <include>NOTICE</include> + </includes> + </fileSet> + </fileSets> +</component> diff --git a/core/pom.xml b/core/pom.xml index bdf80703b3..ca5734dc2d 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -39,6 +39,10 @@ <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> + <dependency> + <groupId>com.google.protobuf</groupId> + <artifactId>protobuf-java</artifactId> + </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> @@ -87,10 +91,6 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-vfs2</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.htrace</groupId> <artifactId>htrace-core</artifactId> @@ -117,11 +117,6 @@ <artifactId>junit</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-minicluster</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> @@ -282,5 +277,72 @@ </plugins> </build> </profile> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-minicluster</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-minicluster</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-minicluster</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + </profile> </profiles> </project> diff --git a/examples/simple/pom.xml b/examples/simple/pom.xml index 87765d718e..40452aab91 100644 --- a/examples/simple/pom.xml +++ b/examples/simple/pom.xml @@ -72,10 +72,6 @@ <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-tracer</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.htrace</groupId> <artifactId>htrace-core</artifactId> @@ -105,4 +101,58 @@ </plugins> </pluginManagement> </build> + <profiles> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> diff --git a/iterator-test-harness/pom.xml b/iterator-test-harness/pom.xml index a4f1486614..fe137ab948 100644 --- a/iterator-test-harness/pom.xml +++ b/iterator-test-harness/pom.xml @@ -39,13 +39,63 @@ <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-core</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> </dependencies> + <profiles> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> diff --git a/maven-plugin/src/it/plugin-test/pom.xml b/maven-plugin/src/it/plugin-test/pom.xml index 6dab3de1cd..9f16afabcb 100644 --- a/maven-plugin/src/it/plugin-test/pom.xml +++ b/maven-plugin/src/it/plugin-test/pom.xml @@ -75,10 +75,6 @@ <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-minicluster</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> @@ -154,4 +150,58 @@ </plugin> </plugins> </build> + <profiles> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> diff --git a/minicluster/pom.xml b/minicluster/pom.xml index 8d6e1a6003..04153f3e8f 100644 --- a/minicluster/pom.xml +++ b/minicluster/pom.xml @@ -87,15 +87,6 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-vfs2</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-minicluster</artifactId> - <optional>true</optional> - </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> @@ -154,4 +145,73 @@ </plugin> </plugins> </build> + <profiles> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-minicluster</artifactId> + <optional>true</optional> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-minicluster</artifactId> + <optional>true</optional> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-minicluster</artifactId> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> diff --git a/pom.xml b/pom.xml index acdfd44715..b8d2e6b5f7 100644 --- a/pom.xml +++ b/pom.xml @@ -129,6 +129,7 @@ <!-- surefire/failsafe plugin option --> <forkCount>1</forkCount> <hadoop.version>2.6.4</hadoop.version> + <htrace.hadoop.version>4.1.0-incubating</htrace.hadoop.version> <htrace.version>3.1.0-incubating</htrace.version> <httpclient.version>3.1</httpclient.version> <it.failIfNoSpecifiedTests>false</it.failIfNoSpecifiedTests> @@ -390,6 +391,21 @@ <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + <version>${hadoop.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-minicluster</artifactId> + <version>${hadoop.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <version>${hadoop.version}</version> + </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-distcp</artifactId> @@ -420,6 +436,11 @@ <artifactId>htrace-core</artifactId> <version>${htrace.version}</version> </dependency> + <dependency> + <groupId>org.apache.htrace</groupId> + <artifactId>htrace-core4</artifactId> + <version>${htrace.hadoop.version}</version> + </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> @@ -899,10 +920,30 @@ <artifactId>java17</artifactId> <version>1.0</version> </signature> + <ignores> + <ignore>org.apache.hadoop.conf.Configuration</ignore> + <ignore>org.apache.hadoop.fs.FileSystem</ignore> + </ignores> </checkSignatureRule> </rules> </configuration> </execution> + <execution> + <id>enforce-hadoop-profile</id> + <goals> + <goal>enforce</goal> + </goals> + <configuration> + <rules> + <requireProperty> + <property>hadoop.profile</property> + <regex>(2|3)</regex> + <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 2 or 3, not by a version number. + Use hadoop.version to use a particular Hadoop version within that generation.</regexMessage> + </requireProperty> + </rules> + </configuration> + </execution> </executions> </plugin> <plugin> @@ -1500,5 +1541,44 @@ <findbugs.excludeFilterFile>src/main/findbugs/exclude-filter.xml</findbugs.excludeFilterFile> </properties> </profile> + <!-- Active by default, build against Hadoop 2 --> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + <hadoop.version>2.6.4</hadoop.version> + </properties> + </profile> + <!-- Build against hadoop 2 explicitly --> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <properties> + <hadoop.version>2.6.4</hadoop.version> + </properties> + </profile> + <!-- Build against hadoop 3 explicitly --> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <properties> + <hadoop.version>3.0.0</hadoop.version> + </properties> + </profile> </profiles> </project> diff --git a/proxy/pom.xml b/proxy/pom.xml index 93768b1d98..e1e8391e3b 100644 --- a/proxy/pom.xml +++ b/proxy/pom.xml @@ -59,10 +59,6 @@ <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-server-base</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> @@ -116,5 +112,57 @@ </plugins> </build> </profile> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> </profiles> </project> diff --git a/server/base/pom.xml b/server/base/pom.xml index f6fbe57678..26ace05b7d 100644 --- a/server/base/pom.xml +++ b/server/base/pom.xml @@ -84,10 +84,6 @@ <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-start</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.htrace</groupId> <artifactId>htrace-core</artifactId> @@ -152,5 +148,57 @@ </plugins> </build> </profile> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> </profiles> </project> diff --git a/server/gc/pom.xml b/server/gc/pom.xml index 893fd0e5ff..05ab3faf70 100644 --- a/server/gc/pom.xml +++ b/server/gc/pom.xml @@ -56,10 +56,6 @@ <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-server-base</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> @@ -87,4 +83,58 @@ <scope>test</scope> </dependency> </dependencies> + <profiles> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> diff --git a/server/master/pom.xml b/server/master/pom.xml index f411be95da..ecca2fcdfe 100644 --- a/server/master/pom.xml +++ b/server/master/pom.xml @@ -60,10 +60,6 @@ <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-server-base</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.htrace</groupId> <artifactId>htrace-core</artifactId> @@ -95,4 +91,58 @@ <scope>test</scope> </dependency> </dependencies> + <profiles> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> diff --git a/server/monitor/pom.xml b/server/monitor/pom.xml index f2b9e10669..7bd74c2e64 100644 --- a/server/monitor/pom.xml +++ b/server/monitor/pom.xml @@ -72,10 +72,6 @@ <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-tracer</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> @@ -174,4 +170,70 @@ </plugin> </plugins> </build> + <profiles> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + <exclusions> + <exclusion> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + <exclusions> + <exclusion> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> diff --git a/server/tracer/pom.xml b/server/tracer/pom.xml index 855a65cafa..56bf1f6116 100644 --- a/server/tracer/pom.xml +++ b/server/tracer/pom.xml @@ -52,10 +52,6 @@ <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-start</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.htrace</groupId> <artifactId>htrace-core</artifactId> @@ -112,5 +108,57 @@ </plugins> </build> </profile> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> </profiles> </project> diff --git a/server/tserver/pom.xml b/server/tserver/pom.xml index 6678b8d89c..fc92768794 100644 --- a/server/tserver/pom.xml +++ b/server/tserver/pom.xml @@ -76,10 +76,6 @@ <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-start</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.htrace</groupId> <artifactId>htrace-core</artifactId> @@ -142,4 +138,58 @@ </plugins> </pluginManagement> </build> + <profiles> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> diff --git a/shell/pom.xml b/shell/pom.xml index 8e6ccd237d..3de9f990d7 100644 --- a/shell/pom.xml +++ b/shell/pom.xml @@ -95,10 +95,6 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-vfs2</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> @@ -129,4 +125,58 @@ <scope>test</scope> </dependency> </dependencies> + <profiles> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>!hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> diff --git a/start/pom.xml b/start/pom.xml index 991097dc0d..917d8e37d1 100644 --- a/start/pom.xml +++ b/start/pom.xml @@ -43,19 +43,14 @@ <artifactId>commons-vfs2</artifactId> </dependency> <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-minicluster</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> @@ -128,4 +123,73 @@ </plugin> </plugins> </build> + <profiles> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-minicluster</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-minicluster</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-minicluster</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> diff --git a/test/pom.xml b/test/pom.xml index efc598afbf..d9a271d142 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -143,18 +143,10 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-math3</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-client</artifactId> - </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-distcp</artifactId> </dependency> - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-minicluster</artifactId> - </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minikdc</artifactId> @@ -343,5 +335,69 @@ </plugins> </build> </profile> + <profile> + <id>hadoop-default</id> + <activation> + <property> + <name>!hadoop.profile</name> + </property> + </activation> + <properties> + <hadoop.profile>2</hadoop.profile> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-minicluster</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop2</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>2</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-minicluster</artifactId> + </dependency> + </dependencies> + </profile> + <profile> + <id>hadoop3</id> + <activation> + <property> + <name>hadoop.profile</name> + <value>3</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-minicluster</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client-runtime</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> </profiles> </project> ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
