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 154290f323d0..b1303fd0e03c 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 @@ -942,7 +942,12 @@ public class BaseGradleProjectResolverExtension implements GradleProjectResolver if (moduleVersion == null) { if (binaryPath.isFile()) { - boolean isModuleLocalLibrary = FileUtil.isAncestor(gradleModule.getGradleProject().getProjectDirectory(), binaryPath, false); + boolean isModuleLocalLibrary = false; + try { + isModuleLocalLibrary = FileUtil.isAncestor(gradleModule.getGradleProject().getProjectDirectory(), binaryPath, false); + } catch (UnsupportedMethodException e) { + // ignore, generate project-level library for the dependency + } if (isModuleLocalLibrary) { level = LibraryLevel.MODULE; } else { diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleDependenciesImportingTest.java b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleDependenciesImportingTest.java index 84f76d0230ea..1225be4b127b 100644 --- a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleDependenciesImportingTest.java +++ b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleDependenciesImportingTest.java @@ -412,14 +412,15 @@ public class GradleDependenciesImportingTest extends GradleImportingTestCase { assertModules("project", "p1", "p2"); final List moduleLibDepsP1 = getModuleLibDeps("p1", "Gradle: dep"); + final boolean isGradleNewerThen_2_4 = GradleVersion.version(gradleVersion).getBaseVersion().compareTo(GradleVersion.version("2.4")) > 0; for (LibraryOrderEntry libDep : moduleLibDepsP1) { - assertTrue("Dependency be project level: " + libDep.toString(), libDep.isModuleLevel()); + assertEquals("Dependency must be " + (isGradleNewerThen_2_4 ? "module" : "project") + " level: " + libDep.toString(), isGradleNewerThen_2_4, libDep.isModuleLevel()); assertEquals("Wrong library dependency", depP1Jar.getUrl(), libDep.getLibrary().getUrls(OrderRootType.CLASSES)[0]); } final List moduleLibDepsP2 = getModuleLibDeps("p2", "Gradle: dep"); for (LibraryOrderEntry libDep : moduleLibDepsP2) { - assertTrue("Dependency be project level: " + libDep.toString(), libDep.isModuleLevel()); + assertEquals("Dependency must be " + (isGradleNewerThen_2_4 ? "module" : "project") + " level: " + libDep.toString(), isGradleNewerThen_2_4, libDep.isModuleLevel()); assertEquals("Wrong library dependency", depP2Jar.getUrl(), libDep.getLibrary().getUrls(OrderRootType.CLASSES)[0]); } }