Upgrade Byte Buddy to 1.9.0
This commit is contained in:
parent
707685ed66
commit
6b8eb60ca2
|
@ -182,7 +182,6 @@ jobs:
|
||||||
# Reset the cache approx every release
|
# Reset the cache approx every release
|
||||||
keys:
|
keys:
|
||||||
- dd-trace-java-version-scan-{{ checksum "dd-trace-java.gradle" }}
|
- dd-trace-java-version-scan-{{ checksum "dd-trace-java.gradle" }}
|
||||||
- dd-trace-java-version-scan
|
|
||||||
|
|
||||||
- run:
|
- run:
|
||||||
name: Verify Version Scan and Muzzle
|
name: Verify Version Scan and Muzzle
|
||||||
|
|
|
@ -13,5 +13,6 @@ dependencies {
|
||||||
compile group: 'org.apache.maven', name: 'maven-aether-provider', version: '3.3.9'
|
compile group: 'org.apache.maven', name: 'maven-aether-provider', version: '3.3.9'
|
||||||
|
|
||||||
compile group: 'com.google.guava', name: 'guava', version: '20.0'
|
compile group: 'com.google.guava', name: 'guava', version: '20.0'
|
||||||
compile group: 'org.ow2.asm', name: 'asm-all', version: '5.2'
|
compile group: 'org.ow2.asm', name: 'asm', version: '7.0-beta'
|
||||||
|
compile group: 'org.ow2.asm', name: 'asm-tree', version: '7.0-beta'
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,7 @@ public class DDCachingPoolStrategy implements PoolStrategy {
|
||||||
cache.invalidateAll();
|
cache.invalidateAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ResolutionProvider implements Callable<TypePool.Resolution> {
|
private static class ResolutionProvider implements Callable<TypePool.Resolution> {
|
||||||
private final TypePool.Resolution value;
|
private final TypePool.Resolution value;
|
||||||
|
|
||||||
private ResolutionProvider(final TypePool.Resolution value) {
|
private ResolutionProvider(final TypePool.Resolution value) {
|
||||||
|
|
|
@ -96,7 +96,7 @@ public interface Instrumenter {
|
||||||
.transform(DDTransformers.defaultTransformers());
|
.transform(DDTransformers.defaultTransformers());
|
||||||
agentBuilder = injectHelperClasses(agentBuilder);
|
agentBuilder = injectHelperClasses(agentBuilder);
|
||||||
agentBuilder = applyInstrumentationTransformers(agentBuilder);
|
agentBuilder = applyInstrumentationTransformers(agentBuilder);
|
||||||
return agentBuilder.asDecorator();
|
return agentBuilder;
|
||||||
}
|
}
|
||||||
|
|
||||||
private AgentBuilder.Identified.Extendable injectHelperClasses(
|
private AgentBuilder.Identified.Extendable injectHelperClasses(
|
||||||
|
|
|
@ -31,7 +31,9 @@ public class Utils {
|
||||||
// jackson
|
// jackson
|
||||||
"org.msgpack",
|
"org.msgpack",
|
||||||
"com.fasterxml.jackson",
|
"com.fasterxml.jackson",
|
||||||
"org.yaml.snakeyaml"
|
"org.yaml.snakeyaml",
|
||||||
|
// modules
|
||||||
|
"module-info",
|
||||||
};
|
};
|
||||||
|
|
||||||
private static Method findLoadedClassMethod = null;
|
private static Method findLoadedClassMethod = null;
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
package datadog.trace.agent.tooling.muzzle;
|
package datadog.trace.agent.tooling.muzzle;
|
||||||
|
|
||||||
import datadog.trace.agent.tooling.Instrumenter;
|
import datadog.trace.agent.tooling.Instrumenter;
|
||||||
|
import java.io.IOException;
|
||||||
import net.bytebuddy.build.Plugin;
|
import net.bytebuddy.build.Plugin;
|
||||||
import net.bytebuddy.description.type.TypeDefinition;
|
import net.bytebuddy.description.type.TypeDefinition;
|
||||||
import net.bytebuddy.description.type.TypeDescription;
|
import net.bytebuddy.description.type.TypeDescription;
|
||||||
|
import net.bytebuddy.dynamic.ClassFileLocator;
|
||||||
import net.bytebuddy.dynamic.DynamicType.Builder;
|
import net.bytebuddy.dynamic.DynamicType.Builder;
|
||||||
|
|
||||||
/** Bytebuddy gradle plugin which creates muzzle-references at compile time. */
|
/** Bytebuddy gradle plugin which creates muzzle-references at compile time. */
|
||||||
|
@ -30,10 +32,16 @@ public class MuzzleGradlePlugin implements Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Builder<?> apply(final Builder<?> builder, final TypeDescription typeDescription) {
|
public Builder<?> apply(
|
||||||
|
final Builder<?> builder,
|
||||||
|
final TypeDescription typeDescription,
|
||||||
|
final ClassFileLocator classFileLocator) {
|
||||||
return builder.visit(new MuzzleVisitor());
|
return builder.visit(new MuzzleVisitor());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void close() throws IOException {}
|
||||||
|
|
||||||
/** Compile-time Optimization used by gradle buildscripts. */
|
/** Compile-time Optimization used by gradle buildscripts. */
|
||||||
public static class NoOp implements Plugin {
|
public static class NoOp implements Plugin {
|
||||||
@Override
|
@Override
|
||||||
|
@ -42,8 +50,14 @@ public class MuzzleGradlePlugin implements Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Builder<?> apply(final Builder<?> builder, final TypeDescription typeDescription) {
|
public Builder<?> apply(
|
||||||
|
final Builder<?> builder,
|
||||||
|
final TypeDescription typeDescription,
|
||||||
|
final ClassFileLocator classFileLocator) {
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void close() throws IOException {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ public class MuzzleVisitor implements AsmVisitorWrapper {
|
||||||
private Instrumenter.Default instrumenter;
|
private Instrumenter.Default instrumenter;
|
||||||
|
|
||||||
public InsertSafetyMatcher(ClassVisitor classVisitor) {
|
public InsertSafetyMatcher(ClassVisitor classVisitor) {
|
||||||
super(Opcodes.ASM6, classVisitor);
|
super(Opcodes.ASM7, classVisitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -461,7 +461,7 @@ public class MuzzleVisitor implements AsmVisitorWrapper {
|
||||||
/** Append a field initializer to the end of a method. */
|
/** Append a field initializer to the end of a method. */
|
||||||
public class InitializeFieldVisitor extends MethodVisitor {
|
public class InitializeFieldVisitor extends MethodVisitor {
|
||||||
public InitializeFieldVisitor(MethodVisitor methodVisitor) {
|
public InitializeFieldVisitor(MethodVisitor methodVisitor) {
|
||||||
super(Opcodes.ASM6, methodVisitor);
|
super(Opcodes.ASM7, methodVisitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -169,7 +169,7 @@ public class ReferenceCreator extends ClassVisitor {
|
||||||
private boolean createFromMethodBodiesOnly;
|
private boolean createFromMethodBodiesOnly;
|
||||||
|
|
||||||
private ReferenceCreator(ClassVisitor classVisitor, boolean createFromMethodBodiesOnly) {
|
private ReferenceCreator(ClassVisitor classVisitor, boolean createFromMethodBodiesOnly) {
|
||||||
super(Opcodes.ASM6, classVisitor);
|
super(Opcodes.ASM7, classVisitor);
|
||||||
this.createFromMethodBodiesOnly = createFromMethodBodiesOnly;
|
this.createFromMethodBodiesOnly = createFromMethodBodiesOnly;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@ public class ReferenceCreator extends ClassVisitor {
|
||||||
private int currentLineNumber = -1;
|
private int currentLineNumber = -1;
|
||||||
|
|
||||||
public AdviceReferenceMethodVisitor(MethodVisitor methodVisitor) {
|
public AdviceReferenceMethodVisitor(MethodVisitor methodVisitor) {
|
||||||
super(Opcodes.ASM6, methodVisitor);
|
super(Opcodes.ASM7, methodVisitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -38,7 +38,6 @@ class ExceptionHandlerTest extends Specification {
|
||||||
.advice(
|
.advice(
|
||||||
isMethod().and(named("smallStack").or(named("largeStack"))),
|
isMethod().and(named("smallStack").or(named("largeStack"))),
|
||||||
BadAdvice.NoOpAdvice.getName()))
|
BadAdvice.NoOpAdvice.getName()))
|
||||||
.asDecorator()
|
|
||||||
|
|
||||||
ByteBuddyAgent.install()
|
ByteBuddyAgent.install()
|
||||||
builder.installOn(ByteBuddyAgent.getInstrumentation())
|
builder.installOn(ByteBuddyAgent.getInstrumentation())
|
||||||
|
|
|
@ -15,7 +15,7 @@ ext {
|
||||||
junit : "4.12",
|
junit : "4.12",
|
||||||
logback : "1.2.3",
|
logback : "1.2.3",
|
||||||
lombok : "1.18.0",
|
lombok : "1.18.0",
|
||||||
bytebuddy : "1.8.14",
|
bytebuddy : "1.9.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
deps = [
|
deps = [
|
||||||
|
|
Loading…
Reference in New Issue