backend.native: simplify build.gradle by making it more idiomatic

This commit is contained in:
Svyatoslav Scherbina
2016-10-04 18:45:11 +03:00
parent deec80499c
commit 38d0000242
+18 -22
View File
@@ -14,53 +14,49 @@ apply plugin: 'java'
apply plugin: 'kotlin' apply plugin: 'kotlin'
apply plugin: org.jetbrains.kotlin.NativeInteropPlugin apply plugin: org.jetbrains.kotlin.NativeInteropPlugin
ext.deps = files("$kotlin_ir_path/kotlinc/lib/kotlin-compiler.jar", def deps = files("$kotlin_ir_path/kotlinc/lib/kotlin-compiler.jar",
"$kotlin_ir_path/kotlinc/lib/kotlin-runtime.jar", "$kotlin_ir_path/kotlinc/lib/kotlin-runtime.jar",
"$kotlin_ir_path/kotlinc/lib/kotlin-reflect.jar", "$kotlin_ir_path/kotlinc/lib/kotlin-reflect.jar")
"build/classes",
"${project(':Interop:Runtime').buildDir}/classes/main")
sourceSets { sourceSets {
compiler { compiler {
java.srcDirs += 'compiler/ir/backend.native/src/' java.srcDir 'compiler/ir/backend.native/src/'
kotlin.srcDirs += 'compiler/ir/backend.native/src/' kotlin.srcDir 'compiler/ir/backend.native/src/'
compileClasspath = deps
} }
cli_bc { cli_bc {
java.srcDirs += 'cli.bc/src' java.srcDir 'cli.bc/src'
kotlin.srcDirs += 'cli.bc/src' kotlin.srcDir 'cli.bc/src'
compileClasspath = deps.plus(compiler.output)
} }
bc_frontend { bc_frontend {
java.srcDirs += 'bc.frontend/src' java.srcDir 'bc.frontend/src'
kotlin.srcDirs += 'bc.frontend/src' kotlin.srcDir 'bc.frontend/src'
compileClasspath = deps
} }
} }
dependencies {
compilerCompile deps
cli_bcCompile deps
cli_bcCompile sourceSets.compiler.output
bc_frontendCompile deps
}
build.dependsOn 'compilerClasses','cli_bcClasses','bc_frontendClasses' build.dependsOn 'compilerClasses','cli_bcClasses','bc_frontendClasses'
compilerClasses.dependsOn 'genInteropStubs'
cli_bcClasses.dependsOn 'compilerClasses'
def runtime = []
task run(type: JavaExec) { task run(type: JavaExec) {
main 'org.jetbrains.kotlin.cli.bc.K2NativeKt' main 'org.jetbrains.kotlin.cli.bc.K2NativeKt'
project.sourceSets.each{runtime.add(it.output.classesDir)} classpath sourceSets.cli_bc.runtimeClasspath
deps.each{runtime.add(it)}
classpath = files(runtime)
args '../experiments/translator/src/test/kotlin/tests/classfields_1/classfields_1.kt' args '../experiments/translator/src/test/kotlin/tests/classfields_1/classfields_1.kt'
args '-output', "$buildDir/out.bc" args '-output', "$buildDir/out.bc"
jvmArgs '-ea' jvmArgs '-ea'
dependsOn ':backend.native:build'
dependsOn ':runtime:build' dependsOn ':runtime:build'
doFirst { doFirst {
args '-runtime', project(':runtime').build.outputs.files.singleFile args '-runtime', project(':runtime').build.outputs.files.singleFile
println(args)
} }
} }