diff options
Diffstat (limited to 'plugins/gradle/src/org/jetbrains/plugins')
3 files changed, 25 insertions, 15 deletions
diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/GradleOrderEnumeratorHandler.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/GradleOrderEnumeratorHandler.java index 113e49a61a25..28de6f8861d7 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/GradleOrderEnumeratorHandler.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/GradleOrderEnumeratorHandler.java @@ -107,6 +107,8 @@ public class GradleOrderEnumeratorHandler extends OrderEnumerationHandler { final ExternalSourceDirectorySet directorySet = externalSourceSet.getSources().get(sourceType); if (directorySet == null) return; + if (directorySet.isCompilerOutputPathInherited()) return; + result.add(VfsUtilCore.pathToUrl(directorySet.getOutputDir().getAbsolutePath())); } } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.java index 07521be885d8..b363eb8b3395 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.java @@ -360,7 +360,7 @@ public class GradleInstallationManager { filesInfo.setLength(filesInfo.length() - 1); } GradleLog.LOG.info(String.format( - "Gradle sdk check fails. Reason: no one of the given files matches gradle jar pattern (%s). Files: %s", + "Gradle sdk check fails. Reason: no one of the given files matches gradle JAR pattern (%s). Files: %s", GRADLE_JAR_FILE_PATTERN.toString(), filesInfo )); } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java index ad7ade6a3c58..ac858e56f634 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/BaseGradleProjectResolverExtension.java @@ -230,8 +230,8 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver File sourceCompileOutputPath = null; File testCompileOutputPath = null; - File resourceCompileOutputPath; - File testResourceCompileOutputPath; + File resourceCompileOutputPath = null; + File testResourceCompileOutputPath = null; boolean inheritOutputDirs = false; ModuleData moduleData = ideModule.getData(); @@ -244,21 +244,22 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver ExternalProject externalProject = resolverCtx.getExtraProject(gradleModule, ExternalProject.class); if (externalProject != null) { externalProject = new DefaultExternalProject(externalProject); - } - if (!inheritOutputDirs && (sourceCompileOutputPath == null || testCompileOutputPath == null)) { - sourceCompileOutputPath = getCompileOutputPath(externalProject, MAIN_SOURCE_SET, ExternalSystemSourceType.SOURCE); - resourceCompileOutputPath = getCompileOutputPath(externalProject, MAIN_SOURCE_SET, ExternalSystemSourceType.RESOURCE); - testCompileOutputPath = getCompileOutputPath(externalProject, TEST_SOURCE_SET, ExternalSystemSourceType.TEST); - testResourceCompileOutputPath = getCompileOutputPath(externalProject, TEST_SOURCE_SET, ExternalSystemSourceType.TEST_RESOURCE); - } - else { - resourceCompileOutputPath = sourceCompileOutputPath; - testResourceCompileOutputPath = testCompileOutputPath; - - if (externalProject != null) { + if (!inheritOutputDirs && (sourceCompileOutputPath == null || testCompileOutputPath == null)) { + sourceCompileOutputPath = getCompileOutputPath(externalProject, MAIN_SOURCE_SET, ExternalSystemSourceType.SOURCE); + resourceCompileOutputPath = getCompileOutputPath(externalProject, MAIN_SOURCE_SET, ExternalSystemSourceType.RESOURCE); + testCompileOutputPath = getCompileOutputPath(externalProject, TEST_SOURCE_SET, ExternalSystemSourceType.TEST); + testResourceCompileOutputPath = getCompileOutputPath(externalProject, TEST_SOURCE_SET, ExternalSystemSourceType.TEST_RESOURCE); + } + else if (!inheritOutputDirs) { + resourceCompileOutputPath = sourceCompileOutputPath; + testResourceCompileOutputPath = testCompileOutputPath; final ExternalSourceSet mainSourceSet = externalProject.getSourceSets().get(MAIN_SOURCE_SET); if (mainSourceSet != null) { + final ExternalSourceDirectorySet sourceDirectories = mainSourceSet.getSources().get(ExternalSystemSourceType.SOURCE); + if (sourceDirectories instanceof DefaultExternalSourceDirectorySet) { + ((DefaultExternalSourceDirectorySet)sourceDirectories).setOutputDir(sourceCompileOutputPath); + } final ExternalSourceDirectorySet resourceDirectories = mainSourceSet.getSources().get(ExternalSystemSourceType.RESOURCE); if (resourceDirectories instanceof DefaultExternalSourceDirectorySet) { ((DefaultExternalSourceDirectorySet)resourceDirectories).setOutputDir(sourceCompileOutputPath); @@ -266,6 +267,10 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver } final ExternalSourceSet testSourceSet = externalProject.getSourceSets().get(TEST_SOURCE_SET); if (testSourceSet != null) { + final ExternalSourceDirectorySet testDirectories = testSourceSet.getSources().get(ExternalSystemSourceType.TEST); + if (testDirectories instanceof DefaultExternalSourceDirectorySet) { + ((DefaultExternalSourceDirectorySet)testDirectories).setOutputDir(testCompileOutputPath); + } final ExternalSourceDirectorySet testResourceDirectories = testSourceSet.getSources().get(ExternalSystemSourceType.TEST_RESOURCE); if (testResourceDirectories instanceof DefaultExternalSourceDirectorySet) { ((DefaultExternalSourceDirectorySet)testResourceDirectories).setOutputDir(testCompileOutputPath); @@ -277,6 +282,9 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver projectDataNode.createOrReplaceChild(ExternalProjectDataService.KEY, externalProject); } } + else { + LOG.warn(String.format("Unable to get ExternalProject model for '%s'", gradleModule.getName())); + } if (sourceCompileOutputPath != null) { moduleData.setCompileOutputPath(ExternalSystemSourceType.SOURCE, sourceCompileOutputPath.getAbsolutePath()); |