1*57b5a4a6SAndroid Build Coastguard Worker /* <lambda>null2*57b5a4a6SAndroid Build Coastguard Worker * Copyright 2017-2022 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3*57b5a4a6SAndroid Build Coastguard Worker */ 4*57b5a4a6SAndroid Build Coastguard Worker 5*57b5a4a6SAndroid Build Coastguard Worker import java.util.* 6*57b5a4a6SAndroid Build Coastguard Worker import java.io.FileInputStream 7*57b5a4a6SAndroid Build Coastguard Worker 8*57b5a4a6SAndroid Build Coastguard Worker plugins { 9*57b5a4a6SAndroid Build Coastguard Worker `kotlin-dsl` 10*57b5a4a6SAndroid Build Coastguard Worker } 11*57b5a4a6SAndroid Build Coastguard Worker <lambda>null12*57b5a4a6SAndroid Build Coastguard Workerrepositories { 13*57b5a4a6SAndroid Build Coastguard Worker mavenCentral() 14*57b5a4a6SAndroid Build Coastguard Worker mavenLocal() 15*57b5a4a6SAndroid Build Coastguard Worker if (project.hasProperty("kotlin_repo_url")) { 16*57b5a4a6SAndroid Build Coastguard Worker maven(project.properties["kotlin_repo_url"] as String) 17*57b5a4a6SAndroid Build Coastguard Worker } 18*57b5a4a6SAndroid Build Coastguard Worker // kotlin-dev with space redirector 19*57b5a4a6SAndroid Build Coastguard Worker maven("https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/dev") 20*57b5a4a6SAndroid Build Coastguard Worker } 21*57b5a4a6SAndroid Build Coastguard Worker <lambda>null22*57b5a4a6SAndroid Build Coastguard Workerval kotlinVersion = run { 23*57b5a4a6SAndroid Build Coastguard Worker if (project.hasProperty("build_snapshot_train")) { 24*57b5a4a6SAndroid Build Coastguard Worker val ver = project.properties["kotlin_snapshot_version"] as? String 25*57b5a4a6SAndroid Build Coastguard Worker require(!ver.isNullOrBlank()) {"kotlin_snapshot_version must be present if build_snapshot_train is used" } 26*57b5a4a6SAndroid Build Coastguard Worker return@run ver 27*57b5a4a6SAndroid Build Coastguard Worker } 28*57b5a4a6SAndroid Build Coastguard Worker if (project.hasProperty("kotlin_repo_url")) { 29*57b5a4a6SAndroid Build Coastguard Worker val ver = project.properties["kotlin_version"] as? String 30*57b5a4a6SAndroid Build Coastguard Worker require(!ver.isNullOrBlank()) {"kotlin_version must be present if kotlin_repo_url is used" } 31*57b5a4a6SAndroid Build Coastguard Worker return@run ver 32*57b5a4a6SAndroid Build Coastguard Worker } 33*57b5a4a6SAndroid Build Coastguard Worker val targetProp = if (project.hasProperty("bootstrap")) "kotlin.version.snapshot" else "kotlin.version" 34*57b5a4a6SAndroid Build Coastguard Worker FileInputStream(file("../gradle.properties")).use { propFile -> 35*57b5a4a6SAndroid Build Coastguard Worker val ver = project.findProperty("kotlin.version")?.toString() ?: Properties().apply { load(propFile) }[targetProp] 36*57b5a4a6SAndroid Build Coastguard Worker require(ver is String) { "$targetProp must be string in ../gradle.properties, got $ver instead" } 37*57b5a4a6SAndroid Build Coastguard Worker ver 38*57b5a4a6SAndroid Build Coastguard Worker } 39*57b5a4a6SAndroid Build Coastguard Worker } 40*57b5a4a6SAndroid Build Coastguard Worker <lambda>null41*57b5a4a6SAndroid Build Coastguard Workerdependencies { 42*57b5a4a6SAndroid Build Coastguard Worker implementation(kotlin("gradle-plugin", kotlinVersion)) 43*57b5a4a6SAndroid Build Coastguard Worker } 44*57b5a4a6SAndroid Build Coastguard Worker 45