xref: /aosp_15_r20/external/kotlinx.serialization/buildSrc/build.gradle.kts (revision 57b5a4a64c534cf7f27ac9427ceab07f3d8ed3d8)
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 Worker repositories {
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 Worker val 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 Worker dependencies {
42*57b5a4a6SAndroid Build Coastguard Worker     implementation(kotlin("gradle-plugin", kotlinVersion))
43*57b5a4a6SAndroid Build Coastguard Worker }
44*57b5a4a6SAndroid Build Coastguard Worker 
45