diff --git a/libraries/tools/kotlin-gradle-plugin/build.gradle b/libraries/tools/kotlin-gradle-plugin/build.gradle index c102519fde6..b405c7aa206 100644 --- a/libraries/tools/kotlin-gradle-plugin/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin/build.gradle @@ -57,14 +57,17 @@ dependencies { runtime project(path: ':kotlin-compiler-runner', configuration: 'runtimeJar') runtime project(':kotlin-reflect') - agp25CompileOnly 'com.android.tools.build:gradle:3.0.0-alpha1' + // com.android.tools.build:gradle has ~50 unneeded transitive dependencies + agp25CompileOnly('com.android.tools.build:gradle:3.0.0-alpha1') { transitive = false } + agp25CompileOnly('com.android.tools.build:gradle-core:3.0.0-alpha1') { transitive = false } + agp25CompileOnly('com.android.tools.build:builder-model:3.0.0-alpha1') { transitive = false } agp25CompileOnly 'org.codehaus.groovy:groovy-all:2.4.12' agp25CompileOnly gradleApi() agp25CompileOnly project(':kotlin-annotation-processing') agp25CompileOnly project(':kotlin-annotation-processing-gradle') testCompileOnly project(':compiler') - testCompile project (path: ':kotlin-build-common', configuration: 'tests-jar') + testCompile project(path: ':kotlin-build-common', configuration: 'tests-jar') testCompile project(':kotlin-android-extensions') testCompile project(':kotlin-compiler-runner') testCompile project(':kotlin-test::kotlin-test-junit') diff --git a/libraries/tools/kotlin-gradle-plugin/src/agp25/kotlin/org/jetbrains/kotlin/gradle/plugin/android/Android25ProjectHandler.kt b/libraries/tools/kotlin-gradle-plugin/src/agp25/kotlin/org/jetbrains/kotlin/gradle/plugin/android/Android25ProjectHandler.kt index afe2566b854..8c285253e59 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/agp25/kotlin/org/jetbrains/kotlin/gradle/plugin/android/Android25ProjectHandler.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/agp25/kotlin/org/jetbrains/kotlin/gradle/plugin/android/Android25ProjectHandler.kt @@ -7,9 +7,7 @@ import com.android.builder.model.SourceProvider import org.gradle.api.Project import org.gradle.api.file.FileCollection import org.gradle.api.tasks.compile.AbstractCompile -import com.intellij.util.ReflectionUtil import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin -import org.jetbrains.kotlin.gradle.internal.Kapt3KotlinGradleSubplugin import org.jetbrains.kotlin.gradle.internal.KaptTask import org.jetbrains.kotlin.gradle.internal.KaptVariantData import org.jetbrains.kotlin.gradle.plugin.android.AndroidGradleWrapper @@ -169,9 +167,10 @@ class Android25ProjectHandler(kotlinConfigurationTools: KotlinConfigurationTools //TODO once the Android plugin reaches its 3.0.0 release, consider compiling against it (remove the reflective call) private val BaseVariant.dataBindingDependencyArtifactsIfSupported: FileCollection? - get() = ReflectionUtil.findMethod( - this::class.java.methods.toList(), - "getDataBindingDependencyArtifacts")?.invoke(this) as? FileCollection + get() = this::class.java.methods + .find { it.name == "getDataBindingDependencyArtifacts" } + ?.also { it.isAccessible = true } + ?.invoke(this) as? FileCollection override fun wrapVariantDataForKapt(variantData: BaseVariant): KaptVariantData = KaptVariant(variantData)