Skip to content
This repository was archived by the owner on Oct 18, 2024. It is now read-only.

Commit d5762bd

Browse files
committed
fix: add support for AGP 8.3.0 (#1744)
1 parent f924bb0 commit d5762bd

File tree

11 files changed

+11
-102
lines changed

11 files changed

+11
-102
lines changed

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[versions]
2-
agp = "8.2.2"
3-
agp-tooling = "8.2.2"
2+
agp = "8.3.0"
3+
agp-tooling = "8.3.0"
44
gradle-tooling = "8.6"
55
junit-jupiter = "5.10.2"
66
kotlin = "1.9.22"

subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidArtifact.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.itsaky.androidide.builder.model
1818

1919
import com.android.builder.model.v2.ide.AndroidArtifact
20+
import com.android.builder.model.v2.ide.BytecodeTransformation
2021
import com.android.builder.model.v2.ide.CodeShrinker
2122
import com.android.builder.model.v2.ide.PrivacySandboxSdkInfo
2223
import java.io.File
@@ -45,8 +46,9 @@ class DefaultAndroidArtifact : AndroidArtifact, Serializable {
4546
override var generatedSourceFolders: Collection<File> = emptyList()
4647
override var ideSetupTaskNames: Set<String> = emptySet()
4748
override var targetSdkVersionOverride: DefaultApiVersion? = null
48-
override var modelSyncFiles: Collection<DefaultModelSyncFile> = emptyList()
49+
override var modelSyncFiles: Collection<Void> = emptyList()
4950
override var privacySandboxSdkInfo: PrivacySandboxSdkInfo? = null
5051
override var desugaredMethodsFiles: Collection<File> = emptyList()
5152
override val generatedClassPaths: Map<String, File> = emptyMap()
53+
override val bytecodeTransformations: Collection<BytecodeTransformation> = emptyList()
5254
}

subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultJavaArtifact.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package com.itsaky.androidide.builder.model
1818

19+
import com.android.builder.model.v2.ide.BytecodeTransformation
1920
import com.android.builder.model.v2.ide.JavaArtifact
2021
import java.io.File
2122
import java.io.Serializable
@@ -24,7 +25,7 @@ import java.io.Serializable
2425
class DefaultJavaArtifact : JavaArtifact, Serializable {
2526

2627
private val serialVersionUID = 1L
27-
override var modelSyncFiles: Collection<DefaultModelSyncFile> = emptyList()
28+
override var modelSyncFiles: Collection<Void> = emptyList()
2829

2930
override var assembleTaskName: String = ""
3031
override var classesFolders: Set<File> = emptySet()
@@ -34,4 +35,5 @@ class DefaultJavaArtifact : JavaArtifact, Serializable {
3435
override var mockablePlatformJar: File? = null
3536
override var runtimeResourceFolder: File? = null
3637
override val generatedClassPaths: Map<String, File> = emptyMap()
38+
override val bytecodeTransformations: Collection<BytecodeTransformation> = emptyList()
3739
}

subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultModelSyncFile.kt

Lines changed: 0 additions & 32 deletions
This file was deleted.

subprojects/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariant.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,5 @@ class DefaultVariant : Variant, Serializable {
3232
override var testFixturesArtifact: DefaultAndroidArtifact? = null
3333
override var testedTargetVariant: DefaultTestedTargetVariant? = null
3434
override var unitTestArtifact: DefaultJavaArtifact? = null
35+
override val runTestInSeparateProcess: Boolean = false
3536
}

subprojects/projects/src/main/java/com/itsaky/androidide/projects/api/AndroidModule.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import com.android.builder.model.v2.ide.ProjectType
2727
import com.itsaky.androidide.builder.model.DefaultAndroidGradlePluginProjectFlags
2828
import com.itsaky.androidide.builder.model.DefaultJavaCompileOptions
2929
import com.itsaky.androidide.builder.model.DefaultLibrary
30-
import com.itsaky.androidide.builder.model.DefaultModelSyncFile
3130
import com.itsaky.androidide.builder.model.DefaultSourceSetContainer
3231
import com.itsaky.androidide.builder.model.DefaultViewBindingOptions
3332
import com.itsaky.androidide.builder.model.UNKNOWN_PACKAGE
@@ -107,7 +106,6 @@ open class AndroidModule( // Class must be open because BaseXMLTest mocks this..
107106
val libraries: Set<String>,
108107
val libraryMap: Map<String, DefaultLibrary>,
109108
val lintCheckJars: List<File>,
110-
val modelSyncFiles: List<DefaultModelSyncFile>,
111109
val variants: List<BasicAndroidVariantMetadata> = listOf(),
112110
val configuredVariant: BasicAndroidVariantMetadata?,
113111
val classesJar: File?

subprojects/projects/src/main/java/com/itsaky/androidide/projects/util/ProjectTransformer.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ class ProjectTransformer {
112112
libraries = libraryMap.keys,
113113
libraryMap = libraryMap,
114114
lintCheckJars = project.getLintCheckJars().get(),
115-
modelSyncFiles = project.getModelSyncFiles().get(),
116115
variants = variants,
117116
configuredVariant = variants.find { it.name == configuredVariant },
118117
classesJar = metadata.classesJar

subprojects/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/internal/AndroidProjectImpl.kt

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,8 @@ import com.android.builder.model.v2.models.BasicAndroidProject
2929
import com.android.builder.model.v2.models.VariantDependencies
3030
import com.android.builder.model.v2.models.Versions
3131
import com.itsaky.androidide.builder.model.DefaultLibrary
32-
import com.itsaky.androidide.builder.model.DefaultModelSyncFile
33-
import com.itsaky.androidide.builder.model.DefaultSourceProvider
3432
import com.itsaky.androidide.builder.model.DefaultSourceSetContainer
3533
import com.itsaky.androidide.builder.model.DefaultViewBindingOptions
36-
import com.itsaky.androidide.builder.model.UNKNOWN_PACKAGE
3734
import com.itsaky.androidide.tooling.api.IAndroidProject
3835
import com.itsaky.androidide.tooling.api.models.AndroidArtifactMetadata
3936
import com.itsaky.androidide.tooling.api.models.AndroidProjectMetadata
@@ -43,7 +40,6 @@ import com.itsaky.androidide.tooling.api.models.ProjectMetadata
4340
import com.itsaky.androidide.tooling.api.models.params.StringParameter
4441
import com.itsaky.androidide.tooling.api.util.AndroidModulePropertyCopier
4542
import com.itsaky.androidide.tooling.api.util.AndroidModulePropertyCopier.copy
46-
import com.itsaky.androidide.tooling.api.util.extractPackageName
4743
import com.itsaky.androidide.utils.AndroidPluginVersion
4844
import com.itsaky.androidide.utils.capitalizeString
4945
import org.gradle.tooling.model.GradleProject
@@ -146,17 +142,6 @@ internal class AndroidProjectImpl(
146142
return CompletableFuture.supplyAsync { androidProject.lintChecksJars }
147143
}
148144

149-
override fun getModelSyncFiles(): CompletableFuture<List<DefaultModelSyncFile>> {
150-
return CompletableFuture.supplyAsync {
151-
152-
// model sync files available only in v7.3.0 and later
153-
return@supplyAsync if (AndroidPluginVersion.parse(versions.agp) >= AndroidPluginVersion(7, 3,
154-
0)
155-
) copy(androidProject.modelSyncFiles)
156-
else emptyList()
157-
}
158-
}
159-
160145
private fun getClassesJar(): File {
161146
// TODO(itsaky): this should handle product flavors as well
162147
return File(gradleProject.buildDirectory,

subprojects/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/internal/forwarding/ForwardingProject.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
package com.itsaky.androidide.tooling.impl.internal.forwarding
1919

2020
import com.itsaky.androidide.builder.model.DefaultLibrary
21-
import com.itsaky.androidide.builder.model.DefaultModelSyncFile
2221
import com.itsaky.androidide.builder.model.DefaultSourceSetContainer
2322
import com.itsaky.androidide.tooling.api.IAndroidProject
2423
import com.itsaky.androidide.tooling.api.IGradleProject
@@ -93,11 +92,6 @@ internal class ForwardingProject(var project: IGradleProject? = null) : IGradleP
9392
UnsupportedOperationException())
9493
}
9594

96-
override fun getModelSyncFiles(): CompletableFuture<List<DefaultModelSyncFile>> {
97-
return this.androidProject?.getModelSyncFiles() ?: CompletableFuture.failedFuture(
98-
UnsupportedOperationException())
99-
}
100-
10195
override fun getClasspaths(): CompletableFuture<List<File>> {
10296
return this.javaProject?.getClasspaths() ?: CompletableFuture.failedFuture(
10397
UnsupportedOperationException())

subprojects/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/IAndroidProject.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
package com.itsaky.androidide.tooling.api
1919

2020
import com.itsaky.androidide.builder.model.DefaultLibrary
21-
import com.itsaky.androidide.builder.model.DefaultModelSyncFile
2221
import com.itsaky.androidide.builder.model.DefaultSourceSetContainer
2322
import com.itsaky.androidide.tooling.api.models.AndroidVariantMetadata
2423
import com.itsaky.androidide.tooling.api.models.BasicAndroidVariantMetadata
@@ -83,13 +82,6 @@ interface IAndroidProject : IModuleProject {
8382
@JsonRequest
8483
fun getLintCheckJars(): CompletableFuture<List<File>>
8584

86-
/**
87-
* Get the list of [DefaultModelSyncFile]s for this project.
88-
* See [ModelSyncFile][com.android.builder.model.v2.ModelSyncFile] for more details.
89-
*/
90-
@JsonRequest
91-
fun getModelSyncFiles(): CompletableFuture<List<DefaultModelSyncFile>>
92-
9385
@Suppress("unused")
9486
companion object {
9587

0 commit comments

Comments
 (0)