Gradle: integration test for v4.5.1

This commit is contained in:
Vladislav.Soroka
2018-02-17 08:34:05 +03:00
parent c6161ab80e
commit 243910d741
5 changed files with 66 additions and 40 deletions
@@ -22,7 +22,7 @@ import com.intellij.openapi.module.StdModuleTypes;
import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions;
import org.junit.Test;
import static com.intellij.openapi.roots.DependencyScope.*;
import static com.intellij.openapi.roots.DependencyScope.COMPILE;
/**
* @author Vladislav.Soroka
@@ -135,7 +135,7 @@ public class GradleCompositeImportingTest extends GradleImportingTestCase {
"runtime",
"runtime-mod");
assertModuleModuleDepScope("app", "runtime-mod", PROVIDED, TEST, RUNTIME);
assertMergedModuleCompileModuleDepScope("app", "runtime-mod");
}
@@ -177,9 +177,9 @@ public class GradleCompositeImportingTest extends GradleImportingTestCase {
"lib1", "lib1-runtime",
"lib2", "lib2-runtime");
assertModuleModuleDepScope("app", "app-runtime", PROVIDED, TEST, RUNTIME);
assertModuleModuleDepScope("app", "lib1-runtime", PROVIDED, TEST, RUNTIME);
assertModuleModuleDepScope("app", "lib2-runtime", PROVIDED, TEST, RUNTIME);
assertMergedModuleCompileModuleDepScope("app", "app-runtime");
assertMergedModuleCompileModuleDepScope("app", "lib1-runtime");
assertMergedModuleCompileModuleDepScope("app", "lib2-runtime");
}
@@ -467,7 +467,7 @@ public class GradleDependenciesImportingTest extends GradleImportingTestCase {
assertMergedModuleCompileLibDepScope("project", "Gradle: unresolvable-lib-0.1:1");
unresolvableDep = getModuleLibDeps("project", "Gradle: unresolvable-lib-0.1:1");
if (isGradleOlderThen_3_4()) {
if (isGradleOlderThen_3_4() || isGradleNewerThen_4_5()) {
assertEquals(1, unresolvableDep.size());
unresolvableEntry = unresolvableDep.iterator().next();
assertTrue(unresolvableEntry.isModuleLevel());
@@ -638,10 +638,18 @@ public class GradleDependenciesImportingTest extends GradleImportingTestCase {
assertModuleModuleDepScope("project-tests", "project2", DependencyScope.RUNTIME, DependencyScope.TEST);
}
if(GradleVersion.version(gradleVersion).compareTo(GradleVersion.version("2.0")) > 0) {
assertModuleLibDepScope("project-tests", "Gradle: org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.0",
gradleOlderThen_3_4 ? ar(DependencyScope.COMPILE) : ar(DependencyScope.PROVIDED, DependencyScope.TEST));
assertModuleLibDepScope("project-tests", "Gradle: org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1.1",
gradleOlderThen_3_4 ? ar(DependencyScope.RUNTIME) : ar(DependencyScope.RUNTIME, DependencyScope.TEST));
if (isGradleNewerThen_4_5()) {
assertModuleLibDepScope("project-tests", "Gradle: org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.0",
ar(DependencyScope.PROVIDED));
assertModuleLibDepScope("project-tests", "Gradle: org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1.1",
ar(DependencyScope.RUNTIME, DependencyScope.TEST));
}
else {
assertModuleLibDepScope("project-tests", "Gradle: org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.0",
gradleOlderThen_3_4 ? ar(DependencyScope.COMPILE) : ar(DependencyScope.PROVIDED, DependencyScope.TEST));
assertModuleLibDepScope("project-tests", "Gradle: org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1.1",
gradleOlderThen_3_4 ? ar(DependencyScope.RUNTIME) : ar(DependencyScope.RUNTIME, DependencyScope.TEST));
}
}
}
@@ -679,7 +687,15 @@ public class GradleDependenciesImportingTest extends GradleImportingTestCase {
importProjectUsingSingeModulePerGradleProject();
assertModules("project", "project1", "project2");
assertMergedModuleCompileModuleDepScope("project2", "project1");
if (isGradleNewerThen_4_5()) {
assertModuleModuleDepScope("project2", "project1");
}
else if (isGradleOlderThen_3_4()) {
assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE);
}
else {
assertModuleModuleDepScope("project2", "project1", DependencyScope.PROVIDED, DependencyScope.TEST, DependencyScope.RUNTIME);
}
if(GradleVersion.version(gradleVersion).compareTo(GradleVersion.version("2.0")) > 0) {
assertMergedModuleCompileLibDepScope("project2", "Gradle: org.hamcrest:hamcrest-core:1.3");
assertMergedModuleCompileLibDepScope("project2", "Gradle: junit:junit:4.11");
@@ -1041,7 +1057,10 @@ public class GradleDependenciesImportingTest extends GradleImportingTestCase {
importProjectUsingSingeModulePerGradleProject();
assertModules("project");
if (isGradleOlderThen_3_4()) {
if (isGradleNewerThen_4_5()) {
assertModuleLibDepScope("project", "Gradle: org.hamcrest:hamcrest-core:1.3", DependencyScope.COMPILE);
}
else if (isGradleOlderThen_3_4()) {
assertModuleLibDepScope("project", "Gradle: org.hamcrest:hamcrest-core:1.3", DependencyScope.PROVIDED, DependencyScope.RUNTIME);
} else {
assertModuleLibDepScope("project", "Gradle: org.hamcrest:hamcrest-core:1.3", DependencyScope.TEST, DependencyScope.PROVIDED, DependencyScope.RUNTIME);
@@ -1155,6 +1174,9 @@ public class GradleDependenciesImportingTest extends GradleImportingTestCase {
if (isGradleOlderThen_3_4()) {
assertModuleLibDepScope("project", "Gradle: org.hamcrest:hamcrest-core:1.3", DependencyScope.PROVIDED, DependencyScope.RUNTIME);
}
else if (isGradleNewerThen_4_5()) {
assertModuleLibDepScope("project", "Gradle: org.hamcrest:hamcrest-core:1.3", DependencyScope.COMPILE);
}
else {
assertModuleLibDepScope("project", "Gradle: org.hamcrest:hamcrest-core:1.3", DependencyScope.PROVIDED, DependencyScope.RUNTIME,
DependencyScope.TEST);
@@ -1262,10 +1284,10 @@ public class GradleDependenciesImportingTest extends GradleImportingTestCase {
" </configurations>\n" +
" <publications>\n" +
" <artifact name=\"depArtifact\" type=\"jar\" ext=\"jar\" conf=\"compile\"/>\n" +
" <artifact name=\"depArtifact-api\" type=\"javadoc\" ext=\"jar\" conf=\"javadoc\" m:classifier=\"javadoc\"/>\n" +
" <artifact name=\"depArtifact-api\" type=\"source\" ext=\"jar\" conf=\"sources\" m:classifier=\"sources\"/>\n" +
" <artifact name=\"depArtifact\" type=\"source\" ext=\"jar\" conf=\"sources\" m:classifier=\"sources\"/>\n" +
" <artifact name=\"depArtifact\" type=\"javadoc\" ext=\"jar\" conf=\"javadoc\" m:classifier=\"javadoc\"/>\n" +
" <artifact name=\"depArtifact-api\" type=\"javadoc\" ext=\"jar\" conf=\"javadoc\" m:classifier=\"javadoc\"/>\n" +
" <artifact name=\"depArtifact-api\" type=\"source\" ext=\"jar\" conf=\"sources\" m:classifier=\"sources\"/>\n" +
" </publications>\n" +
" <dependencies/>\n" +
"</ivy-module>\n");
@@ -1309,27 +1331,4 @@ public class GradleDependenciesImportingTest extends GradleImportingTestCase {
}
assertMergedModuleCompileLibDepScope("project", depName);
}
private void assertMergedModuleCompileLibDepScope(String moduleName, String depName) {
if (isGradleOlderThen_3_4()) {
assertModuleLibDepScope(moduleName, depName, DependencyScope.COMPILE);
}
else {
assertModuleLibDepScope(moduleName, depName, DependencyScope.PROVIDED, DependencyScope.TEST, DependencyScope.RUNTIME);
}
}
private void assertMergedModuleCompileModuleDepScope(String moduleName, String depName) {
if (isGradleOlderThen_3_4()) {
assertModuleModuleDepScope(moduleName, depName, DependencyScope.COMPILE);
}
else {
assertModuleModuleDepScope(moduleName, depName, DependencyScope.PROVIDED, DependencyScope.TEST, DependencyScope.RUNTIME);
}
}
private boolean isGradleOlderThen_3_4() {
return GradleVersion.version(gradleVersion).getBaseVersion().compareTo(GradleVersion.version("3.4")) < 0;
}
}
@@ -27,6 +27,7 @@ import com.intellij.openapi.projectRoots.JavaSdk;
import com.intellij.openapi.projectRoots.ProjectJdkTable;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil;
import com.intellij.openapi.roots.DependencyScope;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.ui.TestDialog;
import com.intellij.openapi.util.io.FileUtil;
@@ -148,7 +149,7 @@ public abstract class GradleImportingTestCase extends ExternalSystemImportingTes
}
@Parameterized.Parameters(name = "{index}: with Gradle-{0}")
public static Collection<Object[]> data() throws Throwable {
public static Collection<Object[]> data() {
return Arrays.asList(SUPPORTED_GRADLE_VERSIONS);
}
@@ -276,4 +277,30 @@ public abstract class GradleImportingTestCase extends ExternalSystemImportingTes
private static File wrapperJar() {
return new File(PathUtil.getJarPathForClass(GradleWrapperMain.class));
}
protected void assertMergedModuleCompileLibDepScope(String moduleName, String depName) {
if (isGradleOlderThen_3_4() || isGradleNewerThen_4_5()) {
assertModuleLibDepScope(moduleName, depName, DependencyScope.COMPILE);
}
else {
assertModuleLibDepScope(moduleName, depName, DependencyScope.PROVIDED, DependencyScope.TEST, DependencyScope.RUNTIME);
}
}
protected void assertMergedModuleCompileModuleDepScope(String moduleName, String depName) {
if (isGradleOlderThen_3_4() || isGradleNewerThen_4_5()) {
assertModuleModuleDepScope(moduleName, depName, DependencyScope.COMPILE);
}
else {
assertModuleModuleDepScope(moduleName, depName, DependencyScope.PROVIDED, DependencyScope.TEST, DependencyScope.RUNTIME);
}
}
protected boolean isGradleOlderThen_3_4() {
return GradleVersion.version(gradleVersion).getBaseVersion().compareTo(GradleVersion.version("3.4")) < 0;
}
protected boolean isGradleNewerThen_4_5() {
return GradleVersion.version(gradleVersion).compareTo(GradleVersion.version("4.5")) > 0;
}
}
@@ -67,7 +67,7 @@ public class GradleSettingsImportingTest extends GradleImportingTestCase {
@SuppressWarnings("MethodOverridesStaticMethodOfSuperclass")
@Parameterized.Parameters(name = "with Gradle-{0}")
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][]{{"4.5"}});
return Arrays.asList(new Object[][]{{BASE_GRADLE_VERSION}});
}
@Before
@@ -71,7 +71,7 @@ public abstract class AbstractModelBuilderTest {
// Support for builds using Gradle older than 2.6 was deprecated and will be removed in Gradle 5.0.
{"2.6"}, /*{"2.7"}, {"2.8"},*/ {"2.9"}, /*{"2.10"}, {"2.11"}, {"2.12"}, {"2.13"}, */{"2.14.1"},
{"3.0"}, /*{"3.1"}, {"3.2"}, {"3.3"}, {"3.4"},*/ {"3.5"},
{"4.0"}, /*{"4.1"}, {"4.2"}, {"4.3"},*/ {"4.4"},
{"4.0"}, /*{"4.1"}, {"4.2"}, {"4.3"}, {"4.4"},*/ {"4.5.1"},
};
public static final String BASE_GRADLE_VERSION = String.valueOf(SUPPORTED_GRADLE_VERSIONS[SUPPORTED_GRADLE_VERSIONS.length - 1][0]);