Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(adam): update to kotlin 1.8.10, kotlin language 1.8 and gradle 8.1 #97

Merged
merged 4 commits into from Apr 25, 2023

Conversation

Malinskiy
Copy link
Owner

@Malinskiy Malinskiy commented Apr 21, 2023

Impossible to upgrade to AGP 8 at the moment: it requires Java 17, which is incompatible with org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.6.4:

Error invoking java.lang.instrument.Instrumentation#retransformClasses
java.lang.IllegalStateException: Error invoking java.lang.instrument.Instrumentation#retransformClasses
	at kotlinx.coroutines.repackaged.net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher$ForJava6CapableVm.retransformClasses(ClassReloadingStrategy.java:503)
	at kotlinx.coroutines.repackaged.net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy$2.apply(ClassReloadingStrategy.java:568)
	at kotlinx.coroutines.repackaged.net.bytebuddy.dynamic.loading.ClassReloadingStrategy.load(ClassReloadingStrategy.java:225)
	at kotlinx.coroutines.repackaged.net.bytebuddy.dynamic.TypeResolutionStrategy$Passive.initialize(TypeResolutionStrategy.java:100)
	at kotlinx.coroutines.repackaged.net.bytebuddy.dynamic.DynamicType$Default$Unloaded.load(DynamicType.java:5707)
	at kotlinx.coroutines.debug.internal.ByteBuddyDynamicAttach.attach(Attach.kt:29)
	at kotlinx.coroutines.debug.internal.ByteBuddyDynamicAttach.invoke(Attach.kt:17)
	at kotlinx.coroutines.debug.internal.ByteBuddyDynamicAttach.invoke(Attach.kt:15)
	at kotlinx.coroutines.debug.internal.DebugProbesImpl.install(DebugProbesImpl.kt:85)
	at kotlinx.coroutines.debug.DebugProbes.install(DebugProbes.kt:72)
	at kotlinx.coroutines.debug.junit4.CoroutinesTimeout.<init>(CoroutinesTimeout.kt:59)
	at kotlinx.coroutines.debug.junit4.CoroutinesTimeout$Companion.seconds(CoroutinesTimeout.kt:83)
	at kotlinx.coroutines.debug.junit4.CoroutinesTimeout$Companion.seconds(CoroutinesTimeout.kt:72)
	at kotlinx.coroutines.debug.junit4.CoroutinesTimeout$Companion.seconds$default(CoroutinesTimeout.kt:67)
	at com.malinskiy.adam.integration.ApkE2ETest.<init>(ApkE2ETest.kt:50)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
	at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:250)
	at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:260)
	at org.junit.runners.BlockJUnit4ClassRunner$2.runReflectiveCall(BlockJUnit4ClassRunner.java:309)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:108)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:40)
	at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:60)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:52)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy2/jdk.proxy2.$Proxy5.processTestClass(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:176)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: java.lang.UnsupportedOperationException: class redefinition failed: attempted to delete a method
	at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
	at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:169)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at kotlinx.coroutines.repackaged.net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher$ForJava6CapableVm.retransformClasses(ClassReloadingStrategy.java:495)
	... 58 more

This can be resolved by removing usage of https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-debug/src/junit/junit4/CoroutinesTimeout.kt but it's a bad idea in general, need to wait for proper fix

@codecov
Copy link

codecov bot commented Apr 21, 2023

Codecov Report

Merging #97 (4f3a844) into master (cda378f) will decrease coverage by 0.27%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master      #97      +/-   ##
============================================
- Coverage     80.33%   80.06%   -0.27%     
+ Complexity      724      702      -22     
============================================
  Files           143      143              
  Lines          3178     3176       -2     
  Branches        542      542              
============================================
- Hits           2553     2543      -10     
- Misses          359      367       +8     
  Partials        266      266              
Flag Coverage Δ
integration 63.63% <ø> (+2.87%) ⬆️
unit 70.78% <ø> (-0.18%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

see 16 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@Malinskiy Malinskiy changed the title feat(adam): update to kotlin 1.8.10 and language 1.8, gradle 8.1 feat(adam): update to kotlin 1.8.10, kotlin language 1.8 and gradle 8.1 Apr 25, 2023
@Malinskiy Malinskiy merged commit 28dd793 into master Apr 25, 2023
26 of 27 checks passed
@Malinskiy Malinskiy deleted the feature/deps-update branch April 25, 2023 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant