Tanish Ranjan
07/13/2024, 6:51 PMOleg Nenashev
07/15/2024, 10:00 AMTanish Ranjan
07/16/2024, 4:13 PMTanish Ranjan
07/16/2024, 4:14 PMTanish Ranjan
07/17/2024, 8:12 AMgradle.properties
2. Installed Java (comes from registry maybe)
3. JAVA_HOME (env variable)
Or does the tooling api has a different priority order for GradleJavaHome, which I don't think it should be?Tanish Ranjan
07/18/2024, 6:45 AMTanish Ranjan
07/19/2024, 2:58 PMBálint Hegyi
07/26/2024, 6:59 AM*Supplier
classes.
https://github.com/gradle/gradle/tree/6ddf968ccce4b00c649e6e5c22965b2a37a6dfc6/platforms/jvm/jvm-services/src/main/java/org/gradle/jvm/toolchain/internalBálint Hegyi
07/26/2024, 7:01 AMDonát Csikós
08/01/2024, 12:39 PMGradleBuildBuilder
. It will run after projectsLoaded
stage, which is effectively after the settings are evaluated.
Tl;dr The following snippet is a good probe:
try (
ProjectConnection connection = GradleConnector.newConnector()
.forProjectDirectory(projectDir)
// ...
.connect()) {
connection.getModel(GradleBuild.class);
} catch (Exception e) {
// check exception content
}
(I've added the same text to our sync notes)Shah Hitu
08/05/2024, 8:53 AMAurimas Liutikas
08/05/2024, 4:01 PMOleg Nenashev
08/06/2024, 6:46 AMTanish Ranjan
08/06/2024, 8:25 AMOleg Nenashev
08/06/2024, 8:30 AMTanish Ranjan
08/07/2024, 12:20 AMv8.5.1
like so:
public static List<AndroidVariant> getAndroidBuildVariants(Project project) {
List<AndroidVariant> androidBuildVariants = new LinkedList<>();
Object androidExtension = getProjectExtension(project, "android");
if (androidExtension == null) {
return androidBuildVariants;
}
AndroidProjectType type = getProjectType(project);
if (type == null) {
return androidBuildVariants;
}
String methodName = "";
switch (type) {
case APPLICATION:
case DYNAMIC_FEATURE:
methodName = "getApplicationVariants";
break;
case LIBRARY:
methodName = "getLibraryVariants";
break;
case INSTANT_APP_FEATURE:
methodName = "getFeatureVariants";
break;
case ANDROID_TEST:
methodName = "getTestVariants";
break;
}
try {
Set<Object> variants = (Set<Object>) androidExtension.getClass().getMethod(methodName).invoke(androidExtension);
for (Object variant : variants) {
AndroidVariant androidVariant = convertToAndroidVariant(project, variant);
if (androidVariant == null) {
continue;
}
androidBuildVariants.add(androidVariant);
}
} catch (IllegalAccessException | NoSuchMethodException | InvocationTargetException | ClassCastException e) {
// do nothing
androidBuildVariants.size();
}
return androidBuildVariants;
}
Is this the correct approach to get the build variants and is it valid for older versions of agp as well?Tanish Ranjan
08/10/2024, 7:16 PMTanish Ranjan
08/12/2024, 9:03 AMbraith felisters
08/13/2024, 7:06 PMTanish Ranjan
08/17/2024, 7:25 AMcreateArtifactResolutionQuery()
for Android library artifacts? In java projects we use JvmLibrary
class to resolve artifacts like JARs. @Xavier Ducrohet @Aurimas LiutikasOleg Nenashev
08/24/2024, 12:08 PMOleg Nenashev
08/26/2024, 7:17 AMOleg Nenashev
08/26/2024, 9:29 AMPraveen Tss
09/04/2024, 12:53 AM[Plugin [id: 'org.springframework.boot', version: '2.2.4.Release'] was not found in any of the following sources
Tried very hard to resolve, but no luck
Can someone assistOleg Nenashev
09/04/2024, 6:07 AMTanish Ranjan
09/05/2024, 7:29 PMunitTest
and androidTest
? @Aurimas Liutikas @Xavier DucrohetOleg Nenashev
09/09/2024, 4:39 AMTanish Ranjan
10/05/2024, 5:37 PMHashem Mudahig
03/04/2025, 11:33 PMEntry FlutterPlugin.class is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/8.10.2/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.