You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by st...@apache.org on 2023/11/08 14:30:10 UTC
(hadoop) branch branch-3.3 updated: HADOOP-18487. Protobuf 2.5 removal part 2: stop exporting protobuf-2.5 (#6185)
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 <st...@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-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org