Build: Use kotlin-build-gradle-plugin in buildSrc
This commit is contained in:
+23
-56
@@ -11,73 +11,40 @@ pluginManagement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buildscript {
|
||||||
|
repositories {
|
||||||
|
if (cacheRedirectorEnabled == 'true') {
|
||||||
|
maven { url "https://cache-redirector.jetbrains.com/kotlin.bintray.com/kotlin-dependencies" }
|
||||||
|
} else {
|
||||||
|
maven { url "https://kotlin.bintray.com/kotlin-dependencies" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
classpath("org.jetbrains.kotlin:kotlin-build-gradle-plugin:0.0.2")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def buildProperties = BuildPropertiesKt.getKotlinBuildPropertiesForSettings(settings)
|
||||||
|
|
||||||
include "prepare-deps"
|
include "prepare-deps"
|
||||||
|
|
||||||
def flags = new LocalBuildProperties(settings as Settings)
|
if (buildProperties.includeCidrPlugins) {
|
||||||
|
|
||||||
if (flags.includeCidrPlugins) {
|
|
||||||
logger.info("Including CIDR plugins in buildSrc/settings.gradle")
|
logger.info("Including CIDR plugins in buildSrc/settings.gradle")
|
||||||
include ":prepare-deps:kotlin-native-platform-deps"
|
include ":prepare-deps:kotlin-native-platform-deps"
|
||||||
project(":prepare-deps:kotlin-native-platform-deps").projectDir = file("${flags.propertiesProvider.rootProjectDir}/kotlin-ultimate/buildSrc/prepare-deps/kotlin-native-platform-deps")
|
project(":prepare-deps:kotlin-native-platform-deps").projectDir =
|
||||||
|
file("${buildProperties.propertiesProvider.rootProjectDir}/kotlin-ultimate/buildSrc/prepare-deps/kotlin-native-platform-deps")
|
||||||
} else {
|
} else {
|
||||||
logger.info("NOT including CIDR plugins in buildSrc/settings.gradle")
|
logger.info("NOT including CIDR plugins in buildSrc/settings.gradle")
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags.hasKotlinUltimate) {
|
if (buildProperties.includeUltimate) {
|
||||||
logger.info("Including extension for IJ Ultimate in buildSrc/settings.gradle")
|
logger.info("Including extension for IJ Ultimate in buildSrc/settings.gradle")
|
||||||
include ":prepare-deps:lldb-frontend"
|
include ":prepare-deps:lldb-frontend"
|
||||||
include ":prepare-deps:native-debug-plugin"
|
include ":prepare-deps:native-debug-plugin"
|
||||||
project(":prepare-deps:lldb-frontend").projectDir = file("${flags.propertiesProvider.rootProjectDir}/kotlin-ultimate/buildSrc/prepare-deps/lldb-frontend")
|
project(":prepare-deps:lldb-frontend").projectDir =
|
||||||
project(":prepare-deps:native-debug-plugin").projectDir = file("${flags.propertiesProvider.rootProjectDir}/kotlin-ultimate/buildSrc/prepare-deps/native-debug-plugin")
|
file("${buildProperties.propertiesProvider.rootProjectDir}/kotlin-ultimate/buildSrc/prepare-deps/lldb-frontend")
|
||||||
|
project(":prepare-deps:native-debug-plugin").projectDir =
|
||||||
|
file("${buildProperties.propertiesProvider.rootProjectDir}/kotlin-ultimate/buildSrc/prepare-deps/native-debug-plugin")
|
||||||
} else {
|
} else {
|
||||||
logger.info("Not including extension for IJ Ultimate in buildSrc/settings.gradle")
|
logger.info("Not including extension for IJ Ultimate in buildSrc/settings.gradle")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class LocalBuildPropertiesProvider {
|
|
||||||
private Settings settings
|
|
||||||
private Properties localProperties = new Properties()
|
|
||||||
|
|
||||||
File rootProjectDir
|
|
||||||
|
|
||||||
LocalBuildPropertiesProvider(Settings settings) {
|
|
||||||
this.settings = settings
|
|
||||||
this.rootProjectDir = settings.rootProject.projectDir.parentFile
|
|
||||||
|
|
||||||
File propertiesFile = new File(rootProjectDir, 'local.properties')
|
|
||||||
if (propertiesFile.isFile()) {
|
|
||||||
propertiesFile.withInputStream { localProperties.load(it) }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String getString(String name) {
|
|
||||||
if (settings.hasProperty(name)) {
|
|
||||||
return settings[name]?.toString()
|
|
||||||
} else {
|
|
||||||
return localProperties[name]?.toString()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Boolean getBoolean(String name) {
|
|
||||||
def property = getString(name)
|
|
||||||
if (property == null) {
|
|
||||||
return false
|
|
||||||
} else {
|
|
||||||
return Boolean.parseBoolean(property.trim())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class LocalBuildProperties {
|
|
||||||
LocalBuildPropertiesProvider propertiesProvider
|
|
||||||
|
|
||||||
boolean includeCidrPlugins
|
|
||||||
|
|
||||||
boolean hasKotlinUltimate
|
|
||||||
|
|
||||||
LocalBuildProperties(Settings settings) {
|
|
||||||
propertiesProvider = new LocalBuildPropertiesProvider(settings)
|
|
||||||
hasKotlinUltimate = new File(propertiesProvider.rootProjectDir, 'kotlin-ultimate').exists()
|
|
||||||
includeCidrPlugins = propertiesProvider.getBoolean('cidrPluginsEnabled') && hasKotlinUltimate
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
+1
-1
@@ -31,7 +31,7 @@ buildscript {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath("org.jetbrains.kotlin:kotlin-build-gradle-plugin:0.0.1")
|
classpath("org.jetbrains.kotlin:kotlin-build-gradle-plugin:0.0.2")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user