1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-25 07:57:12 -07:00
This commit is contained in:
Dmitry Zhuravlev 2017-04-14 17:19:59 +03:00
commit 7a63f88ba5

View file

@ -100,15 +100,13 @@ open class BaseTest(val compilerFactory: BuildFileCompiler.IFactory? = null) {
val projectName = "p" + Math.abs(Random().nextInt())
val version = "1.0"
fun createFile(root: File, f: String, text: String) : File {
val file = File(root, f)
file.parentFile.mkdirs()
file.writeText(text)
return file
fun createFile(root: File, f: String, text: String) = File(root, f).apply {
parentFile.mkdirs()
writeText(text)
}
createFile(root, "kobalt/src/Build.kt",
projectInfo.buildFile.text(root.absolutePath, projectName, version))
projectInfo.buildFile.text(KFiles.fixSlashes(root.absolutePath), projectName, version))
projectInfo.files.forEach {
createFile(root, it.path, it.content)
@ -116,18 +114,16 @@ open class BaseTest(val compilerFactory: BuildFileCompiler.IFactory? = null) {
return ProjectDescription(root, projectName, version)
}
class LaunchProjectResult(val projectInfo: ProjectInfo, val projectDescription: ProjectDescription,
val result: Int)
class LaunchProjectResult(val projectDescription: ProjectDescription, val result: Int)
fun launchProject(projectInfo: ProjectInfo, commandLine: Array<String>) : LaunchProjectResult {
val project = createProject(projectInfo)
println("Project: $project")
val main = Kobalt.INJECTOR.getInstance(Main::class.java)
val args = Args()
val jc = JCommander(args).apply { parse(*commandLine) }
args.buildFile = project.file.absolutePath + "/kobalt/src/Build.kt"
args.buildFile = KFiles.fixSlashes(project.file.absolutePath) + "/kobalt/src/Build.kt"
val result = Main.launchMain(main, jc, args, arrayOf("assemble"))
return LaunchProjectResult(projectInfo, project, result)
return LaunchProjectResult(project, result)
}
}