Skip to content

Conversation

@jaschdoc
Copy link
Collaborator

Also added new transitive dependencies, fixed classpath changes and updated outdated tests. See https://issuetracker.google.com/467185160

@jaschdoc jaschdoc marked this pull request as ready for review January 28, 2026 15:46
@jaschdoc jaschdoc requested a review from CristianGM January 28, 2026 15:46
@jaschdoc
Copy link
Collaborator Author

I see that there are some entries in verification-metadata.xml that have been accidentally removed. I will mark this PR as draft for now and add them again tomorrow. Apologies :)

@jaschdoc jaschdoc marked this pull request as draft January 28, 2026 16:10
defaultDirectives {
+FIR_DIFFERENCE
+ENABLE_PARCELIZE
// Robolectric requires JDK 21
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe mention the exact version (onward) of Roboelectric?

@@ -1,5 +1,4 @@
// WITH_STDLIB
// FULL_JDK
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is my understanding correct that now we need FULL_JDK for all tests since robolectric requires JDK 21? Having these redundant directives caused the issue? Well, actually my question is the other way around: how do we know these are only tests that have redundant directives?

Copy link
Collaborator Author

@jaschdoc jaschdoc Jan 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The FULL_JDK directive is directly not redundant, but results in an error now. However, you do raise a good point that maybe there are other redundant directives in the Parcelize tests. I will investigate a bit further and see if I can remove any directives.

A bit more context:
Both the TestJdkKind and JvmEnvironmentConfigurationDirectives (I will abbreviate this as JvmEnvConfigDir) classes define a FULL_JDK directive. It seems that JvmEnvConfigDir.FULL_JDK is not used for much other than:

  1. a (negative) toggle in ClassicFrontendFacade and
  2. to convert it to TestJdkKind.FULL_JDK or throw an error if both directives are set in JvmEnvironmentConfigurator.

One conclusion from these observations is that JvmEnvConfigDir.FULL_JDK is almost redundant.

Additionally, according to the documentation, TestJdkKind.FULL_JDK is supposed to use the current JVM to run tests with, but in JvmBoxRunner, it is (mis-) used for looking up a JDK 8 in order to spawn a new JDK 8 process in which to run the tests.

I hope that provides a bit more insight. From this perspective, it seems like removing JvmEnvConfigDir.FULL_JDK is the best thing to do, but I can't at this point tell what other tests might break from doing so.

}

with(visitAnnotation("Lorg/robolectric/annotation/Config;", true)) {
visit("sdk", intArrayOf(21))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, better to put a constant instead 👍🏼

@jaschdoc jaschdoc force-pushed the prr/jaschdoc/bump-robolectric-in-parcelize branch from 37df386 to 8a81629 Compare January 29, 2026 10:27
@jaschdoc jaschdoc marked this pull request as ready for review January 29, 2026 10:28
@jaschdoc jaschdoc force-pushed the prr/jaschdoc/bump-robolectric-in-parcelize branch from 8a81629 to f75fa23 Compare January 29, 2026 10:29
@jaschdoc jaschdoc requested a review from jsjeon January 29, 2026 10:34
@jaschdoc jaschdoc force-pushed the prr/jaschdoc/bump-robolectric-in-parcelize branch from f75fa23 to 5b141d2 Compare January 29, 2026 10:55
Also added new transitive dependencies, fixed classpath changes and updated outdated tests.
@jaschdoc jaschdoc force-pushed the prr/jaschdoc/bump-robolectric-in-parcelize branch from 5b141d2 to d7ad107 Compare January 29, 2026 12:09
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.

3 participants