From 0d6ec35f7f968f04308496b891d7389bf2c0c708 Mon Sep 17 00:00:00 2001 From: Jake Wharton Date: Thu, 11 Feb 2016 11:56:53 -0500 Subject: [PATCH] Include source folders from registered source-generating tasks. This includes the output directories from tasks which generate Java code which were registered with registerJavaGeneratingTask(). --- .../plugin/android/AndroidGradleWrapper.groovy | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) 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 } }