diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/data/ExternalProjectDataService.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/data/ExternalProjectDataService.java index 8f41ea7ea49f..7ad9473f15f9 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/data/ExternalProjectDataService.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/data/ExternalProjectDataService.java @@ -126,13 +126,16 @@ public class ExternalProjectDataService implements ProjectDataService, ExternalProject>, Object>() { - @Override - public Object fun(Map.Entry, ExternalProject> entry) { - return Pair.create(entry.getKey(), entry.getValue().getProjectDir()); - } - })); + LOG.debug("Existing imported projects paths: " + ContainerUtil.map( + myExternalRootProjects.entrySet(), + new Function, ExternalProject>, Object>() { + @Override + public Object fun(Map.Entry, ExternalProject> entry) { + //noinspection ConstantConditions + if (!(entry.getValue() instanceof ExternalProject)) return null; + return Pair.create(entry.getKey(), entry.getValue().getProjectDir()); + } + })); } return externalProject; } diff --git a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/ExternalProjectBuilderImpl.groovy b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/ExternalProjectBuilderImpl.groovy index 096b1e6d8d5b..254acf26e171 100644 --- a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/ExternalProjectBuilderImpl.groovy +++ b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/ExternalProjectBuilderImpl.groovy @@ -133,13 +133,13 @@ class ExternalProjectBuilderImpl implements ModelBuilderService { ExternalSourceDirectorySet resourcesDirectorySet = new DefaultExternalSourceDirectorySet() resourcesDirectorySet.name = sourceSet.resources.name resourcesDirectorySet.srcDirs = sourceSet.resources.srcDirs - resourcesDirectorySet.outputDir = sourceSet.output.resourcesDir + resourcesDirectorySet.outputDir = chooseNotNull(sourceSet.output.resourcesDir, sourceSet.output.classesDir, project.buildDir) resourcesDirectorySet.inheritedCompilerOutput = inheritOutputDirs ExternalSourceDirectorySet javaDirectorySet = new DefaultExternalSourceDirectorySet() javaDirectorySet.name = sourceSet.allJava.name javaDirectorySet.srcDirs = sourceSet.allJava.srcDirs - javaDirectorySet.outputDir = sourceSet.output.classesDir + javaDirectorySet.outputDir = chooseNotNull(sourceSet.output.classesDir, project.buildDir); javaDirectorySet.inheritedCompilerOutput = inheritOutputDirs // javaDirectorySet.excludes = javaExcludes + sourceSet.java.excludes; // javaDirectorySet.includes = javaIncludes + sourceSet.java.includes; @@ -173,6 +173,10 @@ class ExternalProjectBuilderImpl implements ModelBuilderService { result } + static T chooseNotNull(T ... params) { + params.findResult("", { it }) + } + static getFilters(Project project, String taskName) { def includes = [] def excludes = []