Refactor utilities in AbstractKotlinJpsBuildTestCase
Original commit: b988582531
This commit is contained in:
+2
-2
@@ -419,8 +419,8 @@ abstract class AbstractIncrementalJpsTest(
|
|||||||
|
|
||||||
moduleNames = nameToModule.keys
|
moduleNames = nameToModule.keys
|
||||||
}
|
}
|
||||||
AbstractKotlinJpsBuildTestCase.addKotlinRuntimeDependency(myProject)
|
AbstractKotlinJpsBuildTestCase.addKotlinStdlibDependency(myProject)
|
||||||
AbstractKotlinJpsBuildTestCase.addKotlinTestRuntimeDependency(myProject)
|
AbstractKotlinJpsBuildTestCase.addKotlinTestDependency(myProject)
|
||||||
return moduleNames
|
return moduleNames
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+14
-19
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.jps.build;
|
|||||||
|
|
||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jps.builders.JpsBuildTestCase;
|
|
||||||
import org.jetbrains.jps.model.JpsDummyElement;
|
import org.jetbrains.jps.model.JpsDummyElement;
|
||||||
import org.jetbrains.jps.model.JpsModuleRootModificationUtil;
|
import org.jetbrains.jps.model.JpsModuleRootModificationUtil;
|
||||||
import org.jetbrains.jps.model.JpsProject;
|
import org.jetbrains.jps.model.JpsProject;
|
||||||
@@ -65,39 +64,35 @@ public abstract class AbstractKotlinJpsBuildTestCase extends BaseKotlinJpsBuildT
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected JpsLibrary addKotlinMockRuntimeDependency() {
|
protected JpsLibrary addKotlinMockRuntimeDependency() {
|
||||||
return addDependency(JpsJavaDependencyScope.COMPILE, myProject.getModules(), false, "kotlin-mock-runtime", ForTestCompileRuntime.mockRuntimeJarForTests());
|
return addDependency("kotlin-mock-runtime", ForTestCompileRuntime.mockRuntimeJarForTests());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected JpsLibrary addKotlinRuntimeDependency() {
|
protected JpsLibrary addKotlinStdlibDependency() {
|
||||||
return addKotlinRuntimeDependency(myProject);
|
return addKotlinStdlibDependency(myProject);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected JpsLibrary addKotlinJavaScriptStdlibDependency() {
|
protected JpsLibrary addKotlinJavaScriptStdlibDependency() {
|
||||||
return addKotlinJavaScriptStdlibDependency(myProject);
|
return addDependency("KotlinJavaScript", PathUtil.getKotlinPathsForDistDirectory().getJsStdLibJarPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected JpsLibrary addKotlinJavaScriptDependency(String libraryName, File libraryFile) {
|
static JpsLibrary addKotlinStdlibDependency(@NotNull JpsProject project) {
|
||||||
return addDependency(JpsJavaDependencyScope.COMPILE, myProject.getModules(), false, libraryName, libraryFile);
|
return addKotlinStdlibDependency(project.getModules(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
static JpsLibrary addKotlinRuntimeDependency(@NotNull JpsProject project) {
|
static JpsLibrary addKotlinTestDependency(@NotNull JpsProject project) {
|
||||||
return addKotlinRuntimeDependency(JpsJavaDependencyScope.COMPILE, project.getModules(), false);
|
return addDependency(project, "kotlin-test", PathUtil.getKotlinPathsForDistDirectory().getKotlinTestPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
static JpsLibrary addKotlinTestRuntimeDependency(@NotNull JpsProject project) {
|
protected static JpsLibrary addKotlinStdlibDependency(@NotNull Collection<JpsModule> modules, boolean exported) {
|
||||||
return addDependency(JpsJavaDependencyScope.COMPILE, project.getModules(), false, "kotlin-test", PathUtil.getKotlinPathsForDistDirectory().getKotlinTestPath());
|
return addDependency(JpsJavaDependencyScope.COMPILE, modules, exported, "kotlin-stdlib", PathUtil.getKotlinPathsForDistDirectory().getStdlibPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
static JpsLibrary addKotlinJavaScriptStdlibDependency(@NotNull JpsProject project) {
|
protected JpsLibrary addDependency(@NotNull String libraryName, @NotNull File libraryFile) {
|
||||||
return addKotlinJavaScriptStdlibDependency(JpsJavaDependencyScope.COMPILE, project.getModules(), false);
|
return addDependency(myProject, libraryName, libraryFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static JpsLibrary addKotlinRuntimeDependency(JpsJavaDependencyScope type, Collection<JpsModule> modules, boolean exported) {
|
private static JpsLibrary addDependency(@NotNull JpsProject project, @NotNull String libraryName, @NotNull File libraryFile) {
|
||||||
return addDependency(type, modules, exported, "kotlin-runtime", PathUtil.getKotlinPathsForDistDirectory().getRuntimePath());
|
return addDependency(JpsJavaDependencyScope.COMPILE, project.getModules(), false, libraryName, libraryFile);
|
||||||
}
|
|
||||||
|
|
||||||
protected static JpsLibrary addKotlinJavaScriptStdlibDependency(JpsJavaDependencyScope type, Collection<JpsModule> modules, boolean exported) {
|
|
||||||
return addDependency(type, modules, exported, "KotlinJavaScript", PathUtil.getKotlinPathsForDistDirectory().getJsStdLibJarPath());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static JpsLibrary addDependency(JpsJavaDependencyScope type, Collection<JpsModule> modules, boolean exported, String libraryName, File... file) {
|
protected static JpsLibrary addDependency(JpsJavaDependencyScope type, Collection<JpsModule> modules, boolean exported, String libraryName, File... file) {
|
||||||
|
|||||||
+10
-16
@@ -17,7 +17,6 @@
|
|||||||
package org.jetbrains.kotlin.jps.build
|
package org.jetbrains.kotlin.jps.build
|
||||||
|
|
||||||
import com.google.common.collect.Lists
|
import com.google.common.collect.Lists
|
||||||
import com.intellij.openapi.util.Condition
|
|
||||||
import com.intellij.openapi.util.io.FileUtil
|
import com.intellij.openapi.util.io.FileUtil
|
||||||
import com.intellij.openapi.util.io.FileUtil.toSystemIndependentName
|
import com.intellij.openapi.util.io.FileUtil.toSystemIndependentName
|
||||||
import com.intellij.openapi.util.io.FileUtilRt
|
import com.intellij.openapi.util.io.FileUtilRt
|
||||||
@@ -26,7 +25,6 @@ import com.intellij.openapi.vfs.StandardFileSystems
|
|||||||
import com.intellij.testFramework.LightVirtualFile
|
import com.intellij.testFramework.LightVirtualFile
|
||||||
import com.intellij.testFramework.UsefulTestCase
|
import com.intellij.testFramework.UsefulTestCase
|
||||||
import com.intellij.util.ArrayUtil
|
import com.intellij.util.ArrayUtil
|
||||||
import com.intellij.util.containers.ContainerUtil
|
|
||||||
import com.intellij.util.io.URLUtil
|
import com.intellij.util.io.URLUtil
|
||||||
import com.intellij.util.io.ZipUtil
|
import com.intellij.util.io.ZipUtil
|
||||||
import org.jetbrains.jps.ModuleChunk
|
import org.jetbrains.jps.ModuleChunk
|
||||||
@@ -244,7 +242,7 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
|||||||
when (libraryDependency) {
|
when (libraryDependency) {
|
||||||
NONE -> {}
|
NONE -> {}
|
||||||
JVM_MOCK_RUNTIME -> addKotlinMockRuntimeDependency()
|
JVM_MOCK_RUNTIME -> addKotlinMockRuntimeDependency()
|
||||||
JVM_FULL_RUNTIME -> addKotlinRuntimeDependency()
|
JVM_FULL_RUNTIME -> addKotlinStdlibDependency()
|
||||||
JS_STDLIB -> addKotlinJavaScriptStdlibDependency()
|
JS_STDLIB -> addKotlinJavaScriptStdlibDependency()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -262,7 +260,7 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
|||||||
fun doTestWithKotlinJavaScriptLibrary() {
|
fun doTestWithKotlinJavaScriptLibrary() {
|
||||||
initProject(JS_STDLIB)
|
initProject(JS_STDLIB)
|
||||||
createKotlinJavaScriptLibraryArchive()
|
createKotlinJavaScriptLibraryArchive()
|
||||||
addKotlinJavaScriptDependency(KOTLIN_JS_LIBRARY, File(workDir, KOTLIN_JS_LIBRARY_JAR))
|
addDependency(KOTLIN_JS_LIBRARY, File(workDir, KOTLIN_JS_LIBRARY_JAR))
|
||||||
buildAllModules().assertSuccessful()
|
buildAllModules().assertSuccessful()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,7 +324,7 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
|||||||
fun testKotlinJavaScriptProjectWithTwoModulesAndWithLibrary() {
|
fun testKotlinJavaScriptProjectWithTwoModulesAndWithLibrary() {
|
||||||
initProject()
|
initProject()
|
||||||
createKotlinJavaScriptLibraryArchive()
|
createKotlinJavaScriptLibraryArchive()
|
||||||
addKotlinJavaScriptDependency(KOTLIN_JS_LIBRARY, File(workDir, KOTLIN_JS_LIBRARY_JAR))
|
addDependency(KOTLIN_JS_LIBRARY, File(workDir, KOTLIN_JS_LIBRARY_JAR))
|
||||||
addKotlinJavaScriptStdlibDependency()
|
addKotlinJavaScriptStdlibDependency()
|
||||||
buildAllModules().assertSuccessful()
|
buildAllModules().assertSuccessful()
|
||||||
}
|
}
|
||||||
@@ -342,7 +340,7 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
|||||||
throw IllegalStateException(ex.message)
|
throw IllegalStateException(ex.message)
|
||||||
}
|
}
|
||||||
|
|
||||||
addKotlinJavaScriptDependency("KotlinJavaScript", jslibDir)
|
addDependency("KotlinJavaScript", jslibDir)
|
||||||
buildAllModules().assertSuccessful()
|
buildAllModules().assertSuccessful()
|
||||||
|
|
||||||
assertEquals(EXPECTED_JS_FILES_IN_OUTPUT_FOR_STDLIB_ONLY, contentOfOutputDir(PROJECT_NAME))
|
assertEquals(EXPECTED_JS_FILES_IN_OUTPUT_FOR_STDLIB_ONLY, contentOfOutputDir(PROJECT_NAME))
|
||||||
@@ -351,7 +349,7 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
|||||||
|
|
||||||
fun testKotlinJavaScriptProjectWithDirectoryAsLibrary() {
|
fun testKotlinJavaScriptProjectWithDirectoryAsLibrary() {
|
||||||
initProject(JS_STDLIB)
|
initProject(JS_STDLIB)
|
||||||
addKotlinJavaScriptDependency(KOTLIN_JS_LIBRARY, File(workDir, KOTLIN_JS_LIBRARY))
|
addDependency(KOTLIN_JS_LIBRARY, File(workDir, KOTLIN_JS_LIBRARY))
|
||||||
buildAllModules().assertSuccessful()
|
buildAllModules().assertSuccessful()
|
||||||
|
|
||||||
assertEquals(EXPECTED_JS_FILES_IN_OUTPUT_WITH_ADDITIONAL_LIB_AND_DEFAULT_DIR, contentOfOutputDir(PROJECT_NAME))
|
assertEquals(EXPECTED_JS_FILES_IN_OUTPUT_WITH_ADDITIONAL_LIB_AND_DEFAULT_DIR, contentOfOutputDir(PROJECT_NAME))
|
||||||
@@ -382,7 +380,7 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
|||||||
fun testKotlinJavaScriptProjectWithLibraryAndErrors() {
|
fun testKotlinJavaScriptProjectWithLibraryAndErrors() {
|
||||||
initProject(JS_STDLIB)
|
initProject(JS_STDLIB)
|
||||||
createKotlinJavaScriptLibraryArchive()
|
createKotlinJavaScriptLibraryArchive()
|
||||||
addKotlinJavaScriptDependency(KOTLIN_JS_LIBRARY, File(workDir, KOTLIN_JS_LIBRARY_JAR))
|
addDependency(KOTLIN_JS_LIBRARY, File(workDir, KOTLIN_JS_LIBRARY_JAR))
|
||||||
buildAllModules().assertFailed()
|
buildAllModules().assertFailed()
|
||||||
|
|
||||||
assertEquals(Collections.EMPTY_SET, contentOfOutputDir(PROJECT_NAME))
|
assertEquals(Collections.EMPTY_SET, contentOfOutputDir(PROJECT_NAME))
|
||||||
@@ -673,7 +671,7 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
|||||||
|
|
||||||
AbstractKotlinJpsBuildTestCase.addDependency(JpsJavaDependencyScope.COMPILE, Lists.newArrayList(findModule("module")), false, "module-lib", libraryJar)
|
AbstractKotlinJpsBuildTestCase.addDependency(JpsJavaDependencyScope.COMPILE, Lists.newArrayList(findModule("module")), false, "module-lib", libraryJar)
|
||||||
|
|
||||||
addKotlinRuntimeDependency()
|
addKotlinStdlibDependency()
|
||||||
|
|
||||||
val result = buildAllModules()
|
val result = buildAllModules()
|
||||||
result.assertSuccessful()
|
result.assertSuccessful()
|
||||||
@@ -717,11 +715,7 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
|||||||
|
|
||||||
fun testReexportedDependency() {
|
fun testReexportedDependency() {
|
||||||
initProject()
|
initProject()
|
||||||
AbstractKotlinJpsBuildTestCase.addKotlinRuntimeDependency(JpsJavaDependencyScope.COMPILE, ContainerUtil.filter(myProject.modules, object : Condition<JpsModule> {
|
AbstractKotlinJpsBuildTestCase.addKotlinStdlibDependency(myProject.modules.filter { module -> module.name == "module2" }, true)
|
||||||
override fun value(module: JpsModule): Boolean {
|
|
||||||
return module.name == "module2"
|
|
||||||
}
|
|
||||||
}), true)
|
|
||||||
buildAllModules().assertSuccessful()
|
buildAllModules().assertSuccessful()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -948,14 +942,14 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
|||||||
jdk.addRoot(StandardFileSystems.JRT_PROTOCOL_PREFIX + path + URLUtil.JAR_SEPARATOR + "java.base", JpsOrderRootType.COMPILED)
|
jdk.addRoot(StandardFileSystems.JRT_PROTOCOL_PREFIX + path + URLUtil.JAR_SEPARATOR + "java.base", JpsOrderRootType.COMPILED)
|
||||||
|
|
||||||
loadProject(workDir.absolutePath + File.separator + PROJECT_NAME + ".ipr")
|
loadProject(workDir.absolutePath + File.separator + PROJECT_NAME + ".ipr")
|
||||||
addKotlinRuntimeDependency()
|
addKotlinStdlibDependency()
|
||||||
|
|
||||||
buildAllModules().assertSuccessful()
|
buildAllModules().assertSuccessful()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun testCustomDestination() {
|
fun testCustomDestination() {
|
||||||
loadProject(workDir.absolutePath + File.separator + PROJECT_NAME + ".ipr")
|
loadProject(workDir.absolutePath + File.separator + PROJECT_NAME + ".ipr")
|
||||||
addKotlinRuntimeDependency()
|
addKotlinStdlibDependency()
|
||||||
buildAllModules().apply {
|
buildAllModules().apply {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -60,7 +60,7 @@ class SimpleKotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
|||||||
b.dependenciesList.addModuleDependency(a)
|
b.dependenciesList.addModuleDependency(a)
|
||||||
).isExported = false
|
).isExported = false
|
||||||
|
|
||||||
addKotlinRuntimeDependency()
|
addKotlinStdlibDependency()
|
||||||
rebuildAllModules()
|
rebuildAllModules()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -104,7 +104,7 @@ public class KannotatorJpsTest extends AbstractKotlinJpsBuildTestCase {
|
|||||||
private void initProject() {
|
private void initProject() {
|
||||||
addJdk(JDK_NAME);
|
addJdk(JDK_NAME);
|
||||||
loadProject(workDir.getAbsolutePath());
|
loadProject(workDir.getAbsolutePath());
|
||||||
addKotlinRuntimeDependency();
|
addKotlinStdlibDependency();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user