2

Am trying to use composite builds with Gradle's Kotlin DSL with includeBuild. Am facing an issue when I apply the DexGuard Plugin to my application script after loading it from the remote maven repository but am getting an issue with it.

buildscript {
    
repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.guardsquare:dexguard-gradle-plugin:${version}")
    }
}

Here's my implementation of the Plugin.

// includeBuild("buildUtils/configuration")
class KotlinAndroidApplicationConfiguration : Plugin<Project> {

    override fun apply(target: Project) {
        target.plugins.apply(Dependencies.Plugins.Android.application)
        target.plugins.apply(Dependencies.Plugins.Kotlin.android)
        target.plugins.apply(Dependencies.Plugins.benchmarkPlugin)

        // Custom Plugins in Base Module
        ...
        target.plugins.apply(Dependencies.Plugins.dexguardPlugin)
        target.plugins.apply("dependencies")
        ...
}

Here's the error am getting:

FAILURE: Build failed with an exception.

* What went wrong:
com/android/build/gradle/AppExtension
> com.android.build.gradle.AppExtension

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
java.lang.NoClassDefFoundError: com/android/build/gradle/AppExtension
    at com.guardsquare.dexguard.gradle.DexGuardPlugin.apply(DexGuardPlugin.kt:47)
    at com.guardsquare.dexguard.gradle.DexGuardPlugin.apply(DexGuardPlugin.kt:27)
    at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:43)
    at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:51)
    at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:177)
    at org.gradle.api.internal.plugins.DefaultPluginManager.access$100(DefaultPluginManager.java:51)
    at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:272)

...

Caused by: java.lang.ClassNotFoundException: com.android.build.gradle.AppExtension
    ... 195 more


* Get more help at https://help.gradle.org

BUILD FAILED in 8s

Anyone who knows a way a round this?

Ganesh MB
  • 1,109
  • 2
  • 14
  • 27
  • May be this helps https://discuss.gradle.org/t/issue-in-a-custom-plugin-with-plugins-dsl-and-android-plugin-dependency/29123 – nantitv Jun 22 '21 at 16:01

0 Answers0