| /* |
| * Copyright 2017-2022 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. |
| */ |
| |
| import java.util.* |
| import java.io.FileInputStream |
| |
| plugins { |
| `kotlin-dsl` |
| } |
| |
| repositories { |
| mavenCentral() |
| mavenLocal() |
| if (project.hasProperty("kotlin_repo_url")) { |
| maven(project.properties["kotlin_repo_url"] as String) |
| } |
| // kotlin-dev with space redirector |
| maven("https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/dev") |
| } |
| |
| val kotlinVersion = run { |
| if (project.hasProperty("build_snapshot_train")) { |
| val ver = project.properties["kotlin_snapshot_version"] as? String |
| require(!ver.isNullOrBlank()) {"kotlin_snapshot_version must be present if build_snapshot_train is used" } |
| return@run ver |
| } |
| if (project.hasProperty("kotlin_repo_url")) { |
| val ver = project.properties["kotlin_version"] as? String |
| require(!ver.isNullOrBlank()) {"kotlin_version must be present if kotlin_repo_url is used" } |
| return@run ver |
| } |
| val targetProp = if (project.hasProperty("bootstrap")) "kotlin.version.snapshot" else "kotlin.version" |
| FileInputStream(file("../gradle.properties")).use { propFile -> |
| val ver = project.findProperty("kotlin.version")?.toString() ?: Properties().apply { load(propFile) }[targetProp] |
| require(ver is String) { "$targetProp must be string in ../gradle.properties, got $ver instead" } |
| ver |
| } |
| } |
| |
| dependencies { |
| implementation(kotlin("gradle-plugin", kotlinVersion)) |
| } |
| |