From e38ca74927b5cd34ea2abfee8845982c87aacecd Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Mon, 2 May 2022 12:26:12 +0200 Subject: [PATCH] Fix compilation warnings in 'pill-importer' project These warnings have fail compilation with bootstrap. --- .../generators/gradle/dsl/KotlinArtifactsDSLCodegen.kt | 5 +++-- .../generators/gradle/dsl/kpmNativeVariantCodegen.kt | 3 ++- .../generators/gradle/dsl/mppNativeBinaryDSLCodegen.kt | 4 ++-- .../kotlin/generators/gradle/dsl/stringUtils.kt | 10 ++++++++++ .../pill/pill-importer/src/JpsCompatiblePluginTasks.kt | 8 ++++---- plugins/pill/pill-importer/src/util/PathContext.kt | 3 ++- 6 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/stringUtils.kt diff --git a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/KotlinArtifactsDSLCodegen.kt b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/KotlinArtifactsDSLCodegen.kt index 230910b144b..9ab82e3790c 100644 --- a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/KotlinArtifactsDSLCodegen.kt +++ b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/KotlinArtifactsDSLCodegen.kt @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType import org.jetbrains.kotlin.konan.target.KonanTarget import java.io.File +import java.util.* fun main() { generateAbstractKotlinArtifactsExtensionImplementation() @@ -58,9 +59,9 @@ private fun generateAbstractKotlinArtifactsExtensionImplementation() { val name = nameParts.drop(1).joinToString( separator = "", prefix = nameParts.first(), - transform = String::capitalize + transform = String::capitalizeUS ) - "val $name = KonanTarget.${it.name.toUpperCase()}" + "val $name = KonanTarget.${it.name.uppercase(Locale.US)}" }.indented(4) val code = listOf( diff --git a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/kpmNativeVariantCodegen.kt b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/kpmNativeVariantCodegen.kt index 2bd9c65752c..99e7ab70acc 100644 --- a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/kpmNativeVariantCodegen.kt +++ b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/kpmNativeVariantCodegen.kt @@ -9,6 +9,7 @@ package org.jetbrains.kotlin.generators.gradle.dsl import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.konan.target.presetName +import java.util.* import kotlin.io.path.ExperimentalPathApi import kotlin.io.path.Path import kotlin.io.path.writeText @@ -96,7 +97,7 @@ private fun allVariantConstructors() = allKonanTargets() private val KonanTarget.variantClassName get() = presetName - .capitalize() + .capitalizeUS() .let { "Kotlin${it}Variant" } private val KonanTarget.className get() = javaClass.simpleName \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppNativeBinaryDSLCodegen.kt b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppNativeBinaryDSLCodegen.kt index 7137dc7b7d2..aeefe7ca814 100644 --- a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppNativeBinaryDSLCodegen.kt +++ b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppNativeBinaryDSLCodegen.kt @@ -33,8 +33,8 @@ private fun binaryType( typeName("$MPP_PACKAGE.$className"), typeName("${nativeOutputKindClass.fqName}.$outputKind"), baseMethodName, - "get${baseMethodName.capitalize()}", - "find${baseMethodName.capitalize()}", + "get${baseMethodName.capitalizeUS()}", + "find${baseMethodName.capitalizeUS()}", defaultBaseName ) diff --git a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/stringUtils.kt b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/stringUtils.kt new file mode 100644 index 00000000000..c57edd5c859 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/stringUtils.kt @@ -0,0 +1,10 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.generators.gradle.dsl + +import java.util.* + +fun String.capitalizeUS() = replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.US) else it.toString() } diff --git a/plugins/pill/pill-importer/src/JpsCompatiblePluginTasks.kt b/plugins/pill/pill-importer/src/JpsCompatiblePluginTasks.kt index f709c76a83f..3b33cfd9041 100644 --- a/plugins/pill/pill-importer/src/JpsCompatiblePluginTasks.kt +++ b/plugins/pill/pill-importer/src/JpsCompatiblePluginTasks.kt @@ -91,14 +91,14 @@ class JpsCompatiblePluginTasks( fun pill() { initEnvironment(rootProject) - val variantOptionValue = System.getProperty("pill.variant", "base").toUpperCase() + val variantOptionValue = System.getProperty("pill.variant", "base").uppercase(Locale.US) val variant = PillExtensionMirror.Variant.values().firstOrNull { it.name == variantOptionValue } ?: run { rootProject.logger.error("Invalid variant name: $variantOptionValue") return } - rootProject.logger.lifecycle("Pill: Setting up project for the '${variant.name.toLowerCase()}' variant...") + rootProject.logger.lifecycle("Pill: Setting up project for the '${variant.name.lowercase(Locale.US)}' variant...") val modulePrefix = System.getProperty("pill.module.prefix", "") val modelParser = ModelParser(variant, modulePrefix) @@ -161,14 +161,14 @@ class JpsCompatiblePluginTasks( private fun removeJpsAndPillRunConfigurations() { File(projectDir, ".idea/runConfigurations") .walk() - .filter { (it.name.startsWith("JPS_") || it.name.startsWith("Pill_")) && it.extension.toLowerCase() == "xml" } + .filter { (it.name.startsWith("JPS_") || it.name.startsWith("Pill_")) && it.extension.lowercase(Locale.US) == "xml" } .forEach { it.delete() } } private fun removeArtifactConfigurations() { File(projectDir, ".idea/artifacts") .walk() - .filter { it.extension.toLowerCase() == "xml" && ALLOWED_ARTIFACT_PATTERNS.none { p -> p.matches(it.name) } } + .filter { it.extension.lowercase(Locale.US) == "xml" && ALLOWED_ARTIFACT_PATTERNS.none { p -> p.matches(it.name) } } .forEach { it.delete() } } diff --git a/plugins/pill/pill-importer/src/util/PathContext.kt b/plugins/pill/pill-importer/src/util/PathContext.kt index 20d473f1c2c..128784210f9 100644 --- a/plugins/pill/pill-importer/src/util/PathContext.kt +++ b/plugins/pill/pill-importer/src/util/PathContext.kt @@ -9,6 +9,7 @@ import org.gradle.api.Project import org.jetbrains.kotlin.pill.model.PModule import org.jetbrains.kotlin.pill.model.PProject import java.io.File +import java.util.* private val USER_HOME_DIR_PATH = System.getProperty("user.home").withSlash() @@ -29,7 +30,7 @@ interface PathContext { fun url(file: File): Pair { val path = when { - file.isFile && file.extension.toLowerCase() == "jar" -> "jar://" + this(file) + "!/" + file.isFile && file.extension.lowercase(Locale.US) == "jar" -> "jar://" + this(file) + "!/" else -> "file://" + this(file) }