Slackbot
11/10/2022, 9:44 AMJendrik Johannes
11/10/2022, 10:00 AMVampire
11/10/2022, 10:11 AMJendrik Johannes
11/10/2022, 10:15 AMDetached configurations are fine, but when the capabilities were introduced this gap you observe was not properly considered.Yes I agree.
I guess this should be reported as bug / shortcoming.I'll open an issue (as I did not find an existing one).
Jendrik Johannes
11/10/2022, 10:26 AMdisallowChanges() on task input file collections).Jendrik Johannes
11/10/2022, 10:33 AMcom.android.tools:repository directly depends on the javax while it's transitive dependency depends on the same under the jakarta name. I doubt that this mismatch is on purpose.Vampire
11/10/2022, 10:33 AMJendrik Johannes
11/10/2022, 10:35 AMjavax package into the jakarta component. Which is causing so much pain across the whole ecosystem.
I understand that sometimes are bad decisions and mistakes are made. But this was just so necessary....Jendrik Johannes
11/10/2022, 10:36 AMcom.android.tools:repository so that the conflict would not arise in the first place:
withModule("com.android.tools:repository") {
allVariants {
withDependencies {
removeIf { it.name == "javax.activation" }
add("jakarta.activation:jakarta.activation-api")
}
}
}Vampire
11/10/2022, 10:38 AMJendrik Johannes
11/10/2022, 10:43 AMpackage names , module coordinates and jpms module names . For example for javax.activation
javax.activation:activation:1.1.1 -> contains javax package
jakarta.activation:jakarta.activation-api:1.2.1 -> still (!) contains javax package
jakarta.activation:jakarta.activation-api:2.0.0 -> contains jakarta package
There should have never been a 1.x version under the new coordinates (with the old package)Jendrik Johannes
11/10/2022, 10:44 AMjar and an implementation jar , where the implementation also includes the API classes.Jendrik Johannes
11/10/2022, 10:45 AMVampire
11/10/2022, 10:50 AM