diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 9d645242..c0260c9e 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -22,7 +22,6 @@ jobs: with: java-version: 8 distribution: zulu - - uses: gradle/wrapper-validation-action@v1 - if: matrix.config.preset == 'linuxX64' || matrix.config.preset == 'macosX64' || matrix.config.preset == 'macosArm64' run: chmod +x ${{ github.workspace }}/gradlew - if: matrix.config.preset == 'linuxX64' || matrix.config.preset == 'macosX64' || matrix.config.preset == 'macosArm64' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c6ce4605..54deaad3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,6 @@ jobs: with: java-version: 8.0 distribution: zulu - - uses: gradle/wrapper-validation-action@v1 - if: matrix.config.preset == 'linuxX64' || matrix.config.preset == 'macosX64' || matrix.config.preset == 'macosArm64' run: chmod +x ${{ github.workspace }}/gradlew - if: matrix.config.preset == 'linuxX64' || matrix.config.preset == 'macosX64' || matrix.config.preset == 'macosArm64' @@ -89,7 +88,6 @@ jobs: with: java-version: 8.0 distribution: zulu - - uses: gradle/wrapper-validation-action@v1 - if: matrix.config.preset == 'linuxX64' || matrix.config.preset == 'macosX64' || matrix.config.preset == 'macosArm64' run: chmod +x ${{ github.workspace }}/gradlew - if: matrix.config.preset == 'linuxX64' || matrix.config.preset == 'macosX64' || matrix.config.preset == 'macosArm64' @@ -121,7 +119,6 @@ jobs: with: java-version: 8.0 distribution: zulu - - uses: gradle/wrapper-validation-action@v1 - run: chmod +x ${{ github.workspace }}/gradlew - run: chmod +x ${{ github.workspace }}/setup-shared-libs.sh - run: ${{ github.workspace }}/setup-shared-libs.sh diff --git a/gradle.properties b/gradle.properties index fa6d10fb..1926729f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,7 +13,7 @@ kotlinPoetVersion = 1.9.0 javassistVersion = 3.28.0-GA uuidVersion = 0.3.1 jacocoVersion = 0.8.12 -transmittableThreadLocalVersion = 2.12.2 +transmittableThreadLocalVersion = 2.14.5 shadowPluginVersion = 6.1.0 logbackVersion = 1.2.12 microutilsLoggingVersion = 2.1.23 diff --git a/java-agent/build.gradle.kts b/java-agent/build.gradle.kts index ecd85164..b3bd753f 100644 --- a/java-agent/build.gradle.kts +++ b/java-agent/build.gradle.kts @@ -109,7 +109,6 @@ kotlin { dependencies { implementation("org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$kotlinxSerializationVersion") implementation("org.javassist:javassist:$javassistVersion") - implementation("com.alibaba:transmittable-thread-local:$transmittableThreadLocalVersion") implementation("io.aesy:datasize:$aesyDatasizeVersion") implementation("net.bytebuddy:byte-buddy:$bytebuddyVersion") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:${kotlinxCoroutinesVersion}") @@ -174,7 +173,6 @@ kotlin { "javassist", "ch.qos.logback", "io.aesy.datasize", - "com.alibaba", "org.slf4j", "org.jacoco", "org.objectweb.asm", diff --git a/java-agent/src/nativeMain/kotlin/com/epam/drill/agent/jvmti/ClassFileLoadHook.kt b/java-agent/src/nativeMain/kotlin/com/epam/drill/agent/jvmti/ClassFileLoadHook.kt index 60202dd1..111af679 100644 --- a/java-agent/src/nativeMain/kotlin/com/epam/drill/agent/jvmti/ClassFileLoadHook.kt +++ b/java-agent/src/nativeMain/kotlin/com/epam/drill/agent/jvmti/ClassFileLoadHook.kt @@ -94,8 +94,11 @@ object ClassFileLoadHook { ) { initRuntimeIfNeeded() val kClassName = clsName?.toKString() ?: return - if (isBootstrapClassLoading(loader, protectionDomain) && !isTlsApp && !isAsyncApp - && !kClassName.contains("Http") // raw hack for http(s) classes + if (isBootstrapClassLoading(loader, protectionDomain) && !when { + kClassName.contains("Http") -> true // raw hack for Http(s) URL Connection classes + kClassName in TTLTransformer.directTtlClasses -> true + else -> false + } ) return if (classData == null || kClassName.startsWith(DRILL_PACKAGE)) return try { diff --git a/settings.gradle.kts b/settings.gradle.kts index 8d189ccf..1bee3210 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -41,6 +41,7 @@ includeSharedLib("agent-instrumentation") includeSharedLib("jvmapi") includeSharedLib("knasm") includeSharedLib("konform") +includeSharedLib("transmittable-thread-local") // FYI: Interceptor not patched for macOS ARM64 architecture. //includeSharedLib("interceptor-hook") //includeSharedLib("interceptor-http") @@ -50,3 +51,4 @@ includeSharedLib("test2code-common") include("test2code-jacoco") include("test2code") include("java-agent") +