backend.native: simplify build.gradle by making it more idiomatic
This commit is contained in:
+18
-22
@@ -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)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user