Status Update
Comments
uc...@google.com <uc...@google.com>
ga...@gmail.com <ga...@gmail.com> #2
tn...@google.com <tn...@google.com> #3
ga...@gmail.com <ga...@gmail.com> #4
xa...@google.com <xa...@google.com> #5
Lint in AGP 7.0 / Studio 2020.3 now uses org.jetbrains.intellij.deps:trove4j:1.0.20181211
which is present on maven central.
ep...@gmail.com <ep...@gmail.com> #6
tn...@google.com <tn...@google.com> #7
Yes, we'll do it for 4.2 (still thinking about 4.1.)
mi...@gmail.com <mi...@gmail.com> #8
t....@gmail.com <t....@gmail.com> #9
To guarantee the backward compatibility, wouldn't it be enough to deploy the org.jetbrains.trove4j
dependency to the maven.google.com
repository?
(I believe that there's a workaround too, using a Gradle buildscript
to substitute org.jetbrains.intellij.deps:trove4j:1.0.20181211
, which is in Central, and I believe contains the same code as org.jetbrains.trove4j:trove4j:20160824
judging by
tn...@google.com <tn...@google.com> #10
For now we're limiting maven.google.com to libraries from Google (and in particular, if I recall correctly, trove4j is licensed under LGPL which means some extra complications.)
Note by the way that JFrog has clarified they're not taking jcenter down in 3 months; it will be up until February 2022.
t....@gmail.com <t....@gmail.com> #11
Fwiw, I confirm that a dependency resolve rule works:
buildscript {
configurations.all {
resolutionStrategy {
eachDependency {
// https://issuetracker.google.com/issues/109894262#comment9
if (requested.group == "org.jetbrains.trove4j" && requested.name == "trove4j" && requested.version == "20160824") {
useTarget("org.jetbrains.intellij.deps:trove4j:1.0.20181211")
}
}
}
}
}
Same for a dependency substitution rule:
buildscript {
configurations.all {
// https://issuetracker.google.com/issues/109894262#comment9
resolutionStrategy.dependencySubstitution {
substitute(module("org.jetbrains.trove4j:trove4j:20160824"))
.using(module("org.jetbrains.intellij.deps:trove4j:1.0.20181211"))
.because("org.jetbrains.trove4j is not available on mavenCentral")
}
}
}
Description
3.2.0-alpha17
The `com.android.tools.lint:lint` [0] artifact depends on a repackaged version of uast (`com.android.tools.external.org-jetbrains:uast` [1]) which depends on a repackaged version of intellij-core (`com.android.tools.external.com-intellij:intellij-core` [2]) which in turn depends on a Jetbrains fork of trove4j (`org,jetbrain.trove4j:trove4j:20160824` [3]). The issue with this is that trove4j is only available on JCenter and not on Maven Central. Due to various issues in the past months we'd like to avoid using JCenter. Could you start repackaging the trove4j artifact and host it on
[0]:
[1]:
[2]:
[3]: