Build: Use kotlin-build-gradle-plugin in build script of buildSrc
This commit is contained in:
@@ -1,5 +1,3 @@
|
|||||||
import java.util.Properties
|
|
||||||
|
|
||||||
extra["versions.shadow"] = "4.0.3"
|
extra["versions.shadow"] = "4.0.3"
|
||||||
extra["versions.native-platform"] = "0.14"
|
extra["versions.native-platform"] = "0.14"
|
||||||
|
|
||||||
@@ -12,8 +10,10 @@ buildscript {
|
|||||||
repositories {
|
repositories {
|
||||||
if (cacheRedirectorEnabled) {
|
if (cacheRedirectorEnabled) {
|
||||||
maven("https://cache-redirector.jetbrains.com/jcenter.bintray.com")
|
maven("https://cache-redirector.jetbrains.com/jcenter.bintray.com")
|
||||||
|
maven("https://cache-redirector.jetbrains.com/kotlin.bintray.com/kotlin-dependencies")
|
||||||
} else {
|
} else {
|
||||||
jcenter()
|
jcenter()
|
||||||
|
maven("https://kotlin.bintray.com/kotlin-dependencies")
|
||||||
}
|
}
|
||||||
|
|
||||||
buildSrcKotlinRepo?.let {
|
buildSrcKotlinRepo?.let {
|
||||||
@@ -22,6 +22,7 @@ buildscript {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
classpath("org.jetbrains.kotlin:kotlin-build-gradle-plugin:0.0.3")
|
||||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$buildSrcKotlinVersion")
|
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$buildSrcKotlinVersion")
|
||||||
classpath("org.jetbrains.kotlin:kotlin-sam-with-receiver:$buildSrcKotlinVersion")
|
classpath("org.jetbrains.kotlin:kotlin-sam-with-receiver:$buildSrcKotlinVersion")
|
||||||
}
|
}
|
||||||
@@ -66,10 +67,8 @@ rootProject.apply {
|
|||||||
from(rootProject.file("../gradle/versions.gradle.kts"))
|
from(rootProject.file("../gradle/versions.gradle.kts"))
|
||||||
}
|
}
|
||||||
|
|
||||||
val flags = LocalBuildProperties(project)
|
val isTeamcityBuild = kotlinBuildProperties.isTeamcityBuild
|
||||||
|
val intellijUltimateEnabled by extra(kotlinBuildProperties.intellijUltimateEnabled)
|
||||||
val isTeamcityBuild = flags.isTeamcityBuild
|
|
||||||
val intellijUltimateEnabled by extra(flags.intellijUltimateEnabled)
|
|
||||||
val intellijSeparateSdks by extra(project.getBooleanProperty("intellijSeparateSdks") ?: false)
|
val intellijSeparateSdks by extra(project.getBooleanProperty("intellijSeparateSdks") ?: false)
|
||||||
val verifyDependencyOutput by extra( getBooleanProperty("kotlin.build.dependency.output.verification") ?: isTeamcityBuild)
|
val verifyDependencyOutput by extra( getBooleanProperty("kotlin.build.dependency.output.verification") ?: isTeamcityBuild)
|
||||||
|
|
||||||
@@ -129,30 +128,3 @@ allprojects {
|
|||||||
apply(from = "$rootDir/../gradle/cacheRedirector.gradle.kts")
|
apply(from = "$rootDir/../gradle/cacheRedirector.gradle.kts")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: hide these classes in special gradle plugin for kotlin-ultimate which will support local.properties
|
|
||||||
class LocalBuildPropertiesProvider(private val project: Project) {
|
|
||||||
private val localProperties: Properties = Properties()
|
|
||||||
|
|
||||||
val rootProjectDir: File = project.rootProject.rootDir.parentFile
|
|
||||||
|
|
||||||
init {
|
|
||||||
rootProjectDir.resolve("local.properties").takeIf { it.isFile }?.let {
|
|
||||||
it.reader().use(localProperties::load)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun getString(name: String): String? = project.findProperty(name)?.toString() ?: localProperties[name]?.toString()
|
|
||||||
|
|
||||||
fun getBoolean(name: String): Boolean = getString(name)?.toBoolean() == true
|
|
||||||
}
|
|
||||||
|
|
||||||
class LocalBuildProperties(project: Project) {
|
|
||||||
val propertiesProvider = LocalBuildPropertiesProvider(project)
|
|
||||||
|
|
||||||
val isTeamcityBuild = propertiesProvider.getString("teamcity") != null || System.getenv("TEAMCITY_VERSION") != null
|
|
||||||
|
|
||||||
val intellijUltimateEnabled =
|
|
||||||
(propertiesProvider.getBoolean("intellijUltimateEnabled") || isTeamcityBuild)
|
|
||||||
&& propertiesProvider.rootProjectDir.resolve("kotlin-ultimate").exists()
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user