Skip to content

Commit 276bf34

Browse files
committed
Upgrade bytebuddy to 1.16.1 release
1 parent 5b5d2c1 commit 276bf34

File tree

8 files changed

+17
-71
lines changed

8 files changed

+17
-71
lines changed

conventions/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ dependencies {
6565
implementation("ru.vyarus:gradle-animalsniffer-plugin:1.7.2")
6666
implementation("org.spdx:spdx-gradle-plugin:0.8.0")
6767
// When updating, also update dependencyManagement/build.gradle.kts
68-
implementation("net.bytebuddy:byte-buddy-gradle-plugin:1.15.12-SNAPSHOT")
68+
implementation("net.bytebuddy:byte-buddy-gradle-plugin:1.16.1")
6969
implementation("gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.6")
7070
implementation("me.champeau.jmh:jmh-gradle-plugin:0.7.2")
7171
implementation("net.ltgt.gradle:gradle-errorprone-plugin:4.1.0")

dependencyManagement/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ val DEPENDENCY_BOMS = listOf(
4141
val autoServiceVersion = "1.1.1"
4242
val autoValueVersion = "1.11.0"
4343
val errorProneVersion = "2.36.0"
44-
val byteBuddyVersion = "1.15.12-SNAPSHOT"
44+
val byteBuddyVersion = "1.16.1"
4545
val asmVersion = "9.7.1"
4646
val jmhVersion = "1.37"
4747
val mockitoVersion = "4.11.0"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
Comparing source compatibility of opentelemetry-instrumentation-annotations-2.12.0-SNAPSHOT.jar against opentelemetry-instrumentation-annotations-2.11.0.jar
2-
No changes.
2+
No changes.

gradle-plugins/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ configurations.named("compileOnly") {
2626
extendsFrom(bbGradlePlugin)
2727
}
2828

29-
val byteBuddyVersion = "1.15.12-SNAPSHOT"
29+
val byteBuddyVersion = "1.16.1"
3030
val aetherVersion = "1.1.0"
3131

3232
dependencies {

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/ForceDynamicallyTypedAssignReturnedFactory.java

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import net.bytebuddy.description.method.MethodDescription;
1919
import net.bytebuddy.description.type.TypeDescription;
2020
import net.bytebuddy.implementation.bytecode.assign.Assigner;
21-
import net.bytebuddy.matcher.ElementMatchers;
2221

2322
/**
2423
* This factory is designed to wrap around {@link Advice.PostProcessor.Factory} and ensures that
@@ -53,27 +52,15 @@ public ForceDynamicallyTypedAssignReturnedFactory(Advice.PostProcessor.Factory d
5352
}
5453

5554
@Override
56-
public Advice.PostProcessor make(MethodDescription.InDefinedShape adviceMethod, boolean exit) {
57-
return delegate.make(forceDynamicTyping(adviceMethod), exit);
55+
public Advice.PostProcessor make(
56+
List<? extends AnnotationDescription> methodAnnotations,
57+
TypeDescription returnType,
58+
boolean exit) {
59+
return delegate.make(forceDynamicTyping(methodAnnotations), returnType, exit);
5860
}
5961

6062
// Visible for testing
61-
static MethodDescription.InDefinedShape forceDynamicTyping(
62-
MethodDescription.InDefinedShape adviceMethod) {
63-
return new MethodDescription.Latent(
64-
adviceMethod.getDeclaringType(),
65-
adviceMethod.getInternalName(),
66-
adviceMethod.getModifiers(),
67-
adviceMethod.getTypeVariables().asTokenList(ElementMatchers.none()),
68-
adviceMethod.getReturnType(),
69-
adviceMethod.getParameters().asTokenList(ElementMatchers.none()),
70-
adviceMethod.getExceptionTypes(),
71-
forceDynamicTyping(adviceMethod.getDeclaredAnnotations()),
72-
adviceMethod.getDefaultValue(),
73-
adviceMethod.getReceiverType());
74-
}
75-
76-
private static List<? extends AnnotationDescription> forceDynamicTyping(
63+
static List<? extends AnnotationDescription> forceDynamicTyping(
7764
List<? extends AnnotationDescription> declaredAnnotations) {
7865
return declaredAnnotations.stream()
7966
.map(ForceDynamicallyTypedAssignReturnedFactory::forceDynamicTyping)

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyTypeTransformerImpl.java

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020

2121
public final class IndyTypeTransformerImpl implements TypeTransformer {
2222

23-
private static final TypeDescription.Generic OBJECT_TYPE = TypeDescription.ForLoadedType.of(Object.class).asGenericType();
24-
2523
// path (with trailing slash) to dump transformed advice class to
2624
private static final String DUMP_PATH = null;
2725
private final Advice.WithCustomMapping adviceMapping;
@@ -40,48 +38,7 @@ public IndyTypeTransformerImpl(
4038
.bootstrap(
4139
IndyBootstrap.getIndyBootstrapMethod(),
4240
IndyBootstrap.getAdviceBootstrapArguments(instrumentationModule),
43-
new TypeDescription.Generic.Visitor<TypeDescription.Generic>() {
44-
@Override
45-
public TypeDescription.Generic onGenericArray(TypeDescription.Generic generic) {
46-
return reduceErasedType(generic.asErasure());
47-
}
48-
49-
@Override
50-
public TypeDescription.Generic onWildcard(TypeDescription.Generic generic) {
51-
return reduceErasedType(generic.asErasure());
52-
}
53-
54-
@Override
55-
public TypeDescription.Generic onParameterizedType(TypeDescription.Generic generic) {
56-
return reduceErasedType(generic.asErasure());
57-
}
58-
59-
@Override
60-
public TypeDescription.Generic onTypeVariable(TypeDescription.Generic generic) {
61-
return reduceErasedType(generic.asErasure());
62-
}
63-
64-
@Override
65-
public TypeDescription.Generic onNonGenericType(TypeDescription.Generic generic) {
66-
return reduceErasedType(generic.asErasure());
67-
}
68-
69-
private TypeDescription.Generic reduceErasedType(TypeDescription erased) {
70-
if (erased.isPrimitive()) {
71-
return erased.asGenericType();
72-
}
73-
if (erased.isArray()) {
74-
return TypeDescription.Generic.Builder.of(reduceErasedType(erased.getComponentType()))
75-
.asArray()
76-
.build();
77-
}
78-
if (!erased.getName().startsWith("java.")) {
79-
return OBJECT_TYPE;
80-
}
81-
return erased.asGenericType();
82-
}
83-
}
84-
);
41+
TypeDescription.Generic.Visitor.Generalizing.INSTANCE);
8542
}
8643

8744
@Override

javaagent-tooling/src/test/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/ForceDynamicallyTypedAssignReturnedFactoryTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import static org.assertj.core.api.Assertions.assertThat;
99

10+
import java.util.List;
1011
import net.bytebuddy.asm.Advice;
1112
import net.bytebuddy.asm.Advice.AssignReturned;
1213
import net.bytebuddy.asm.Advice.AssignReturned.ToArguments.ToArgument;
@@ -40,9 +41,10 @@ public void checkTypingMadeDynamic() {
4041

4142
ClassLoader cl = ForceDynamicallyTypedAssignReturnedFactoryTest.class.getClassLoader();
4243

43-
MethodDescription modified =
44-
ForceDynamicallyTypedAssignReturnedFactory.forceDynamicTyping(original);
45-
assertThat(modified.getDeclaredAnnotations())
44+
List<? extends AnnotationDescription> modifiedAnnotations =
45+
ForceDynamicallyTypedAssignReturnedFactory.forceDynamicTyping(
46+
original.getDeclaredAnnotations());
47+
assertThat(modifiedAnnotations)
4648
.hasSize(7)
4749
.anySatisfy(
4850
toFields -> {

javaagent/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ fun CopySpec.copyByteBuddy(jar: Provider<RegularFile>) {
397397
if (path.startsWith("net/bytebuddy/") &&
398398
// this is our class that we have placed in the byte buddy package, need to preserve it
399399
!path.startsWith("net/bytebuddy/agent/builder/AgentBuilderUtil")) {
400-
//exclude() //local build seems to not include the classes under META-INF
400+
exclude()
401401
} else if (path.startsWith("META-INF/versions/9/net/bytebuddy/")) {
402402
path = path.removePrefix("META-INF/versions/9/")
403403
}

0 commit comments

Comments
 (0)