diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy index c2eaf5b1e8d..e67f7ea141b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy @@ -105,13 +105,13 @@ class AndroidGradleWrapper { } static def List getGeneratedSourceDirs(BaseVariantData variantData) { + def result = new ArrayList() + def getJavaSourcesMethod = variantData.getMetaClass().getMetaMethod("getJavaSources") if (getJavaSourcesMethod.returnType.metaClass == Object[].metaClass) { - return variantData.getJavaSources().findAll { it instanceof File } + result.addAll(variantData.getJavaSources().findAll { it instanceof File }) } else { - def result = new ArrayList() - if (variantData.scope.getGenerateRClassTask() != null) { result.add(variantData.scope.getRClassSourceOutputDir()); } @@ -132,8 +132,16 @@ class AndroidGradleWrapper { && variantData.scope.getRenderscriptCompileTask() != null) { result.add(variantData.scope.getRenderscriptSourceOutputDir()); } - - return result } + + def getExtraSourcesMethod = variantData.getMetaClass().getMetaMethod("getExtraGeneratedSourceFolders") + if (getExtraSourcesMethod.returnType.metaClass == List.metaClass) { + def folders = variantData.getExtraGeneratedSourceFolders() + if (folders != null) { + result.addAll(folders) + } + } + + return result } }