This is an automated email from the ASF dual-hosted git repository. stevel pushed a commit to branch branch-3.3 in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.3 by this push: new bdae7c7a9dbd HADOOP-18487. Protobuf 2.5 removal part 2: stop exporting protobuf-2.5 (#6185) bdae7c7a9dbd is described below commit bdae7c7a9dbd68fa877cb8650bc587f77ea77892 Author: Steve Loughran <ste...@cloudera.com> AuthorDate: Wed Nov 8 14:30:01 2023 +0000 HADOOP-18487. Protobuf 2.5 removal part 2: stop exporting protobuf-2.5 (#6185) Followup to the previous HADOOP-18487 patch: changes the scope of protobuf-2.5 in hadoop-common and elsewhere from "compile" to "provided". This means that protobuf-2.5 is * No longer included in hadoop distributions * No longer exported by hadoop common POM files * No longer exported transitively by other hadoop modules. * No longer listed in LICENSE-binary. Contributed by Steve Loughran --- BUILDING.txt | 24 +++++++++++++++--------- LICENSE-binary | 1 - hadoop-project/pom.xml | 4 ++-- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/BUILDING.txt b/BUILDING.txt index 6394532d3a4b..e2e7c57da244 100644 --- a/BUILDING.txt +++ b/BUILDING.txt @@ -301,15 +301,11 @@ Controlling the redistribution of the protobuf-2.5 dependency the Hadoop codebase; alongside the move to Protobuf 3.x a private successor class, org.apache.hadoop.ipc.internal.ShadedProtobufHelper is now used. - The hadoop-common JAR still declares a dependency on protobuf-2.5, but this - is likely to change in the future. 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 - If this is done then protobuf-2.5.0.jar will no longer be exported as a dependency, - and will then be omitted from the share/hadoop/common/lib/ directory of - any Hadoop distribution built. Any application declaring a dependency on hadoop-commmon - will no longer get the dependency; if they need it then they must explicitly declare it: + The hadoop-common module no longer exports its compile-time dependency on + protobuf-2.5. Hadoop distributions no longer include it. + Any application declaring a dependency on hadoop-commmon will no longer get + the artifact added to their classpath. + If is still required, then they must explicitly declare it: <dependency> <groupId>com.google.protobuf</groupId> @@ -317,6 +313,16 @@ Controlling the redistribution of the protobuf-2.5 dependency <version>2.5.0</version> </dependency> + In Hadoop builds the scope of the dependency can be set with the + option "common.protobuf2.scope". + This can be upgraded from "provided" to "compile" on the maven command line: + + -Dcommon.protobuf2.scope=compile + + If this is done then protobuf-2.5.0.jar will again be exported as a + hadoop-common dependency, and included in the share/hadoop/common/lib/ + directory of any Hadoop distribution built. + ---------------------------------------------------------------------------------- Building components separately diff --git a/LICENSE-binary b/LICENSE-binary index 8a0186374c38..d84f311ce190 100644 --- a/LICENSE-binary +++ b/LICENSE-binary @@ -397,7 +397,6 @@ hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/d3.v3.js hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/d3-v4.1.1.min.js leveldb v1.13 -com.google.protobuf:protobuf-java:2.5.0 com.google.protobuf:protobuf-java:3.6.1 com.google.protobuf:protobuf-java:3.7.1 com.google.re2j:re2j:1.1 diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml index 75a4b9c496a0..c43f846331bb 100644 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml @@ -90,8 +90,8 @@ <!-- This is used in hadoop-common for compilation only --> <protobuf.version>2.5.0</protobuf.version> <!-- Protobuf scope in hadoop common --> - <!-- set to "provided" and protobuf2 will no longer be exported as a dependency --> - <common.protobuf2.scope>compile</common.protobuf2.scope> + <!-- set to "provided" so protobuf2 is no longer exported as a dependency --> + <common.protobuf2.scope>provided</common.protobuf2.scope> <!-- Protobuf scope in other modules which explicitly import the libarary --> <transient.protobuf2.scope>${common.protobuf2.scope}</transient.protobuf2.scope> <!-- ProtocolBuffer version, actually used in Hadoop --> --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org