diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 2f4fdf7ddc..b07a33ffce 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -3,6 +3,9 @@
import com.itsaky.androidide.build.config.BuildConfig
import com.itsaky.androidide.desugaring.utils.JavaIOReplacements.applyJavaIOReplacements
import com.itsaky.androidide.plugins.AndroidIDEAssetsPlugin
+import org.adfa.constants.GRADLE_API_NAME_JAR_BR
+import org.adfa.constants.GRADLE_API_NAME_JAR_ZIP
+import org.adfa.constants.GRADLE_DISTRIBUTION_ARCHIVE_NAME
import org.json.JSONObject
import java.io.BufferedOutputStream
import java.io.ByteArrayInputStream
@@ -552,8 +555,8 @@ fun createAssetsZip(arch: String) {
arrayOf(
androidSdkName,
"localMvnRepository.zip",
- "gradle-8.14.3-bin.zip",
- "gradle-api-8.14.3.jar.zip",
+ "$GRADLE_DISTRIBUTION_ARCHIVE_NAME",
+ "$GRADLE_API_NAME_JAR_ZIP",
"documentation.db",
bootstrapName,
"plugin-artifacts.zip",
@@ -1197,15 +1200,15 @@ val debugAssets =
"debug",
),
Asset(
- "assets/gradle-8.14.3-bin.zip",
- "https://appdevforall.org/dev-assets/debug/gradle-8.14.3-bin.zip",
- "gradle-8.14.3-bin.zip",
+ "assets/$GRADLE_DISTRIBUTION_ARCHIVE_NAME",
+ "https://appdevforall.org/dev-assets/debug/$GRADLE_DISTRIBUTION_ARCHIVE_NAME",
+ "$GRADLE_DISTRIBUTION_ARCHIVE_NAME",
"debug",
),
Asset(
- "assets/gradle-api-8.14.3.jar.zip",
- "https://appdevforall.org/dev-assets/debug/gradle-api-8.14.3.jar.zip",
- "gradle-api-8.14.3.jar.zip",
+ "assets/$GRADLE_API_NAME_JAR_ZIP",
+ "https://appdevforall.org/dev-assets/debug/$GRADLE_API_NAME_JAR_ZIP",
+ "$GRADLE_API_NAME_JAR_ZIP",
"debug",
),
Asset(
@@ -1225,15 +1228,15 @@ val debugAssets =
val releaseAssets =
listOf(
Asset(
- "assets/release/common/data/common/gradle-8.14.3-bin.zip.br",
- "https://appdevforall.org/dev-assets/release/gradle-8.14.3-bin.zip.br",
- "gradle-8.14.3-bin.zip.br",
+ "assets/release/common/data/common/$GRADLE_DISTRIBUTION_ARCHIVE_NAME.br",
+ "https://appdevforall.org/dev-assets/release/$GRADLE_DISTRIBUTION_ARCHIVE_NAME.br",
+ "$GRADLE_DISTRIBUTION_ARCHIVE_NAME.br",
"release",
),
Asset(
- "assets/release/common/data/common/gradle-api-8.14.3.jar.br",
- "https://appdevforall.org/dev-assets/release/gradle-api-8.14.3.jar.br",
- "gradle-api-8.14.3.jar.br",
+ "assets/release/common/data/common/$GRADLE_API_NAME_JAR_BR",
+ "https://appdevforall.org/dev-assets/release/$GRADLE_API_NAME_JAR_BR",
+ "$GRADLE_API_NAME_JAR_BR",
"release",
),
Asset(
diff --git a/composite-builds/build-deps-common/constants/src/main/java/org/adfa/constants/constants.kt b/composite-builds/build-deps-common/constants/src/main/java/org/adfa/constants/constants.kt
index d7bc7f5694..9164ad6db0 100644
--- a/composite-builds/build-deps-common/constants/src/main/java/org/adfa/constants/constants.kt
+++ b/composite-builds/build-deps-common/constants/src/main/java/org/adfa/constants/constants.kt
@@ -17,9 +17,9 @@
package org.adfa.constants
-const val ANDROID_GRADLE_PLUGIN_VERSION = "8.11.0"
-const val GRADLE_DISTRIBUTION_VERSION = "8.14.3"
-const val KOTLIN_VERSION = "1.9.22"
+const val ANDROID_GRADLE_PLUGIN_VERSION = "9.3.1"
+const val GRADLE_DISTRIBUTION_VERSION = "9.6.1"
+const val KOTLIN_VERSION = "2.3.21"
val TARGET_SDK_VERSION = Sdk.Baklava
val COMPILE_SDK_VERSION = Sdk.Baklava
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 9c4e15649b..0cde4e3960 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -1,7 +1,7 @@
[versions]
activityKtx = "1.8.2"
agp = "8.8.2"
-agp-tooling = "8.11.0"
+agp-tooling = "9.3.1"
androidx-sqlite = "2.6.2"
appcompatVersion = "1.7.1"
colorpickerview = "2.3.0"
@@ -291,6 +291,7 @@ tests-junit-kts = { module = "androidx.test.ext:junit-ktx", version = "1.2.1" }
tests-kotlinx-coroutines = {module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinxCoroutinesCore"}
# Tooling
+tooling-agp = { module = "com.android.tools.build:gradle", version.ref = "agp-tooling" }
tooling-builderModel = { module = "com.android.tools.build:builder-model", version.ref = "agp-tooling" }
tooling-gradleApi = { module = "com.itsaky.androidide.gradle:gradle-tooling-api", version.ref = "gradle-tooling" }
tooling-slf4j = { module = "org.slf4j:slf4j-api", version = "2.0.12" }
diff --git a/plugin-api/plugin-builder/build.gradle.kts b/plugin-api/plugin-builder/build.gradle.kts
index f620f80344..f0abf595e4 100644
--- a/plugin-api/plugin-builder/build.gradle.kts
+++ b/plugin-api/plugin-builder/build.gradle.kts
@@ -8,11 +8,11 @@ version = "1.0.0"
dependencies {
// AGP is provided at runtime by the plugin project's own `com.android.application`,
- // and on-device plugin builds use the tooling AGP (`agp-tooling` = 8.11.0), which is
- // what the harvested localMvnRepository ships. Keep it compileOnly so the published
+ // and on-device plugin builds use the tooling AGP (`agp-tooling`), which is what
+ // the harvested localMvnRepository ships. Keep it compileOnly so the published
// POM stays dependency-free: forcing it as a transitive would make the coordinate
// unresolvable offline whenever the harvested AGP differs from a pinned version.
- compileOnly("com.android.tools.build:gradle:8.11.0")
+ compileOnly(libs.tooling.agp)
}
gradlePlugin {
diff --git a/plugin-api/plugin-builder/settings.gradle.kts b/plugin-api/plugin-builder/settings.gradle.kts
index b803f5ab99..a332f95858 100644
--- a/plugin-api/plugin-builder/settings.gradle.kts
+++ b/plugin-api/plugin-builder/settings.gradle.kts
@@ -1,9 +1,15 @@
rootProject.name = "plugin-builder"
dependencyResolutionManagement {
- repositories {
- google()
- mavenCentral()
- gradlePluginPortal()
- }
-}
\ No newline at end of file
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+
+ versionCatalogs {
+ create("libs") {
+ from(files("../../gradle/libs.versions.toml"))
+ }
+ }
+}
diff --git a/subprojects/builder-model-impl/src/main/java/com/android/build/gradle/options/StringOption.kt b/subprojects/builder-model-impl/src/main/java/com/android/build/gradle/options/StringOption.kt
index ea1def3dfd..d8b158d9a5 100644
--- a/subprojects/builder-model-impl/src/main/java/com/android/build/gradle/options/StringOption.kt
+++ b/subprojects/builder-model-impl/src/main/java/com/android/build/gradle/options/StringOption.kt
@@ -67,7 +67,8 @@ enum class StringOption(
IDE_ANDROID_CUSTOM_CLASS_TRANSFORMS("android.advanced.profiling.transforms", ApiStage.Stable),
// The exact version of Android Support plugin used, e.g. 2.4.0.6
- IDE_ANDROID_STUDIO_VERSION(AndroidProject.PROPERTY_ANDROID_SUPPORT_VERSION, ApiStage.Stable),
+ // AGP 9 removed AndroidProject.PROPERTY_ANDROID_SUPPORT_VERSION; its value is inlined.
+ IDE_ANDROID_STUDIO_VERSION("android.injected.studio.version", ApiStage.Stable),
// The version of Android Game Development Extension used to orchestrate the build
IDE_AGDE_VERSION("agde.version", ApiStage.Stable),
diff --git a/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidArtifact.kt b/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidArtifact.kt
index 1c218418a5..69d67fe8a8 100644
--- a/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidArtifact.kt
+++ b/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidArtifact.kt
@@ -1,55 +1,56 @@
-/*
- * This file is part of AndroidIDE.
- *
- * AndroidIDE is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * AndroidIDE is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with AndroidIDE. If not, see .
- */
-package com.itsaky.androidide.builder.model
-
-import com.android.builder.model.v2.ide.AndroidArtifact
-import com.android.builder.model.v2.ide.BytecodeTransformation
-import com.android.builder.model.v2.ide.CodeShrinker
-import com.android.builder.model.v2.ide.PrivacySandboxSdkInfo
-import java.io.File
-import java.io.Serializable
-
-/** @author Akash Yadav */
-class DefaultAndroidArtifact : AndroidArtifact, Serializable {
-
- private val serialVersionUID = 1L
- override var applicationId: String? = ""
- override var resGenTaskName: String? = null
- override var abiFilters: Set? = null
- override var assembleTaskOutputListingFile: File? = null
- override var bundleInfo: DefaultBundleInfo? = null
- override var codeShrinker: CodeShrinker? = null
- override var generatedResourceFolders: Collection = emptyList()
- override var isSigned: Boolean = false
- override var maxSdkVersion: Int? = null
- override var minSdkVersion: DefaultApiVersion = DefaultApiVersion()
- override var signingConfigName: String? = null
- override var sourceGenTaskName: String = ""
- override var testInfo: DefaultTestInfo? = null
- override var assembleTaskName: String = ""
- override var classesFolders: Set = emptySet()
- override var compileTaskName: String = ""
- override var generatedSourceFolders: Collection = emptyList()
- override var ideSetupTaskNames: Set = emptySet()
- override var targetSdkVersionOverride: DefaultApiVersion? = null
- override var modelSyncFiles: Collection = emptyList()
- override var privacySandboxSdkInfo: PrivacySandboxSdkInfo? = null
- override var desugaredMethodsFiles: Collection = emptyList()
- override val generatedClassPaths: Map = emptyMap()
- override val generatedAssetsFolders: Collection = emptyList()
- override val bytecodeTransformations: Collection = emptyList()
-}
+/*
+ * This file is part of AndroidIDE.
+ *
+ * AndroidIDE is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * AndroidIDE is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with AndroidIDE. If not, see .
+ */
+package com.itsaky.androidide.builder.model
+
+import com.android.builder.model.v2.ide.AndroidArtifact
+import com.android.builder.model.v2.ide.BytecodeTransformation
+import com.android.builder.model.v2.ide.CodeShrinker
+import java.io.File
+import java.io.Serializable
+
+/** @author Akash Yadav */
+class DefaultAndroidArtifact :
+ AndroidArtifact,
+ Serializable {
+ private val serialVersionUID = 1L
+ override var applicationId: String? = ""
+ override var resGenTaskName: String? = null
+ override var abiFilters: Set? = null
+ override var assembleTaskOutputListingFile: File? = null
+ override var bundleInfo: DefaultBundleInfo? = null
+ override var codeShrinker: CodeShrinker? = null
+ override var generatedResourceFolders: Collection = emptyList()
+ override var isSigned: Boolean = false
+ override var maxSdkVersion: Int? = null
+ override var minSdkVersion: DefaultApiVersion = DefaultApiVersion()
+ override var signingConfigName: String? = null
+ override var sourceGenTaskName: String = ""
+ override var testInfo: DefaultTestInfo? = null
+ override var assembleTaskName: String = ""
+ override var classesFolders: Set = emptySet()
+ override var compileTaskName: String = ""
+ override var generatedSourceFolders: Collection = emptyList()
+ override var ideSetupTaskNames: Set = emptySet()
+ override var targetSdkVersionOverride: DefaultApiVersion? = null
+ override var modelSyncFiles: Collection = emptyList()
+ override var desugaredMethodsFiles: Collection = emptyList()
+ override val generatedClassPaths: Map = emptyMap()
+ override val generatedAssetsFolders: Collection = emptyList()
+ override val bytecodeTransformations: Collection = emptyList()
+ override val mappingR8TextFile: File? = null
+ override val mappingR8PartitionFile: File? = null
+}
diff --git a/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSourceProvider.kt b/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSourceProvider.kt
index a5743924e9..8499d6ad02 100644
--- a/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSourceProvider.kt
+++ b/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSourceProvider.kt
@@ -1,44 +1,49 @@
-/*
- * This file is part of AndroidIDE.
- *
- * AndroidIDE is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * AndroidIDE is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with AndroidIDE. If not, see .
- */
-package com.itsaky.androidide.builder.model
-
-import com.android.builder.model.v2.ide.SourceProvider
-import java.io.File
-import java.io.Serializable
-
-/** @author Akash Yadav */
-class DefaultSourceProvider() : SourceProvider, Serializable {
- private val serialVersionUID = 1L
- override var aidlDirectories: Collection? = null
- override var assetsDirectories: Collection? = null
- override var customDirectories: Collection? = null
- override var javaDirectories: Collection = emptyList()
- override var jniLibsDirectories: Collection = emptyList()
- override var kotlinDirectories: Collection = emptyList()
- override var manifestFile: File? = NoFile
- override var mlModelsDirectories: Collection? = null
- override var name: String = ""
- override var renderscriptDirectories: Collection? = null
- override var resDirectories: Collection? = null
- override var resourcesDirectories: Collection = emptyList()
- override var shadersDirectories: Collection? = null
- override var baselineProfileDirectories: Collection? = null
-
- companion object {
- @JvmStatic val NoFile = File("")
- }
-}
+/*
+ * This file is part of AndroidIDE.
+ *
+ * AndroidIDE is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * AndroidIDE is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with AndroidIDE. If not, see .
+ */
+package com.itsaky.androidide.builder.model
+
+import com.android.builder.model.v2.ide.SourceProvider
+import java.io.File
+import java.io.Serializable
+
+/** @author Akash Yadav */
+class DefaultSourceProvider :
+ SourceProvider,
+ Serializable {
+ private val serialVersionUID = 1L
+ override var aidlDirectories: Collection? = null
+ override var assetsDirectories: Collection? = null
+ override var customDirectories: Collection? = null
+ override var javaDirectories: Collection = emptyList()
+ override var jniLibsDirectories: Collection = emptyList()
+ override var kotlinDirectories: Collection = emptyList()
+ override var manifestFile: File? = NoFile
+ override var mlModelsDirectories: Collection? = null
+ override var name: String = ""
+ override var renderscriptDirectories: Collection? = null
+ override var resDirectories: Collection? = null
+ override var resourcesDirectories: Collection = emptyList()
+ override var shadersDirectories: Collection? = null
+ override var baselineProfileDirectories: Collection? = null
+
+ companion object {
+ @JvmStatic val NoFile = File("")
+ }
+
+ override val keepRulesDirectories: Collection? = null
+ override val aarKeepRulesDirectories: Collection? = null
+}
diff --git a/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariant.kt b/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariant.kt
index b4f7386037..f2266f5627 100644
--- a/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariant.kt
+++ b/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariant.kt
@@ -1,44 +1,49 @@
-/*
- * This file is part of AndroidIDE.
- *
- * AndroidIDE is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * AndroidIDE is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with AndroidIDE. If not, see .
- */
-package com.itsaky.androidide.builder.model
-
-import com.android.builder.model.v2.ide.AndroidArtifact
-import com.android.builder.model.v2.ide.JavaArtifact
-import com.android.builder.model.v2.ide.Variant
-import java.io.File
-import java.io.Serializable
-
-/** @author Akash Yadav */
-class DefaultVariant : Variant, Serializable {
-
- private val serialVersionUID = 1L
- @Deprecated("Contained in deviceTestArtifacts")
- override var androidTestArtifact: DefaultAndroidArtifact? = null
- override var displayName: String = ""
- override var isInstantAppCompatible: Boolean = false
- override var desugaredMethods: List = emptyList()
- override var mainArtifact: DefaultAndroidArtifact = DefaultAndroidArtifact()
- override var name: String = ""
- override var testFixturesArtifact: DefaultAndroidArtifact? = null
- override var testedTargetVariant: DefaultTestedTargetVariant? = null
- @Deprecated("Contained in hostTestArtifacts")
- override var unitTestArtifact: DefaultJavaArtifact? = null
- override val runTestInSeparateProcess: Boolean = false
- override val deviceTestArtifacts: Map = emptyMap()
- override val hostTestArtifacts: Map = emptyMap()
- override val experimentalProperties: Map = emptyMap()
-}
+/*
+ * This file is part of AndroidIDE.
+ *
+ * AndroidIDE is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * AndroidIDE is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with AndroidIDE. If not, see .
+ */
+package com.itsaky.androidide.builder.model
+
+import com.android.builder.model.v2.ide.AndroidArtifact
+import com.android.builder.model.v2.ide.JavaArtifact
+import com.android.builder.model.v2.ide.TestSuiteArtifact
+import com.android.builder.model.v2.ide.Variant
+import java.io.File
+import java.io.Serializable
+
+/** @author Akash Yadav */
+class DefaultVariant :
+ Variant,
+ Serializable {
+ private val serialVersionUID = 1L
+
+ @Deprecated("Contained in deviceTestArtifacts")
+ override var androidTestArtifact: DefaultAndroidArtifact? = null
+ override var displayName: String = ""
+ override var isInstantAppCompatible: Boolean = false
+ override var desugaredMethods: List = emptyList()
+ override var mainArtifact: DefaultAndroidArtifact = DefaultAndroidArtifact()
+ override var name: String = ""
+ override var testFixturesArtifact: DefaultAndroidArtifact? = null
+ override var testedTargetVariant: DefaultTestedTargetVariant? = null
+
+ @Deprecated("Contained in hostTestArtifacts")
+ override var unitTestArtifact: DefaultJavaArtifact? = null
+ override val runTestInSeparateProcess: Boolean = false
+ override val deviceTestArtifacts: Map = emptyMap()
+ override val hostTestArtifacts: Map = emptyMap()
+ override val experimentalProperties: Map = emptyMap()
+ override val testSuiteArtifacts: Map = emptyMap()
+}
diff --git a/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariantDependencies.kt b/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariantDependencies.kt
index f77c41fcb5..1845f9e13c 100644
--- a/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariantDependencies.kt
+++ b/subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariantDependencies.kt
@@ -1,37 +1,42 @@
-/*
- * This file is part of AndroidIDE.
- *
- * AndroidIDE is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * AndroidIDE is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with AndroidIDE. If not, see .
- */
-package com.itsaky.androidide.builder.model
-
-import com.android.builder.model.v2.ide.ArtifactDependencies
-import com.android.builder.model.v2.models.VariantDependencies
-import java.io.Serializable
-
-/** @author Akash Yadav */
-class DefaultVariantDependencies : VariantDependencies, Serializable {
-
- private val serialVersionUID = 1L
- @Deprecated("Contained in deviceTestArtifacts")
- override var androidTestArtifact: DefaultArtifactDependencies? = null
- override var libraries: Map = emptyMap()
- override var mainArtifact: DefaultArtifactDependencies = DefaultArtifactDependencies()
- override var name: String = ""
- override var testFixturesArtifact: DefaultArtifactDependencies? = null
- @Deprecated("Contained in hostTestArtifacts")
- override var unitTestArtifact: DefaultArtifactDependencies? = null
- override val deviceTestArtifacts: Map = emptyMap()
- override val hostTestArtifacts: Map = emptyMap()
-}
+/*
+ * This file is part of AndroidIDE.
+ *
+ * AndroidIDE is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * AndroidIDE is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with AndroidIDE. If not, see .
+ */
+package com.itsaky.androidide.builder.model
+
+import com.android.builder.model.v2.ide.ArtifactDependencies
+import com.android.builder.model.v2.models.TestSuiteDependencies
+import com.android.builder.model.v2.models.VariantDependencies
+import java.io.Serializable
+
+/** @author Akash Yadav */
+class DefaultVariantDependencies :
+ VariantDependencies,
+ Serializable {
+ private val serialVersionUID = 1L
+
+ @Deprecated("Contained in deviceTestArtifacts")
+ override var androidTestArtifact: DefaultArtifactDependencies? = null
+ override var libraries: Map = emptyMap()
+ override var mainArtifact: DefaultArtifactDependencies = DefaultArtifactDependencies()
+ override var name: String = ""
+ override var testFixturesArtifact: DefaultArtifactDependencies? = null
+
+ @Deprecated("Contained in hostTestArtifacts")
+ override var unitTestArtifact: DefaultArtifactDependencies? = null
+ override val deviceTestArtifacts: Map = emptyMap()
+ override val hostTestArtifacts: Map = emptyMap()
+ override val testSuiteArtifacts: Map = emptyMap()
+}