JPS, Tests: Encapsulate libraries root paths used in JPS tests

Original commit: 5fc2267665
This commit is contained in:
Sergey Rostov
2018-09-14 09:46:01 +03:00
parent 0a406e70eb
commit 51ec98794b
2 changed files with 33 additions and 19 deletions
@@ -51,15 +51,19 @@ abstract class AbstractKotlinJpsBuildTestCase : BaseKotlinJpsBuildTestCase() {
}
protected fun addKotlinMockRuntimeDependency(): JpsLibrary {
return addDependency("kotlin-mock-runtime", ForTestCompileRuntime.minimalRuntimeJarForTests())
return addDependency(KotlinJpsLibrary.MockRuntime)
}
protected fun addKotlinStdlibDependency(): JpsLibrary {
return addKotlinStdlibDependency(myProject)
return addDependency(KotlinJpsLibrary.JvmStdLib)
}
protected fun addKotlinJavaScriptStdlibDependency(): JpsLibrary {
return addDependency("KotlinJavaScript", PathUtil.kotlinPathsForDistDirectory.jsStdLibJarPath)
return addDependency(KotlinJpsLibrary.JsStdLib)
}
private fun addDependency(library: KotlinJpsLibrary): JpsLibrary {
return addDependency(myProject, library)
}
protected fun addDependency(libraryName: String, libraryFile: File): JpsLibrary {
@@ -79,20 +83,18 @@ abstract class AbstractKotlinJpsBuildTestCase : BaseKotlinJpsBuildTestCase() {
}
@JvmStatic
internal fun addKotlinStdlibDependency(project: JpsProject): JpsLibrary {
return addKotlinStdlibDependency(project.modules, false)
protected fun addKotlinStdlibDependency(modules: Collection<JpsModule>, exported: Boolean = false): JpsLibrary {
return addDependency(modules, KotlinJpsLibrary.JvmStdLib, exported)
}
@JvmStatic
protected fun addKotlinStdlibDependency(modules: Collection<JpsModule>, exported: Boolean): JpsLibrary {
return addDependency(
JpsJavaDependencyScope.COMPILE,
modules,
exported,
"kotlin-stdlib",
PathUtil.kotlinPathsForDistDirectory.stdlibPath,
File(PathUtil.kotlinPathsForDistDirectory.libPath, "annotations-13.0.jar")
)
private fun addDependency(project: JpsProject, library: KotlinJpsLibrary, exported: Boolean = false): JpsLibrary {
return addDependency(JpsJavaDependencyScope.COMPILE, project.modules, exported, library.id, *library.roots)
}
@JvmStatic
private fun addDependency(modules: Collection<JpsModule>, library: KotlinJpsLibrary, exported: Boolean = false): JpsLibrary {
return addDependency(JpsJavaDependencyScope.COMPILE, modules, exported, library.id, *library.roots)
}
@JvmStatic
@@ -13,18 +13,30 @@ import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
import org.jetbrains.kotlin.utils.PathUtil
import java.io.File
enum class KotlinJpsLibrary(val id: String, private vararg val roots: File) {
MockRuntime("kotlin-mock-runtime", ForTestCompileRuntime.minimalRuntimeJarForTests()),
enum class KotlinJpsLibrary(val id: String, vararg val roots: File) {
MockRuntime(
"kotlin-mock-runtime",
ForTestCompileRuntime.minimalRuntimeJarForTests()
),
JvmStdLib(
"kotlin-stdlib",
PathUtil.kotlinPathsForDistDirectory.stdlibPath,
File(PathUtil.kotlinPathsForDistDirectory.libPath, "annotations-13.0.jar")
),
JvmTest("kotlin-test", PathUtil.kotlinPathsForDistDirectory.kotlinTestPath),
JvmTest(
"kotlin-test",
PathUtil.kotlinPathsForDistDirectory.kotlinTestPath
),
JsStdLib("KotlinJavaScript", PathUtil.kotlinPathsForDistDirectory.jsStdLibJarPath),
JsTest("KotlinJavaScriptTest", PathUtil.kotlinPathsForDistDirectory.jsKotlinTestJarPath);
JsStdLib(
"KotlinJavaScript",
PathUtil.kotlinPathsForDistDirectory.jsStdLibJarPath
),
JsTest(
"KotlinJavaScriptTest",
PathUtil.kotlinPathsForDistDirectory.jsKotlinTestJarPath
);
fun create(project: JpsProject): JpsLibrary {
val library = project.addLibrary(id, JpsJavaLibraryType.INSTANCE)