From 89083883e83d1cc5c558fda35e87ceeca9607104 Mon Sep 17 00:00:00 2001 From: zentol Date: Wed, 28 Jun 2017 13:23:53 +0200 Subject: [PATCH 1/2] [FLINK-7026] Introduce flink-shaded-asm-5 --- flink-core/pom.xml | 12 +++++----- .../java/typeutils/TypeExtractionUtils.java | 4 ++-- flink-java/pom.xml | 5 ++--- .../apache/flink/api/java/ClosureCleaner.java | 9 ++++---- .../api/java/sca/ModifiedASMAnalyzer.java | 12 +++++----- .../flink/api/java/sca/ModifiedASMFrame.java | 10 ++++----- .../api/java/sca/NestedMethodAnalyzer.java | 22 +++++++++---------- .../flink/api/java/sca/TaggedValue.java | 4 ++-- .../flink/api/java/sca/UdfAnalyzer.java | 5 +++-- .../flink/api/java/sca/UdfAnalyzerUtils.java | 12 +++++----- flink-libraries/flink-cep-scala/pom.xml | 8 ------- flink-libraries/flink-gelly-scala/pom.xml | 7 ------ flink-runtime/pom.xml | 11 +++++----- .../flink/runtime/util/DependencyVisitor.java | 20 ++++++++--------- .../flink/runtime/util/JarFileCreator.java | 5 +++-- flink-scala/pom.xml | 11 +++++----- .../flink/api/scala/ClosureCleaner.scala | 4 ++-- flink-streaming-scala/pom.xml | 6 ----- pom.xml | 12 +++++----- tools/maven/checkstyle.xml | 2 +- tools/travis_mvn_watchdog.sh | 2 +- 21 files changed, 80 insertions(+), 103 deletions(-) diff --git a/flink-core/pom.xml b/flink-core/pom.xml index 6a7e78d0d1418..7039e48bf8bc0 100644 --- a/flink-core/pom.xml +++ b/flink-core/pom.xml @@ -47,6 +47,11 @@ under the License. ${project.version} + + org.apache.flink + flink-shaded-asm + + org.apache.commons @@ -87,13 +92,6 @@ under the License. snappy-java - - - org.ow2.asm - asm-all - ${asm.version} - - diff --git a/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractionUtils.java b/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractionUtils.java index c2a01c3a67a23..41d260d7767b0 100644 --- a/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractionUtils.java +++ b/flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractionUtils.java @@ -31,8 +31,8 @@ import org.apache.flink.api.common.functions.Function; import org.apache.flink.api.common.functions.InvalidTypesException; -import static org.objectweb.asm.Type.getConstructorDescriptor; -import static org.objectweb.asm.Type.getMethodDescriptor; +import static org.apache.flink.shaded.asm5.org.objectweb.asm.Type.getConstructorDescriptor; +import static org.apache.flink.shaded.asm5.org.objectweb.asm.Type.getMethodDescriptor; @Internal public class TypeExtractionUtils { diff --git a/flink-java/pom.xml b/flink-java/pom.xml index a996cbee830ed..11fd89f163e91 100644 --- a/flink-java/pom.xml +++ b/flink-java/pom.xml @@ -48,9 +48,8 @@ under the License. - org.ow2.asm - asm-all - ${asm.version} + org.apache.flink + flink-shaded-asm diff --git a/flink-java/src/main/java/org/apache/flink/api/java/ClosureCleaner.java b/flink-java/src/main/java/org/apache/flink/api/java/ClosureCleaner.java index dd4b5c54395e2..6160094f63337 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/ClosureCleaner.java +++ b/flink-java/src/main/java/org/apache/flink/api/java/ClosureCleaner.java @@ -22,10 +22,11 @@ import org.apache.flink.api.common.InvalidProgramException; import org.apache.flink.util.InstantiationUtil; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; +import org.apache.flink.shaded.asm5.org.objectweb.asm.ClassReader; +import org.apache.flink.shaded.asm5.org.objectweb.asm.ClassVisitor; +import org.apache.flink.shaded.asm5.org.objectweb.asm.MethodVisitor; +import org.apache.flink.shaded.asm5.org.objectweb.asm.Opcodes; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMAnalyzer.java b/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMAnalyzer.java index ef7f18de4b9f8..ee8242b070abd 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMAnalyzer.java +++ b/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMAnalyzer.java @@ -20,12 +20,12 @@ import org.apache.flink.annotation.Internal; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.JumpInsnNode; -import org.objectweb.asm.tree.analysis.Analyzer; -import org.objectweb.asm.tree.analysis.Frame; -import org.objectweb.asm.tree.analysis.Interpreter; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.AbstractInsnNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.InsnList; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.JumpInsnNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.Analyzer; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.Frame; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.Interpreter; import java.lang.reflect.Field; diff --git a/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMFrame.java b/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMFrame.java index 685a91f9edc83..f3bce3e6fc7d8 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMFrame.java +++ b/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMFrame.java @@ -20,11 +20,11 @@ import org.apache.flink.annotation.Internal; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.analysis.AnalyzerException; -import org.objectweb.asm.tree.analysis.Frame; -import org.objectweb.asm.tree.analysis.Interpreter; -import org.objectweb.asm.tree.analysis.Value; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.AbstractInsnNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.AnalyzerException; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.Frame; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.Interpreter; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.Value; import java.lang.reflect.Field; import java.util.Arrays; diff --git a/flink-java/src/main/java/org/apache/flink/api/java/sca/NestedMethodAnalyzer.java b/flink-java/src/main/java/org/apache/flink/api/java/sca/NestedMethodAnalyzer.java index d56d60ac655c4..c4e3ac4a79de0 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/sca/NestedMethodAnalyzer.java +++ b/flink-java/src/main/java/org/apache/flink/api/java/sca/NestedMethodAnalyzer.java @@ -21,17 +21,17 @@ import org.apache.flink.annotation.Internal; import org.apache.flink.api.java.sca.TaggedValue.Tag; -import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.IntInsnNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.TypeInsnNode; -import org.objectweb.asm.tree.analysis.AnalyzerException; -import org.objectweb.asm.tree.analysis.BasicInterpreter; -import org.objectweb.asm.tree.analysis.BasicValue; +import org.apache.flink.shaded.asm5.org.objectweb.asm.Type; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.AbstractInsnNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.FieldInsnNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.IntInsnNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.LdcInsnNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.MethodInsnNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.MethodNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.TypeInsnNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.AnalyzerException; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.BasicInterpreter; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.BasicValue; import java.util.ArrayList; import java.util.Arrays; diff --git a/flink-java/src/main/java/org/apache/flink/api/java/sca/TaggedValue.java b/flink-java/src/main/java/org/apache/flink/api/java/sca/TaggedValue.java index aab2cf5b37286..ece022ac3200b 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/sca/TaggedValue.java +++ b/flink-java/src/main/java/org/apache/flink/api/java/sca/TaggedValue.java @@ -20,8 +20,8 @@ import org.apache.flink.annotation.Internal; -import org.objectweb.asm.Type; -import org.objectweb.asm.tree.analysis.BasicValue; +import org.apache.flink.shaded.asm5.org.objectweb.asm.Type; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.BasicValue; import java.util.HashMap; import java.util.Iterator; diff --git a/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzer.java b/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzer.java index 602295998fb54..0a0f0f908ac30 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzer.java +++ b/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzer.java @@ -37,8 +37,9 @@ import org.apache.flink.api.java.functions.SemanticPropUtil; import org.apache.flink.api.java.sca.TaggedValue.Input; -import org.objectweb.asm.Type; -import org.objectweb.asm.tree.MethodNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.Type; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.MethodNode; + import org.slf4j.Logger; import java.lang.reflect.Method; diff --git a/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzerUtils.java b/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzerUtils.java index 2844aea7b618e..8a76ed20733cd 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzerUtils.java +++ b/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzerUtils.java @@ -26,12 +26,12 @@ import org.apache.flink.api.java.typeutils.TupleTypeInfo; import org.apache.flink.api.java.typeutils.TupleTypeInfoBase; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.Type; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.analysis.BasicValue; -import org.objectweb.asm.tree.analysis.Value; +import org.apache.flink.shaded.asm5.org.objectweb.asm.ClassReader; +import org.apache.flink.shaded.asm5.org.objectweb.asm.Type; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.ClassNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.MethodNode; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.BasicValue; +import org.apache.flink.shaded.asm5.org.objectweb.asm.tree.analysis.Value; import java.io.IOException; import java.io.InputStream; diff --git a/flink-libraries/flink-cep-scala/pom.xml b/flink-libraries/flink-cep-scala/pom.xml index c9b4a46686afb..7820c6b4373e7 100644 --- a/flink-libraries/flink-cep-scala/pom.xml +++ b/flink-libraries/flink-cep-scala/pom.xml @@ -51,14 +51,6 @@ under the License. provided - - - - org.ow2.asm - asm - ${asm.version} - - diff --git a/flink-libraries/flink-gelly-scala/pom.xml b/flink-libraries/flink-gelly-scala/pom.xml index 35b2188b89114..59840b0f21203 100644 --- a/flink-libraries/flink-gelly-scala/pom.xml +++ b/flink-libraries/flink-gelly-scala/pom.xml @@ -75,13 +75,6 @@ under the License. scala-compiler provided - - - org.ow2.asm - asm - ${asm.version} - provided - diff --git a/flink-runtime/pom.xml b/flink-runtime/pom.xml index e37e9c5c1cf8d..368e526c1e7c1 100644 --- a/flink-runtime/pom.xml +++ b/flink-runtime/pom.xml @@ -61,6 +61,11 @@ under the License. flink-shaded-netty + + org.apache.flink + flink-shaded-asm + + org.apache.commons commons-lang3 @@ -83,12 +88,6 @@ under the License. guava ${guava.version} - - - org.ow2.asm - asm-all - ${asm.version} - org.scala-lang diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/util/DependencyVisitor.java b/flink-runtime/src/main/java/org/apache/flink/runtime/util/DependencyVisitor.java index 8fef2047a35e5..3a521a83ce03f 100644 --- a/flink-runtime/src/main/java/org/apache/flink/runtime/util/DependencyVisitor.java +++ b/flink-runtime/src/main/java/org/apache/flink/runtime/util/DependencyVisitor.java @@ -18,16 +18,16 @@ package org.apache.flink.runtime.util; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Type; -import org.objectweb.asm.TypePath; -import org.objectweb.asm.Label; -import org.objectweb.asm.signature.SignatureReader; -import org.objectweb.asm.signature.SignatureVisitor; +import org.apache.flink.shaded.asm5.org.objectweb.asm.AnnotationVisitor; +import org.apache.flink.shaded.asm5.org.objectweb.asm.ClassVisitor; +import org.apache.flink.shaded.asm5.org.objectweb.asm.Opcodes; +import org.apache.flink.shaded.asm5.org.objectweb.asm.FieldVisitor; +import org.apache.flink.shaded.asm5.org.objectweb.asm.MethodVisitor; +import org.apache.flink.shaded.asm5.org.objectweb.asm.Type; +import org.apache.flink.shaded.asm5.org.objectweb.asm.TypePath; +import org.apache.flink.shaded.asm5.org.objectweb.asm.Label; +import org.apache.flink.shaded.asm5.org.objectweb.asm.signature.SignatureReader; +import org.apache.flink.shaded.asm5.org.objectweb.asm.signature.SignatureVisitor; import java.util.HashSet; import java.util.Set; diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/util/JarFileCreator.java b/flink-runtime/src/main/java/org/apache/flink/runtime/util/JarFileCreator.java index c877d749a4c55..ad7906ae8c108 100644 --- a/flink-runtime/src/main/java/org/apache/flink/runtime/util/JarFileCreator.java +++ b/flink-runtime/src/main/java/org/apache/flink/runtime/util/JarFileCreator.java @@ -19,8 +19,9 @@ package org.apache.flink.runtime.util; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.Opcodes; +import org.apache.flink.shaded.asm5.org.objectweb.asm.ClassReader; +import org.apache.flink.shaded.asm5.org.objectweb.asm.Opcodes; + import java.io.File; import java.io.FileOutputStream; import java.io.IOException; diff --git a/flink-scala/pom.xml b/flink-scala/pom.xml index 654e15c0c9844..c3cc554b7cc50 100644 --- a/flink-scala/pom.xml +++ b/flink-scala/pom.xml @@ -45,6 +45,11 @@ under the License. ${project.version} + + org.apache.flink + flink-shaded-asm + + org.scala-lang scala-reflect @@ -60,12 +65,6 @@ under the License. scala-compiler - - org.ow2.asm - asm - ${asm.version} - - diff --git a/flink-scala/src/main/scala/org/apache/flink/api/scala/ClosureCleaner.scala b/flink-scala/src/main/scala/org/apache/flink/api/scala/ClosureCleaner.scala index 53bffffe9f424..79653466ed5cb 100644 --- a/flink-scala/src/main/scala/org/apache/flink/api/scala/ClosureCleaner.scala +++ b/flink-scala/src/main/scala/org/apache/flink/api/scala/ClosureCleaner.scala @@ -27,8 +27,8 @@ import org.slf4j.LoggerFactory import scala.collection.mutable.Map import scala.collection.mutable.Set -import org.objectweb.asm.{ClassReader, ClassVisitor, MethodVisitor, Type} -import org.objectweb.asm.Opcodes._ +import org.apache.flink.shaded.asm5.org.objectweb.asm.{ClassReader, ClassVisitor, MethodVisitor, Type} +import org.apache.flink.shaded.asm5.org.objectweb.asm.Opcodes._ /* This code is originally from the Apache Spark project. */ @Internal diff --git a/flink-streaming-scala/pom.xml b/flink-streaming-scala/pom.xml index 57ab1cb0311ce..df58d6d53a042 100644 --- a/flink-streaming-scala/pom.xml +++ b/flink-streaming-scala/pom.xml @@ -63,12 +63,6 @@ under the License. scala-compiler - - org.ow2.asm - asm - ${asm.version} - - diff --git a/pom.xml b/pom.xml index bb157e9339ccd..6ed08fdac8374 100644 --- a/pom.xml +++ b/pom.xml @@ -109,7 +109,6 @@ under the License. 2.11.11 2.11 0.7.4 - 5.0.4 3.4.10 2.12.0 2.7.4 @@ -256,6 +255,12 @@ under the License. 3.3.2 + + org.apache.flink + flink-shaded-asm + 5.0.4-1.0 + + org.apache.avro @@ -1255,7 +1260,6 @@ under the License. --> org.apache.flink:force-shading com.google.guava:* - org.ow2.asm:* @@ -1267,10 +1271,6 @@ under the License. com.google.inject.** - - org.objectweb.asm - org.apache.flink.shaded.org.objectweb.asm - diff --git a/tools/maven/checkstyle.xml b/tools/maven/checkstyle.xml index ef383f33a73e4..3f78054d4471a 100644 --- a/tools/maven/checkstyle.xml +++ b/tools/maven/checkstyle.xml @@ -211,7 +211,7 @@ This file is based on the checkstyle file of Apache Beam. - + diff --git a/tools/travis_mvn_watchdog.sh b/tools/travis_mvn_watchdog.sh index 557e1c94bdf2f..4fa83c6d740b5 100755 --- a/tools/travis_mvn_watchdog.sh +++ b/tools/travis_mvn_watchdog.sh @@ -272,7 +272,7 @@ check_shaded_artifacts() { ASM=`cat allClasses | grep '^org/objectweb/asm/' | wc -l` if [ $ASM != "0" ]; then echo "==============================================================================" - echo "Detected $ASM asm dependencies in fat jar" + echo "Detected $ASM unshaded asm dependencies in fat jar" echo "==============================================================================" return 1 fi From a15e6254c9e66d210a217c0516941000f4aa225d Mon Sep 17 00:00:00 2001 From: zentol Date: Wed, 9 Aug 2017 11:38:32 +0200 Subject: [PATCH 2/2] remove unnecessary asm inclusion/relocations --- flink-connectors/flink-connector-kinesis/pom.xml | 4 ---- flink-shaded-curator/flink-shaded-curator-recipes/pom.xml | 1 - 2 files changed, 5 deletions(-) diff --git a/flink-connectors/flink-connector-kinesis/pom.xml b/flink-connectors/flink-connector-kinesis/pom.xml index 462893784dcb5..41daaa7f6ca95 100644 --- a/flink-connectors/flink-connector-kinesis/pom.xml +++ b/flink-connectors/flink-connector-kinesis/pom.xml @@ -158,10 +158,6 @@ under the License. - - org.objectweb.asm - org.apache.flink.shaded.org.objectweb.asm - com.google.protobuf org.apache.flink.kinesis.shaded.com.google.protobuf diff --git a/flink-shaded-curator/flink-shaded-curator-recipes/pom.xml b/flink-shaded-curator/flink-shaded-curator-recipes/pom.xml index fcc275941fd5b..b539f96a5018c 100644 --- a/flink-shaded-curator/flink-shaded-curator-recipes/pom.xml +++ b/flink-shaded-curator/flink-shaded-curator-recipes/pom.xml @@ -66,7 +66,6 @@ under the License. com.google.guava:* - org.ow2.asm:* org.apache.curator:*