Refactoring: simplify source roots search

This commit is contained in:
Alexey Tsvetkov
2016-07-25 16:25:22 +03:00
parent b13e1b451d
commit 7fe29a7e55
2 changed files with 37 additions and 44 deletions
@@ -103,8 +103,15 @@ class AndroidGradleWrapper {
}
static def List<File> getJavaSources(BaseVariantData variantData) {
def result = new ArrayList<File>()
def result = new LinkedHashSet<File>()
// user sources
List<SourceProvider> providers = variantData.variantConfiguration.getSortedSourceProviders();
for (SourceProvider provider : providers) {
result.addAll((provider as AndroidSourceSet).getJava().getSrcDirs());
}
// generated sources
def getJavaSourcesMethod = variantData.getMetaClass().getMetaMethod("getJavaSources")
if (getJavaSourcesMethod.returnType.metaClass == Object[].metaClass) {
result.addAll(variantData.getJavaSources().findAll { it instanceof File })
@@ -114,12 +121,6 @@ class AndroidGradleWrapper {
result.addAll(fileTrees.collect { it.getDir() })
}
else {
// Old impl copied from android tools source. Delete?
List<SourceProvider> providers = variantData.variantConfiguration.getSortedSourceProviders();
for (SourceProvider provider : providers) {
result.addAll((provider as AndroidSourceSet).getJava().getSourceDirectoryTrees());
}
if (variantData.scope.getGenerateRClassTask() != null) {
result.add(variantData.scope.getRClassSourceOutputDir());
}
@@ -150,6 +151,6 @@ class AndroidGradleWrapper {
}
}
return result
return result.toList()
}
}