This is an automated email from the ASF dual-hosted git repository.

damccorm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 949b9887df2 Remove old vendored grpc files (#33762)
949b9887df2 is described below

commit 949b9887df2d13a1a42b1e07cf5452146637830d
Author: Danny McCormick <[email protected]>
AuthorDate: Sat Jan 25 12:59:34 2025 -0500

    Remove old vendored grpc files (#33762)
    
    * Remove old vendored grpc artifacts
    
    * string fix
---
 .../org/apache/beam/gradle/BeamModulePlugin.groovy |   2 +-
 .../apache/beam/gradle/GrpcVendoring_1_60_1.groovy | 228 ---------------------
 settings.gradle.kts                                |   1 -
 vendor/grpc-1_60_1/build.gradle                    |  38 ----
 4 files changed, 1 insertion(+), 268 deletions(-)

diff --git 
a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy 
b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
index 5377fd777ce..6624e2251ec 100644
--- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
@@ -2420,7 +2420,7 @@ class BeamModulePlugin implements Plugin<Project> {
           shadowClosure: GrpcVendoring_1_69_0.shadowClosure() << {
             // We perform all the code relocations but don't include
             // any of the actual dependencies since they will be supplied
-            // by org.apache.beam:beam-vendor-grpc-v1p60p1
+            // by org.apache.beam:beam-vendor-grpc-v1p69p0
             dependencies {
               include(dependency { return false })
             }
diff --git 
a/buildSrc/src/main/groovy/org/apache/beam/gradle/GrpcVendoring_1_60_1.groovy 
b/buildSrc/src/main/groovy/org/apache/beam/gradle/GrpcVendoring_1_60_1.groovy
deleted file mode 100644
index 62733efb507..00000000000
--- 
a/buildSrc/src/main/groovy/org/apache/beam/gradle/GrpcVendoring_1_60_1.groovy
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * 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.
- */
-package org.apache.beam.gradle
-
-/**
- * Utilities for working with our vendored version of gRPC.
- *
- * To update:
- * 1. Determine the set of io.grpc libraries we want to include, most likely a 
superset of
- *    of the previous vendored gRPC version.
- * 2. Use mvn dependency:tree and https://search.maven.org/search?q=g:io.grpc
- *    to determine dependency tree. You may need to search for optional 
dependencies
- *    and determine if they are needed (e.g. conscrypt).
- * 3. Validate built artifacts by running linkage tool
- *    
(https://github.com/apache/beam/tree/master/vendor#how-to-validate-the-vendored-dependencies)
- *    and unit and integration tests in a PR (e.g. 
https://github.com/apache/beam/pull/16460,
- *    https://github.com/apache/beam/pull/16459)
- */
-class GrpcVendoring_1_60_1 {
-  static def grpc_version = "1.60.1"
-
-  // See 
https://github.com/grpc/grpc-java/blob/v1.60.1/gradle/libs.versions.toml
-  // or https://search.maven.org/search?q=io.grpc%201.60.1
-  static def guava_version = "32.0.1-jre"
-  static def protobuf_version = "3.24.0"
-  static def gson_version = "2.10.1"
-  static def google_auth_version = "1.4.0"
-  static def opencensus_version = "0.31.1"
-  static def conscrypt_version = "2.5.2"
-  static def proto_google_common_protos_version = "2.22.0"
-
-  /** Returns the list of implementation time dependencies. */
-  static List<String> dependencies() {
-    return [
-      "com.google.guava:guava:$guava_version",
-      "com.google.protobuf:protobuf-java:$protobuf_version",
-      "com.google.protobuf:protobuf-java-util:$protobuf_version",
-      "com.google.code.gson:gson:$gson_version",
-      "io.grpc:grpc-alts:$grpc_version",
-      "io.grpc:grpc-auth:$grpc_version",
-      "io.grpc:grpc-context:$grpc_version",
-      "io.grpc:grpc-core:$grpc_version",
-      "io.grpc:grpc-netty-shaded:$grpc_version",
-      "io.grpc:grpc-protobuf:$grpc_version",
-      "io.grpc:grpc-services:$grpc_version",
-      "io.grpc:grpc-stub:$grpc_version",
-      "io.grpc:grpc-testing:$grpc_version",
-      "io.grpc:grpc-util:$grpc_version",
-      "com.google.auth:google-auth-library-credentials:$google_auth_version",
-      
"com.google.api.grpc:proto-google-common-protos:$proto_google_common_protos_version",
-      "io.opencensus:opencensus-api:$opencensus_version",
-      "io.opencensus:opencensus-contrib-grpc-metrics:$opencensus_version",
-    ]
-  }
-
-  /**
-   * Returns the list of dependencies that should be exported as runtime
-   * dependencies within the vendored jar.
-   */
-  static List<String> runtimeDependencies() {
-    return [
-      'com.google.auto.value:auto-value-annotations:1.8.2',
-      'com.google.errorprone:error_prone_annotations:2.20.0',
-      // transient dependencies of 
grpc-alts->google-auth-library-oauth2-http->google-http-client:
-      'org.apache.httpcomponents:httpclient:4.5.13',
-      'org.apache.httpcomponents:httpcore:4.4.15',
-      // TODO(BEAM-9288): Enable relocation for conscrypt
-      "org.conscrypt:conscrypt-openjdk-uber:$conscrypt_version"
-    ]
-  }
-
-  /**
-   * Returns the list of test dependencies.
-   */
-  static List<String> testDependencies() {
-    return [
-      'junit:junit:4.12',
-    ]
-  }
-
-  static Map<String, String> relocations() {
-    // The relocation paths below specifically use gRPC and the full version 
string as
-    // the code relocation prefix. See 
https://lists.apache.org/thread.html/4c12db35b40a6d56e170cd6fc8bb0ac4c43a99aa3cb7dbae54176815@%3Cdev.beam.apache.org%3E
-    // for further details.
-
-    // To produce the list of necessary relocations, one needs to start with a 
set of target
-    // packages that one wants to vendor, find all necessary transitive 
dependencies of that
-    // set and provide relocations for each such that all necessary packages 
and their
-    // dependencies are relocated. Any optional dependency that doesn't need 
relocation
-    // must be excluded via an 'exclude' rule. There is additional complexity 
of libraries that use
-    // JNI or reflection and have to be handled on case by case basis by 
learning whether
-    // they support relocation and how would one go about doing it by reading 
any documentation
-    // those libraries may provide. The 
'validateShadedJarDoesntLeakNonOrgApacheBeamClasses'
-    // ensures that there are no classes outside of the 'org.apache.beam' 
namespace.
-
-    String version = "v" + grpc_version.replace(".", "p")
-    String prefix = "org.apache.beam.vendor.grpc.${version}"
-    List<String> packagesToRelocate = [
-      // guava uses the com.google.common and com.google.thirdparty package 
namespaces
-      "com.google.common",
-      "com.google.thirdparty",
-      "com.google.protobuf",
-      "com.google.gson",
-      "com.google.auth",
-      "com.google.api",
-      "com.google.cloud",
-      "com.google.logging",
-      "com.google.longrunning",
-      "com.google.rpc",
-      "com.google.type",
-      "com.google.geo.type",
-      "io.grpc",
-      "io.opencensus",
-      "io.perfmark",
-    ]
-
-    return packagesToRelocate.collectEntries {
-      [ (it): "${prefix}.${it}" ]
-    } + [
-      // Redirect io.grpc.netty.shaded to top.
-      // To keep namespace consistency before switching from 
io.grpc:grpc-netty.
-      "io.grpc.netty.shaded": "${prefix}",
-    ] + [
-      // Adapted from 
https://github.com/grpc/grpc-java/blob/e283f70ad91f99c7fee8b31b605ef12a4f9b1690/netty/shaded/build.gradle#L41
-      // We have to be careful with these replacements as they must not match 
any
-      // string in NativeLibraryLoader, else they cause corruption. Note that
-      // this includes concatenation of string literals and constants.
-      'META-INF/native/io_grpc_netty_shaded_netty': 
"META-INF/native/org_apache_beam_vendor_grpc_${version}_netty",
-      'META-INF/native/libio_grpc_netty_shaded_netty': 
"META-INF/native/liborg_apache_beam_vendor_grpc_${version}_netty",
-    ]
-  }
-
-  static Map<String, List<String>> relocationExclusions() {
-    // sub-package excluded from relocation
-    return [
-      "io.grpc": ["io.grpc.netty.shaded.**"],
-    ]
-  }
-
-  /** Returns the list of shading exclusions. */
-  static List<String> exclusions() {
-    return [
-      // Don't include in the vendored jar:
-      // android annotations, autovalue annotations, errorprone, 
checkerframework, JDK8 annotations, objenesis, junit,
-      // apache commons, log4j, slf4j and mockito
-      "android/annotation/**/",
-      "com/google/auto/value/**",
-      "com/google/errorprone/**",
-      "com/google/instrumentation/**",
-      "com/google/j2objc/annotations/**",
-      "io/grpc/netty/shaded/io/netty/handler/codec/marshalling/**",
-      "io/grpc/netty/shaded/io/netty/handler/codec/spdy/**",
-      "io/grpc/netty/shaded/io/netty/handler/codec/compression/JZlib*",
-      "io/grpc/netty/shaded/io/netty/handler/codec/compression/Lz4*",
-      "io/grpc/netty/shaded/io/netty/handler/codec/compression/Lzf*",
-      "io/grpc/netty/shaded/io/netty/handler/codec/compression/Lzma*",
-      
"io/grpc/netty/shaded/io/netty/handler/codec/protobuf/Protobuf*Nano.class",
-      "io/grpc/netty/shaded/io/netty/util/internal/logging/CommonsLogger*",
-      
"io/grpc/netty/shaded/io/netty/util/internal/logging/LocationAwareSlf4JLogger*",
-      "io/grpc/netty/shaded/io/netty/util/internal/logging/Log4JLogger*",
-      "io/grpc/netty/shaded/io/netty/util/internal/logging/Log4J2Logger*",
-      "javax/annotation/**",
-      "junit/**",
-      "module-info.class",
-      "org/apache/commons/logging/**",
-      "org/apache/commons/codec/**",
-      "org/apache/http/**",
-      "org/checkerframework/**",
-      "org/codehaus/mojo/animal_sniffer/**",
-      "org/conscrypt/**",
-      "META-INF/native/libconscrypt**",
-      "META-INF/native/conscrypt**",
-      "org/hamcrest/**",
-      "org/junit/**",
-      "org/mockito/**",
-      "org/objenesis/**",
-      // proto source files
-      "google/**/*.proto",
-      "grpc/**/*.proto",
-    ]
-  }
-
-  /**
-   * Returns a closure containing the dependencies map used for shading gRPC 
within the main
-   * Apache Beam project.
-   */
-  static Object dependenciesClosure() {
-    return {
-      dependencies().each { implementation it }
-      runtimeDependencies().each { shadow it }
-    }
-  }
-
-  /**
-   * Returns a closure with the code relocation configuration for shading gRPC 
within the main
-   * Apache Beam project.
-   */
-  static Object shadowClosure() {
-    def relocExclusions = relocationExclusions()
-    return {
-      relocations().each { srcNamespace, destNamespace ->
-        relocate(srcNamespace, destNamespace) {
-          if (relocExclusions.containsKey(srcNamespace)) {
-            relocExclusions.get(srcNamespace).each { toExclude ->
-              exclude toExclude
-            }
-          }
-        }
-      }
-      exclusions().each { exclude it }
-    }
-  }
-}
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 63e36c655bf..32dd9ece8e2 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -315,7 +315,6 @@ include(":sdks:python:test-suites:tox:py312")
 include(":sdks:python:test-suites:xlang")
 include(":sdks:typescript")
 include(":sdks:typescript:container")
-include(":vendor:grpc-1_60_1")
 include(":vendor:grpc-1_69_0")
 include(":vendor:calcite-1_28_0")
 include(":vendor:guava-32_1_2-jre")
diff --git a/vendor/grpc-1_60_1/build.gradle b/vendor/grpc-1_60_1/build.gradle
deleted file mode 100644
index da152ef10f7..00000000000
--- a/vendor/grpc-1_60_1/build.gradle
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.
- */
-
-import org.apache.beam.gradle.GrpcVendoring_1_60_1
-
-plugins { id 'org.apache.beam.vendor-java' }
-
-description = "Apache Beam :: Vendored Dependencies :: gRPC :: 1.60.1"
-
-group = "org.apache.beam"
-version = "0.3"
-
-vendorJava(
-        dependencies: GrpcVendoring_1_60_1.dependencies(),
-        runtimeDependencies: GrpcVendoring_1_60_1.runtimeDependencies(),
-        testDependencies: GrpcVendoring_1_60_1.testDependencies(),
-        relocations: GrpcVendoring_1_60_1.relocations(),
-        relocationExclusions: GrpcVendoring_1_60_1.relocationExclusions(),
-        exclusions: GrpcVendoring_1_60_1.exclusions(),
-        artifactId: 
"beam-vendor-grpc-${GrpcVendoring_1_60_1.grpc_version.replace(".", "_")}",
-        groupId: group,
-        version: version,
-)

Reply via email to