AndroidStudioAndRobolectric icon indicating copy to clipboard operation
AndroidStudioAndRobolectric copied to clipboard

Gradle DSL method not found: 'execute()'. Any solution?

Open lalitkhandal opened this issue 6 years ago • 0 comments

FAILURE: Build failed with an exception.

Where: Script '/Users/la20073037/AndroidStudioProjects/Telstra_24x7/telstra-24x7-android/app/buildscripts/copy_test_resources.gradle' line: 32

What went wrong: Could not find method execute() for arguments [] on task ':app:copyTestSqiObfuscatedReleaseResources' of type org.gradle.api.tasks.Copy.

Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

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

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings

Code:

gradle.projectsEvaluated { // Base path which is recognized by android studio. def testClassesPath = "${buildDir}/intermediates/classes/test/" // Copy must be done for each variant. def variants = android.applicationVariants.collect()

variants.each { variant ->
    def variationName = variant.name.capitalize()

    // Get the flavor and also merge flavor groups.
    def productFlavorNames = variant.productFlavors.collect { it.name.capitalize() }
    if (productFlavorNames.isEmpty()) {
        productFlavorNames = [""]
    }
    productFlavorNames = productFlavorNames.join('')

    // Base path addition for this specific variant.
    def variationPath = variant.buildType.name;
    if (productFlavorNames != null && !productFlavorNames.isEmpty()) {
        variationPath = uncapitalize(productFlavorNames) + "/${variationPath}"
    }

    // Specific copy task for each variant
    def copyTestResourcesTask = project.tasks.create("copyTest${variationName}Resources", Copy)
    copyTestResourcesTask.from("${projectDir}/src/test/resources")
    copyTestResourcesTask.into("${testClassesPath}/${variationPath}")
    copyTestResourcesTask.execute()
}

}

def uncapitalize(String str) { int strLen; if (str == null || (strLen = str.length()) == 0) { return str; } return new StringBuffer(strLen) .append(Character.toLowerCase(str.charAt(0))) .append(str.substring(1)) .toString(); }

lalitkhandal avatar May 27 '19 09:05 lalitkhandal