JPS, Tests: Encapsulate libraries root paths used in JPS tests
This commit is contained in:
+16
-14
@@ -51,15 +51,19 @@ abstract class AbstractKotlinJpsBuildTestCase : BaseKotlinJpsBuildTestCase() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected fun addKotlinMockRuntimeDependency(): JpsLibrary {
|
protected fun addKotlinMockRuntimeDependency(): JpsLibrary {
|
||||||
return addDependency("kotlin-mock-runtime", ForTestCompileRuntime.minimalRuntimeJarForTests())
|
return addDependency(KotlinJpsLibrary.MockRuntime)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun addKotlinStdlibDependency(): JpsLibrary {
|
protected fun addKotlinStdlibDependency(): JpsLibrary {
|
||||||
return addKotlinStdlibDependency(myProject)
|
return addDependency(KotlinJpsLibrary.JvmStdLib)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun addKotlinJavaScriptStdlibDependency(): JpsLibrary {
|
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 {
|
protected fun addDependency(libraryName: String, libraryFile: File): JpsLibrary {
|
||||||
@@ -79,20 +83,18 @@ abstract class AbstractKotlinJpsBuildTestCase : BaseKotlinJpsBuildTestCase() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
internal fun addKotlinStdlibDependency(project: JpsProject): JpsLibrary {
|
protected fun addKotlinStdlibDependency(modules: Collection<JpsModule>, exported: Boolean = false): JpsLibrary {
|
||||||
return addKotlinStdlibDependency(project.modules, false)
|
return addDependency(modules, KotlinJpsLibrary.JvmStdLib, exported)
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
protected fun addKotlinStdlibDependency(modules: Collection<JpsModule>, exported: Boolean): JpsLibrary {
|
private fun addDependency(project: JpsProject, library: KotlinJpsLibrary, exported: Boolean = false): JpsLibrary {
|
||||||
return addDependency(
|
return addDependency(JpsJavaDependencyScope.COMPILE, project.modules, exported, library.id, *library.roots)
|
||||||
JpsJavaDependencyScope.COMPILE,
|
}
|
||||||
modules,
|
|
||||||
exported,
|
@JvmStatic
|
||||||
"kotlin-stdlib",
|
private fun addDependency(modules: Collection<JpsModule>, library: KotlinJpsLibrary, exported: Boolean = false): JpsLibrary {
|
||||||
PathUtil.kotlinPathsForDistDirectory.stdlibPath,
|
return addDependency(JpsJavaDependencyScope.COMPILE, modules, exported, library.id, *library.roots)
|
||||||
File(PathUtil.kotlinPathsForDistDirectory.libPath, "annotations-13.0.jar")
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
|
|||||||
@@ -13,18 +13,30 @@ import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
|||||||
import org.jetbrains.kotlin.utils.PathUtil
|
import org.jetbrains.kotlin.utils.PathUtil
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
enum class KotlinJpsLibrary(val id: String, private vararg val roots: File) {
|
enum class KotlinJpsLibrary(val id: String, vararg val roots: File) {
|
||||||
MockRuntime("kotlin-mock-runtime", ForTestCompileRuntime.minimalRuntimeJarForTests()),
|
MockRuntime(
|
||||||
|
"kotlin-mock-runtime",
|
||||||
|
ForTestCompileRuntime.minimalRuntimeJarForTests()
|
||||||
|
),
|
||||||
|
|
||||||
JvmStdLib(
|
JvmStdLib(
|
||||||
"kotlin-stdlib",
|
"kotlin-stdlib",
|
||||||
PathUtil.kotlinPathsForDistDirectory.stdlibPath,
|
PathUtil.kotlinPathsForDistDirectory.stdlibPath,
|
||||||
File(PathUtil.kotlinPathsForDistDirectory.libPath, "annotations-13.0.jar")
|
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),
|
JsStdLib(
|
||||||
JsTest("KotlinJavaScriptTest", PathUtil.kotlinPathsForDistDirectory.jsKotlinTestJarPath);
|
"KotlinJavaScript",
|
||||||
|
PathUtil.kotlinPathsForDistDirectory.jsStdLibJarPath
|
||||||
|
),
|
||||||
|
JsTest(
|
||||||
|
"KotlinJavaScriptTest",
|
||||||
|
PathUtil.kotlinPathsForDistDirectory.jsKotlinTestJarPath
|
||||||
|
);
|
||||||
|
|
||||||
fun create(project: JpsProject): JpsLibrary {
|
fun create(project: JpsProject): JpsLibrary {
|
||||||
val library = project.addLibrary(id, JpsJavaLibraryType.INSTANCE)
|
val library = project.addLibrary(id, JpsJavaLibraryType.INSTANCE)
|
||||||
|
|||||||
Reference in New Issue
Block a user