blob: 0279bb779f69e6e43482ae7d932b3a8e2e3577d0 [file] [log] [blame] [edit]
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
buildscript {
apply from: "$rootDir/gradle/kotlinGradlePlugin.gradle"
dependencies {
classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:$gradlePluginVersion"
}
ext.useCustomDist = project.hasProperty("org.jetbrains.kotlin.native.home") || project.hasProperty("konan.home")
if (!useCustomDist) {
ext.setProperty("org.jetbrains.kotlin.native.home", distDir.absolutePath)
}
if (project.hasProperty("konan.home")) {
ext.setProperty("org.jetbrains.kotlin.native.home", project.getProperty("konan.home"))
}
}
apply plugin: 'kotlin'
apply plugin: 'konan'
konanArtifacts {
def testFiles = fileTree('src/test/testData') {
include "*.kt"
}
testFiles.files.each { file ->
def name = file.name
library(name.take(name.lastIndexOf('.'))) {
srcFiles file.absolutePath
// Build the compiler before building the test unless a custom path to the distribution is specified.
if (!useCustomDist) {
dependsOn ':dist'
}
}
}
}
compileKotlin {
kotlinOptions.freeCompilerArgs += ['-Xskip-prerelease-check']
}
repositories {
maven {
url buildKotlinCompilerRepo
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
implementation project(path: ':backend.native', configuration: 'cli_bc')
implementation project(":utilities:basic-utils")
testImplementation "junit:junit:4.12"
testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$buildKotlinVersion"
testImplementation "org.jetbrains.kotlin:kotlin-test:$buildKotlinVersion"
}
test {
dependsOn 'cleanTest'
// Specify a path to the distribution that is used in the tests.
systemProperty('konan.home', getProperty("org.jetbrains.kotlin.native.home"))
dependsOn konanArtifacts.collect { it.getByTarget('host') }
if (useCustomDist) {
// Use the klib utility from the distribution
def distClasspath = fileTree("${project.getProperty("org.jetbrains.kotlin.native.home")}/konan/lib") {
include "**/*.jar"
}
classpath = distClasspath + sourceSets.test.runtimeClasspath - sourceSets.main.runtimeClasspath
}
}