From c2a2d80d4ce28f687299bb501f27c53e91120336 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Mon, 20 May 2019 14:45:40 +0300 Subject: [PATCH] Build: Minor cleanup & format root build.gradle.kts --- .idea/dictionaries/4u7.xml | 2 + build.gradle.kts | 288 ++++++++++++++++++++----------------- 2 files changed, 156 insertions(+), 134 deletions(-) diff --git a/.idea/dictionaries/4u7.xml b/.idea/dictionaries/4u7.xml index 85c4b7d0c8c..103dc7c8eeb 100644 --- a/.idea/dictionaries/4u7.xml +++ b/.idea/dictionaries/4u7.xml @@ -4,9 +4,11 @@ cidr foldable instrumentator + jdks protobuf redirector remapper + unpresent \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index edacf9ddd10..92a2db8932e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,3 @@ - import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import org.gradle.plugins.ide.idea.model.IdeaModel import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile @@ -64,11 +63,11 @@ buildScan { } val configuredJdks: List = - getConfiguredJdks().also { - it.forEach { - logger.info("Using ${it.majorVersion} home: ${it.homeDir}") - } + getConfiguredJdks().also { + it.forEach { jdkId -> + logger.info("Using ${jdkId.majorVersion} home: ${jdkId.homeDir}") } + } val defaultSnapshotVersion: String by extra val buildNumber by extra(findProperty("build.number")?.toString() ?: defaultSnapshotVersion) @@ -136,10 +135,20 @@ fun checkJDK() { if (jdkChecked) { return } - var unpresentJdks = JdkMajorVersion.values().filter { it.isMandatory() }.map { it -> it.name }.filter { it == null || extra[it] == jdkNotFoundConst }.toList() - if (!unpresentJdks.isEmpty()) { - throw GradleException("Please set environment variable${if (unpresentJdks.size > 1) "s" else ""}: ${unpresentJdks.joinToString()} to point to corresponding JDK installation.") + + val unpresentJdks = JdkMajorVersion.values() + .filter { it.isMandatory() } + .map { it.name } + .filter { extra[it] == jdkNotFoundConst } + .toList() + + if (unpresentJdks.isNotEmpty()) { + throw GradleException("Please set environment variable" + + (if (unpresentJdks.size > 1) "s" else "") + + ": " + unpresentJdks.joinToString() + + " to point to corresponding JDK installation.") } + jdkChecked = true } @@ -191,92 +200,94 @@ extra["intellijUltimateEnabled"] = intellijUltimateEnabled extra["intellijSeparateSdks"] = intellijSeparateSdks extra["IntellijCoreDependencies"] = - listOf(if (Platform[191].orHigher()) "asm-all-7.0.1" else "asm-all", - "guava", - "jdom", - "jna", - "log4j", - "picocontainer", - "snappy-in-java", - "streamex", - "trove4j") + listOf( + if (Platform[191].orHigher()) "asm-all-7.0.1" else "asm-all", + "guava", + "jdom", + "jna", + "log4j", + "picocontainer", + "snappy-in-java", + "streamex", + "trove4j" + ) extra["compilerModules"] = arrayOf( - ":compiler:util", - ":compiler:container", - ":compiler:resolution", - ":compiler:serialization", - ":compiler:psi", - ":compiler:frontend", - ":compiler:frontend.common", - ":compiler:frontend.java", - ":compiler:cli-common", - ":compiler:ir.tree", - ":compiler:ir.psi2ir", - ":compiler:ir.backend.common", - ":compiler:backend.jvm", - ":compiler:backend.js", - ":compiler:ir.serialization.common", - ":compiler:ir.serialization.js", - ":compiler:backend-common", - ":compiler:backend", - ":compiler:plugin-api", - ":compiler:light-classes", - ":compiler:cli", - ":compiler:cli-js", - ":compiler:incremental-compilation-impl", - ":js:js.ast", - ":js:js.serializer", - ":js:js.parser", - ":js:js.frontend", - ":js:js.translator", - ":js:js.dce", - ":compiler", - ":kotlin-build-common", - ":core:metadata", - ":core:metadata.jvm", - ":core:descriptors", - ":core:descriptors.jvm", - ":core:deserialization", - ":core:util.runtime", - ":core:type-system", - ":compiler:fir:cones", - ":compiler:fir:resolve", - ":compiler:fir:tree", - ":compiler:fir:psi2fir", - ":compiler:fir:fir2ir" + ":compiler:util", + ":compiler:container", + ":compiler:resolution", + ":compiler:serialization", + ":compiler:psi", + ":compiler:frontend", + ":compiler:frontend.common", + ":compiler:frontend.java", + ":compiler:cli-common", + ":compiler:ir.tree", + ":compiler:ir.psi2ir", + ":compiler:ir.backend.common", + ":compiler:backend.jvm", + ":compiler:backend.js", + ":compiler:ir.serialization.common", + ":compiler:ir.serialization.js", + ":compiler:backend-common", + ":compiler:backend", + ":compiler:plugin-api", + ":compiler:light-classes", + ":compiler:cli", + ":compiler:cli-js", + ":compiler:incremental-compilation-impl", + ":js:js.ast", + ":js:js.serializer", + ":js:js.parser", + ":js:js.frontend", + ":js:js.translator", + ":js:js.dce", + ":compiler", + ":kotlin-build-common", + ":core:metadata", + ":core:metadata.jvm", + ":core:descriptors", + ":core:descriptors.jvm", + ":core:deserialization", + ":core:util.runtime", + ":core:type-system", + ":compiler:fir:cones", + ":compiler:fir:resolve", + ":compiler:fir:tree", + ":compiler:fir:psi2fir", + ":compiler:fir:fir2ir" ) val coreLibProjects = listOfNotNull( - ":kotlin-stdlib", - ":kotlin-stdlib-common", - ":kotlin-stdlib-js", - // Local builds are disabled at the request of the lib team - // TODO: Enable when tests are fixed - ":kotlin-stdlib-js-ir".takeIf { isTeamcityBuild }, - ":kotlin-stdlib-jdk7", - ":kotlin-stdlib-jdk8", - ":kotlin-test:kotlin-test-common", - ":kotlin-test:kotlin-test-jvm", - ":kotlin-test:kotlin-test-junit", - ":kotlin-test:kotlin-test-junit5", - ":kotlin-test:kotlin-test-testng", - ":kotlin-test:kotlin-test-js", - ":kotlin-reflect" + ":kotlin-stdlib", + ":kotlin-stdlib-common", + ":kotlin-stdlib-js", + // Local builds are disabled at the request of the lib team + // TODO: Enable when tests are fixed + ":kotlin-stdlib-js-ir".takeIf { isTeamcityBuild }, + ":kotlin-stdlib-jdk7", + ":kotlin-stdlib-jdk8", + ":kotlin-test:kotlin-test-common", + ":kotlin-test:kotlin-test-jvm", + ":kotlin-test:kotlin-test-junit", + ":kotlin-test:kotlin-test-junit5", + ":kotlin-test:kotlin-test-testng", + ":kotlin-test:kotlin-test-js", + ":kotlin-reflect" ) val gradlePluginProjects = listOf( - ":kotlin-gradle-plugin", - ":kotlin-gradle-plugin:plugin-marker", - ":kotlin-gradle-plugin-api", + ":kotlin-gradle-plugin", + ":kotlin-gradle-plugin:plugin-marker", + ":kotlin-gradle-plugin-api", // ":kotlin-gradle-plugin-integration-tests", // TODO: build fails - ":kotlin-allopen", - ":kotlin-allopen:plugin-marker", - ":kotlin-annotation-processing-gradle", - ":kotlin-noarg", - ":kotlin-noarg:plugin-marker", - ":kotlin-sam-with-receiver" + ":kotlin-allopen", + ":kotlin-allopen:plugin-marker", + ":kotlin-annotation-processing-gradle", + ":kotlin-noarg", + ":kotlin-noarg:plugin-marker", + ":kotlin-sam-with-receiver" ) apply { @@ -306,18 +317,13 @@ val ignoreTestFailures by extra(project.findProperty("ignoreTestFailures")?.toSt allprojects { configurations.maybeCreate("embedded") - - jvmTarget = defaultJvmTarget - if (defaultJavaHome != null) { - javaHome = defaultJavaHome - } else { - logger.error("Could not find default java home. Please set environment variable JDK_${defaultJavaHome} to point to JDK ${defaultJavaHome} installation.") - } + jvmTarget = defaultJvmTarget + javaHome = defaultJavaHome // There are problems with common build dir: // - some tests (in particular js and binary-compatibility-validator depend on the fixed (default) location - // - idea seems unable to exclude common builddir from indexing + // - idea seems unable to exclude common buildDir from indexing // therefore it is disabled by default // buildDir = File(commonBuildDir, project.name) @@ -385,16 +391,20 @@ allprojects { fun File.toProjectRootRelativePathOrSelf() = (relativeToOrNull(rootDir)?.takeUnless { it.startsWith("..") } ?: this).path fun FileCollection.printClassPath(role: String) = - println("${project.path} $role classpath:\n ${joinToString("\n ") { it.toProjectRootRelativePathOrSelf() } }") + println("${project.path} $role classpath:\n ${joinToString("\n ") { it.toProjectRootRelativePathOrSelf() }}") - try { javaPluginConvention() } catch (_: UnknownDomainObjectException) { null }?.let { javaConvention -> + try { + javaPluginConvention() + } catch (_: UnknownDomainObjectException) { + null + }?.let { javaConvention -> task("printCompileClasspath") { doFirst { javaConvention.sourceSets["main"].compileClasspath.printClassPath("compile") } } task("printRuntimeClasspath") { doFirst { javaConvention.sourceSets["main"].runtimeClasspath.printClassPath("runtime") } } task("printTestCompileClasspath") { doFirst { javaConvention.sourceSets["test"].compileClasspath.printClassPath("test compile") } } task("printTestRuntimeClasspath") { doFirst { javaConvention.sourceSets["test"].runtimeClasspath.printClassPath("test runtime") } } } - run configureCompilerClasspath@ { + run configureCompilerClasspath@{ val bootstrapCompilerClasspath by rootProject.buildscript.configurations configurations.findByName("kotlinCompilerClasspath")?.let { dependencies.add(it.name, files(bootstrapCompilerClasspath)) @@ -471,18 +481,18 @@ tasks { create("coreLibsTest") { (coreLibProjects + listOf( - ":kotlin-stdlib:samples", - ":kotlin-test:kotlin-test-js:kotlin-test-js-it", - ":kotlinx-metadata-jvm", - ":tools:binary-compatibility-validator" + ":kotlin-stdlib:samples", + ":kotlin-test:kotlin-test-js:kotlin-test-js-it", + ":kotlinx-metadata-jvm", + ":tools:binary-compatibility-validator" )).forEach { - dependsOn(it + ":check") + dependsOn("$it:check") } } create("gradlePluginTest") { gradlePluginProjects.forEach { - dependsOn(it + ":check") + dependsOn("$it:check") } } @@ -492,10 +502,12 @@ tasks { create("jvmCompilerTest") { dependsOn("dist") - dependsOn(":compiler:test", - ":compiler:container:test", - ":compiler:tests-java8:test", - ":compiler:tests-spec:remoteRunTests") + dependsOn( + ":compiler:test", + ":compiler:container:test", + ":compiler:tests-java8:test", + ":compiler:tests-spec:remoteRunTests" + ) dependsOn(":plugins:jvm-abi-gen:test") } @@ -566,46 +578,54 @@ tasks { create("idea-plugin-additional-tests") { dependsOn("dist") - dependsOn(":idea:idea-gradle:test", - ":idea:idea-gradle-native:test", - ":idea:idea-maven:test", - ":j2k:test", - ":idea:eval4j:test") + dependsOn( + ":idea:idea-gradle:test", + ":idea:idea-gradle-native:test", + ":idea:idea-maven:test", + ":j2k:test", + ":idea:eval4j:test" + ) } create("idea-plugin-tests") { dependsOn("dist") - dependsOn("idea-plugin-main-tests", - "idea-plugin-additional-tests") + dependsOn( + "idea-plugin-main-tests", + "idea-plugin-additional-tests" + ) } create("android-ide-tests") { dependsOn("dist") - dependsOn(":plugins:android-extensions-ide:test", - ":idea:idea-android:test", - ":kotlin-annotation-processing:test") + dependsOn( + ":plugins:android-extensions-ide:test", + ":idea:idea-android:test", + ":kotlin-annotation-processing:test" + ) } create("plugins-tests") { dependsOn("dist") - dependsOn(":kotlin-annotation-processing:test", - ":kotlin-source-sections-compiler-plugin:test", - ":kotlin-allopen-compiler-plugin:test", - ":kotlin-noarg-compiler-plugin:test", - ":kotlin-sam-with-receiver-compiler-plugin:test", - ":plugins:uast-kotlin:test", - ":kotlin-annotation-processing-gradle:test", - ":kotlinx-serialization-ide-plugin:test") + dependsOn( + ":kotlin-annotation-processing:test", + ":kotlin-source-sections-compiler-plugin:test", + ":kotlin-allopen-compiler-plugin:test", + ":kotlin-noarg-compiler-plugin:test", + ":kotlin-sam-with-receiver-compiler-plugin:test", + ":plugins:uast-kotlin:test", + ":kotlin-annotation-processing-gradle:test", + ":kotlinx-serialization-ide-plugin:test" + ) } create("ideaPluginTest") { dependsOn( - "idea-plugin-tests", - "jps-tests", - "plugins-tests", - "android-ide-tests", - ":generators:test" + "idea-plugin-tests", + "jps-tests", + "plugins-tests", + "android-ide-tests", + ":generators:test" ) } @@ -691,11 +711,11 @@ val zipPlugin by task { configure { module { excludeDirs = files( - project.buildDir, - commonLocalDataDir, - ".gradle", - "dependencies", - "dist" + project.buildDir, + commonLocalDataDir, + ".gradle", + "dependencies", + "dist" ).toSet() } } @@ -703,7 +723,7 @@ configure { fun jdkPath(version: String): String { val jdkName = "JDK_${version.replace(".", "")}" val jdkMajorVersion = JdkMajorVersion.valueOf(jdkName) - return configuredJdks.find { it.majorVersion == jdkMajorVersion }?.homeDir?.canonicalPath?:jdkNotFoundConst + return configuredJdks.find { it.majorVersion == jdkMajorVersion }?.homeDir?.canonicalPath ?: jdkNotFoundConst }