stoty commented on code in PR #5766: URL: https://github.com/apache/hbase/pull/5766#discussion_r1923336578
########## hbase-assembly-byo-hadoop/pom.xml: ########## @@ -0,0 +1,439 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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"> + <!-- + /** + * 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. + */ + --> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-build-configuration</artifactId> + <version>${revision}</version> + <relativePath>../hbase-build-configuration</relativePath> + </parent> + <artifactId>hbase-assembly-byo-hadoop</artifactId> + <packaging>pom</packaging> + <name>Apache HBase - Assembly without Hadoop and its transitive dependencies</name> + <description>Module that does project assembly without Hadoop and its transitive dependencies and that is all that it does.</description> + <properties> + <license.bundles.dependencies>true</license.bundles.dependencies> + <!-- So that we don't have to add redundant exclusions to provided scope dependencies --> + <enforcer.skip>true</enforcer.skip> + </properties> + <dependencies> + <!-- Set every Hadoop dependency as provided. The byo-hadoop assembly relies an external Hadoop installation --> + <!-- These MUST come first, otherwise some transitive dependencies are not be excluded --> + <!-- When Hadoop and HBase depend on different versions of the same artifact, then even if it is provided, + the first version specified is used, so in some cases we need to exclude those transitive dependencies from + Hadoop to have an equivalent effective classpath to the assembly with Hadoop. --> + <!-- The versions may be marked as redundant by some IDEs, but they are not defined elsewhere for the provided scope --> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-yarn-api</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-yarn-client</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-yarn-common</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + <exclusions> + <exclusion> + <groupId>com.fasterxml.jackson.module</groupId> + <artifactId>jackson-module-jaxb-annotations</artifactId> + </exclusion> + <exclusion> + <groupId>jakarta.xml.bind</groupId> + <artifactId>jakarta.xml.bind-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-mapreduce-client-core</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-mapreduce-client-jobclient</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-hdfs</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-auth</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-common</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + <exclusions> + <exclusion> + <groupId>org.checkerframework</groupId> + <artifactId>checker-qual</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-client</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-annotations</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-distcp</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-hdfs-client</artifactId> + <version>${hadoop-three.version}</version> + <scope>provided</scope> + </dependency> + <!-- client artifacts for downstream use --> + <!-- skip hbase-shaded-client. We don't want any Hadoop code in the assembly--> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-shaded-client-byo-hadoop</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-shaded-mapreduce</artifactId> + </dependency> + <!-- Intra-project dependencies --> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-openssl</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-server</artifactId> Review Comment: Yes I have (though not after the last rebase ). That's why I've added all the Hadoop dependencies with provided scope, those will remove those dependencies and their transitive dependencies. I've added a list of the differences between the assemblies (before the last rebase) to the ticket: https://issues.apache.org/jira/browse/HBASE-28434?focusedCommentId=17904262&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17904262 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
