mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Gradle: test added for additional sources set output folders resolving as transitive dependencies (IDEA-202346)
This commit is contained in:
+53
@@ -605,6 +605,59 @@ public class GradleDependenciesImportingTest extends GradleImportingTestCase {
|
||||
assertModuleLibDepScope("project.projectC.main", depName, DependencyScope.RUNTIME);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSourceSetOutputDirsAsDependenciesOfDependantModules() throws Exception {
|
||||
createSettingsFile("include 'projectA', 'projectB', 'projectC' ");
|
||||
importProject(
|
||||
"subprojects { \n" +
|
||||
" apply plugin: \"java\" \n" +
|
||||
"}\n" +
|
||||
"project(':projectA') {\n" +
|
||||
" sourceSets.main.output.dir file('/generated/projectA')\n" +
|
||||
"}\n" +
|
||||
"project(':projectB') {\n" +
|
||||
" sourceSets.main.output.dir file('/generated/projectB')\n" +
|
||||
" dependencies {\n" +
|
||||
" implementation project(':projectA')\n" +
|
||||
" }\n" +
|
||||
"}\n" +
|
||||
"project(':projectC') {\n" +
|
||||
" dependencies {\n" +
|
||||
" implementation project(':projectB')\n" +
|
||||
" }\n" +
|
||||
"}"
|
||||
);
|
||||
|
||||
assertModules("project",
|
||||
"project.projectA", "project.projectA.main", "project.projectA.test",
|
||||
"project.projectB", "project.projectB.main", "project.projectB.test",
|
||||
"project.projectC", "project.projectC.main", "project.projectC.test");
|
||||
|
||||
assertModuleModuleDepScope("project.projectB.main", "project.projectA.main", DependencyScope.COMPILE);
|
||||
assertModuleModuleDepScope("project.projectC.main", "project.projectA.main", DependencyScope.RUNTIME);
|
||||
assertModuleModuleDepScope("project.projectC.main", "project.projectB.main", DependencyScope.COMPILE);
|
||||
|
||||
final String pathA = "/generated/projectA";
|
||||
final String classesPathA = "file://" + pathA;
|
||||
final String depNameA = PathUtil.toPresentableUrl(pathA);
|
||||
final String pathB = "/generated/projectB";
|
||||
final String classesPathB = "file://" + pathB;
|
||||
final String depNameB = PathUtil.toPresentableUrl(pathB);
|
||||
|
||||
assertModuleLibDep("project.projectA.main", depNameA, classesPathA);
|
||||
assertModuleLibDepScope("project.projectA.main", depNameA, DependencyScope.RUNTIME);
|
||||
|
||||
assertModuleLibDep("project.projectB.main", depNameA, classesPathA);
|
||||
assertModuleLibDepScope("project.projectB.main", depNameA, DependencyScope.COMPILE);
|
||||
assertModuleLibDep("project.projectB.main", depNameB, classesPathB);
|
||||
assertModuleLibDepScope("project.projectB.main", depNameB, DependencyScope.RUNTIME);
|
||||
|
||||
assertModuleLibDep("project.projectC.main", depNameA, classesPathA);
|
||||
assertModuleLibDepScope("project.projectC.main", depNameA, DependencyScope.RUNTIME);
|
||||
assertModuleLibDep("project.projectC.main", depNameB, classesPathB);
|
||||
assertModuleLibDepScope("project.projectC.main", depNameB, DependencyScope.COMPILE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProjectArtifactDependencyInTestAndArchivesConfigurations() throws Exception {
|
||||
createSettingsFile("include 'api', 'impl' ");
|
||||
|
||||
Reference in New Issue
Block a user