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