i18n: update bundle in idea-gradle

#KT-37483
This commit is contained in:
Dmitry Gridin
2020-03-26 14:33:37 +07:00
parent 62760bdac3
commit 39f7855202
15 changed files with 88 additions and 35 deletions
@@ -42,4 +42,10 @@ text.was.modified={0} was modified
title.configure.kotlin.gradle.plugin=Configure Kotlin-Gradle Plugin title.configure.kotlin.gradle.plugin=Configure Kotlin-Gradle Plugin
title.kotlin.build.script=Gradle Kotlin DSL Scripts errors title.kotlin.build.script=Gradle Kotlin DSL Scripts errors
title.update.language.version=Update Language Version title.update.language.version=Update Language Version
tool.tip.text.the.external.gradle.project.needs.to.be.imported.to.get.this.script.analyzed=The external Gradle project needs to be imported to get this script analyzed. <br/>You can import the related Gradle project or click "{0}" to get code insight without importing. tool.tip.text.the.external.gradle.project.needs.to.be.imported.to.get.this.script.analyzed=The external Gradle project needs to be imported to get this script analyzed. <br/>You can import the related Gradle project or click "{0}" to get code insight without importing.
display.name.kotlin.multiplatform=Kotlin/Multiplatform
display.name.kotlin.jvm=Kotlin/JVM
display.name.kotlin.js.for.node.js=Kotlin/JS for Node.js
display.name.kotlin.js.for.browser=Kotlin/JS for browser
comman.name.configure.kotlin=Configure Kotlin
command.name.configure.0=Configure {0}
@@ -319,7 +319,7 @@ open class GradleKotlinJSNodeFrameworkSupportProvider(
} }
open class GradleKotlinMPPFrameworkSupportProvider : GradleKotlinFrameworkSupportProvider( open class GradleKotlinMPPFrameworkSupportProvider : GradleKotlinFrameworkSupportProvider(
"KOTLIN_MPP", "Kotlin/Multiplatform", KotlinIcons.MPP "KOTLIN_MPP", KotlinIdeaGradleBundle.message("display.name.kotlin.multiplatform"), KotlinIcons.MPP
) { ) {
override fun getPluginId() = "org.jetbrains.kotlin.multiplatform" override fun getPluginId() = "org.jetbrains.kotlin.multiplatform"
override fun getPluginExpression() = "id 'org.jetbrains.kotlin.multiplatform'" override fun getPluginExpression() = "id 'org.jetbrains.kotlin.multiplatform'"
@@ -26,6 +26,7 @@ import com.intellij.openapi.roots.ModifiableModelsProvider
import com.intellij.openapi.roots.ModifiableRootModel import com.intellij.openapi.roots.ModifiableRootModel
import org.gradle.util.GradleVersion import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.idea.KotlinIcons import org.jetbrains.kotlin.idea.KotlinIcons
import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.GSK_KOTLIN_VERSION_PROPERTY_NAME import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.GSK_KOTLIN_VERSION_PROPERTY_NAME
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.getKotlinGradlePluginClassPathSnippet import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.getKotlinGradlePluginClassPathSnippet
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.getKotlinModuleDependencySnippet import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.getKotlinModuleDependencySnippet
@@ -33,7 +34,10 @@ import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle
import org.jetbrains.kotlin.idea.formatter.ProjectCodeStyleImporter import org.jetbrains.kotlin.idea.formatter.ProjectCodeStyleImporter
import org.jetbrains.kotlin.idea.statistics.NewProjectWizardsFUSCollector import org.jetbrains.kotlin.idea.statistics.NewProjectWizardsFUSCollector
import org.jetbrains.kotlin.idea.util.isSnapshot import org.jetbrains.kotlin.idea.util.isSnapshot
import org.jetbrains.kotlin.idea.versions.* import org.jetbrains.kotlin.idea.versions.MAVEN_JS_STDLIB_ID
import org.jetbrains.kotlin.idea.versions.bundledRuntimeVersion
import org.jetbrains.kotlin.idea.versions.getDefaultJvmTarget
import org.jetbrains.kotlin.idea.versions.getStdlibArtifactId
import org.jetbrains.plugins.gradle.frameworkSupport.BuildScriptDataBuilder import org.jetbrains.plugins.gradle.frameworkSupport.BuildScriptDataBuilder
import org.jetbrains.plugins.gradle.frameworkSupport.KotlinDslGradleFrameworkSupportProvider import org.jetbrains.plugins.gradle.frameworkSupport.KotlinDslGradleFrameworkSupportProvider
import javax.swing.Icon import javax.swing.Icon
@@ -121,7 +125,11 @@ abstract class KotlinDslGradleKotlinFrameworkSupportProvider(
} }
class KotlinDslGradleKotlinJavaFrameworkSupportProvider : class KotlinDslGradleKotlinJavaFrameworkSupportProvider :
KotlinDslGradleKotlinFrameworkSupportProvider("KOTLIN", "Kotlin/JVM", KotlinIcons.SMALL_LOGO) { KotlinDslGradleKotlinFrameworkSupportProvider(
"KOTLIN",
KotlinIdeaGradleBundle.message("display.name.kotlin.jvm"),
KotlinIcons.SMALL_LOGO
) {
override fun getOldSyntaxPluginDefinition() = "plugin(\"${KotlinGradleModuleConfigurator.KOTLIN}\")" override fun getOldSyntaxPluginDefinition() = "plugin(\"${KotlinGradleModuleConfigurator.KOTLIN}\")"
override fun getPluginDefinition() = "kotlin(\"jvm\")" override fun getPluginDefinition() = "kotlin(\"jvm\")"
@@ -147,7 +155,8 @@ class KotlinDslGradleKotlinJavaFrameworkSupportProvider :
val minGradleVersion = GradleVersion.version("5.0") val minGradleVersion = GradleVersion.version("5.0")
if (buildScriptData.gradleVersion >= minGradleVersion) if (buildScriptData.gradleVersion >= minGradleVersion)
buildScriptData buildScriptData
.addOther(""" .addOther(
"""
tasks { tasks {
compileKotlin { compileKotlin {
kotlinOptions.jvmTarget = "1.8" kotlinOptions.jvmTarget = "1.8"
@@ -201,19 +210,29 @@ abstract class AbstractKotlinDslGradleKotlinJSFrameworkSupportProvider(
} }
class KotlinDslGradleKotlinJSBrowserFrameworkSupportProvider : class KotlinDslGradleKotlinJSBrowserFrameworkSupportProvider :
AbstractKotlinDslGradleKotlinJSFrameworkSupportProvider("KOTLIN_JS_BROWSER", "Kotlin/JS for browser") { AbstractKotlinDslGradleKotlinJSFrameworkSupportProvider(
"KOTLIN_JS_BROWSER",
KotlinIdeaGradleBundle.message("display.name.kotlin.js.for.browser")
) {
override val jsSubTargetName: String override val jsSubTargetName: String
get() = "browser" get() = "browser"
} }
class KotlinDslGradleKotlinJSNodeFrameworkSupportProvider : class KotlinDslGradleKotlinJSNodeFrameworkSupportProvider :
AbstractKotlinDslGradleKotlinJSFrameworkSupportProvider("KOTLIN_JS_NODE", "Kotlin/JS for Node.js") { AbstractKotlinDslGradleKotlinJSFrameworkSupportProvider(
"KOTLIN_JS_NODE",
KotlinIdeaGradleBundle.message("display.name.kotlin.js.for.node.js")
) {
override val jsSubTargetName: String override val jsSubTargetName: String
get() = "nodejs" get() = "nodejs"
} }
class KotlinDslGradleKotlinMPPFrameworkSupportProvider : class KotlinDslGradleKotlinMPPFrameworkSupportProvider :
KotlinDslGradleKotlinFrameworkSupportProvider("KOTLIN_MPP", "Kotlin/Multiplatform", KotlinIcons.MPP) { KotlinDslGradleKotlinFrameworkSupportProvider(
"KOTLIN_MPP",
KotlinIdeaGradleBundle.message("display.name.kotlin.multiplatform"),
KotlinIcons.MPP
) {
override fun getOldSyntaxPluginDefinition() = "plugin(\"org.jetbrains.kotlin.multiplatform\")" override fun getOldSyntaxPluginDefinition() = "plugin(\"org.jetbrains.kotlin.multiplatform\")"
override fun getPluginDefinition() = "kotlin(\"multiplatform\")" override fun getPluginDefinition() = "kotlin(\"multiplatform\")"
@@ -32,8 +32,9 @@ class KotlinGradleMobileMultiplatformModuleBuilder :
override fun getPresentableName() = KotlinIdeaGradleBundle.message("presentable.text.mobile.android.ios.gradle") override fun getPresentableName() = KotlinIdeaGradleBundle.message("presentable.text.mobile.android.ios.gradle")
override fun getDescription() = override fun getDescription() = KotlinIdeaGradleBundle.message(
KotlinIdeaGradleBundle.message("description.text.multiplatform.gradle.project.allowing.reuse.of.the.same.kotlin.code.between.android.and.ios.mobile.platforms") "description.text.multiplatform.gradle.project.allowing.reuse.of.the.same.kotlin.code.between.android.and.ios.mobile.platforms"
)
override fun BuildScriptDataBuilder.setupAdditionalDependencies() { override fun BuildScriptDataBuilder.setupAdditionalDependencies() {
addBuildscriptDependencyNotation("classpath 'com.android.tools.build:gradle:3.2.1'") addBuildscriptDependencyNotation("classpath 'com.android.tools.build:gradle:3.2.1'")
@@ -28,8 +28,9 @@ class KotlinGradleMobileSharedMultiplatformModuleBuilder : KotlinGradleAbstractM
override fun getPresentableName() = KotlinIdeaGradleBundle.message("presentable.text.mobile.shared.library.gradle") override fun getPresentableName() = KotlinIdeaGradleBundle.message("presentable.text.mobile.shared.library.gradle")
override fun getDescription() = override fun getDescription() = KotlinIdeaGradleBundle.message(
KotlinIdeaGradleBundle.message("description.text.multiplatform.gradle.project.allowing.reuse.of.the.same.kotlin.code.between.two.mobile.platforms.jvm.android.and.native") "description.text.multiplatform.gradle.project.allowing.reuse.of.the.same.kotlin.code.between.two.mobile.platforms.jvm.android.and.native"
)
override fun createProjectSkeleton(rootDir: VirtualFile) { override fun createProjectSkeleton(rootDir: VirtualFile) {
val src = rootDir.createChildDirectory(this, "src") val src = rootDir.createChildDirectory(this, "src")
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.configuration
import com.intellij.openapi.module.Module import com.intellij.openapi.module.Module
import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.projectRoots.Sdk
import com.intellij.psi.PsiFile import com.intellij.psi.PsiFile
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle
import org.jetbrains.kotlin.idea.core.isAndroidModule import org.jetbrains.kotlin.idea.core.isAndroidModule
import org.jetbrains.kotlin.idea.versions.getDefaultJvmTarget import org.jetbrains.kotlin.idea.versions.getDefaultJvmTarget
@@ -69,7 +70,10 @@ class KotlinGradleModuleConfigurator : KotlinWithGradleConfigurator() {
} }
companion object { companion object {
val NAME = "gradle" @NonNls
val KOTLIN = "kotlin" const val NAME = "gradle"
@NonNls
const val KOTLIN = "kotlin"
} }
} }
@@ -27,8 +27,9 @@ class KotlinGradleWebMultiplatformModuleBuilder : KotlinGradleAbstractMultiplatf
override fun getPresentableName() = KotlinIdeaGradleBundle.message("presentable.text.js.client.and.jvm.server.gradle") override fun getPresentableName() = KotlinIdeaGradleBundle.message("presentable.text.js.client.and.jvm.server.gradle")
override fun getDescription() = override fun getDescription() = KotlinIdeaGradleBundle.message(
KotlinIdeaGradleBundle.message("description.text.multiplatform.gradle.project.allowing.reuse.of.the.same.kotlin.code.between.js.client.and.jvm.server") "description.text.multiplatform.gradle.project.allowing.reuse.of.the.same.kotlin.code.between.js.client.and.jvm.server"
)
override fun BuildScriptDataBuilder.setupAdditionalDependencies() { override fun BuildScriptDataBuilder.setupAdditionalDependencies() {
addBuildscriptRepositoriesDefinition("jcenter()") addBuildscriptRepositoriesDefinition("jcenter()")
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.configuration
import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.projectRoots.Sdk
import com.intellij.psi.PsiFile import com.intellij.psi.PsiFile
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle
import org.jetbrains.kotlin.idea.util.module import org.jetbrains.kotlin.idea.util.module
import org.jetbrains.kotlin.idea.versions.MAVEN_JS_STDLIB_ID import org.jetbrains.kotlin.idea.versions.MAVEN_JS_STDLIB_ID
@@ -31,6 +32,7 @@ class KotlinJsGradleModuleConfigurator : KotlinWithGradleConfigurator() {
override val kotlinPluginName: String = KOTLIN_JS override val kotlinPluginName: String = KOTLIN_JS
override fun getKotlinPluginExpression(forKotlinDsl: Boolean): String = override fun getKotlinPluginExpression(forKotlinDsl: Boolean): String =
if (forKotlinDsl) "id(\"kotlin2js\")" else "id 'kotlin2js'" if (forKotlinDsl) "id(\"kotlin2js\")" else "id 'kotlin2js'"
override fun getMinimumSupportedVersion() = "1.1.0" override fun getMinimumSupportedVersion() = "1.1.0"
override fun getStdlibArtifactName(sdk: Sdk?, version: String): String = MAVEN_JS_STDLIB_ID override fun getStdlibArtifactName(sdk: Sdk?, version: String): String = MAVEN_JS_STDLIB_ID
@@ -47,7 +49,7 @@ class KotlinJsGradleModuleConfigurator : KotlinWithGradleConfigurator() {
file.module?.getBuildScriptSettingsPsiFile() file.module?.getBuildScriptSettingsPsiFile()
} }
if (settingsPsiFile != null) { if (settingsPsiFile != null) {
getManipulator(settingsPsiFile).addResolutionStrategy("kotlin2js") getManipulator(settingsPsiFile).addResolutionStrategy(KOTLIN_JS)
} }
} }
@@ -55,6 +57,7 @@ class KotlinJsGradleModuleConfigurator : KotlinWithGradleConfigurator() {
} }
companion object { companion object {
val KOTLIN_JS = "kotlin2js" @NonNls
const val KOTLIN_JS = "kotlin2js"
} }
} }
@@ -28,6 +28,7 @@ import com.intellij.util.text.VersionComparatorUtil
import org.gradle.tooling.model.UnsupportedMethodException import org.gradle.tooling.model.UnsupportedMethodException
import org.gradle.tooling.model.idea.IdeaContentRoot import org.gradle.tooling.model.idea.IdeaContentRoot
import org.gradle.tooling.model.idea.IdeaModule import org.gradle.tooling.model.idea.IdeaModule
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.ManualLanguageFeatureSetting import org.jetbrains.kotlin.cli.common.arguments.ManualLanguageFeatureSetting
@@ -171,7 +172,7 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
externalProject?.sourceSets?.values?.forEach { sourceSet -> externalProject?.sourceSets?.values?.forEach { sourceSet ->
sourceSet.dependencies.forEach { dependency -> sourceSet.dependencies.forEach { dependency ->
dependency.getDependencyArtifacts().map { toCanonicalPath(it.absolutePath) } dependency.getDependencyArtifacts().map { toCanonicalPath(it.absolutePath) }
.filter { mppArtifacts.keys.contains(it) }.forEach {filePath -> .filter { mppArtifacts.keys.contains(it) }.forEach { filePath ->
(artifactToDependency[filePath] ?: ArrayList<ExternalDependency>().also { newCollection -> (artifactToDependency[filePath] ?: ArrayList<ExternalDependency>().also { newCollection ->
artifactToDependency[filePath] = newCollection artifactToDependency[filePath] = newCollection
}).add(dependency) }).add(dependency)
@@ -678,7 +679,7 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
it.startsWith("ios") || it.startsWith("watchos") || it.startsWith("tvos") it.startsWith("ios") || it.startsWith("watchos") || it.startsWith("tvos")
} ?: false } ?: false
private fun Iterable<CompilationWithDependencies>.selectFirstAvailableTarget(vararg targetsByPriority: String): CompilationWithDependencies { private fun Iterable<CompilationWithDependencies>.selectFirstAvailableTarget(@NonNls vararg targetsByPriority: String): CompilationWithDependencies {
for (target in targetsByPriority) { for (target in targetsByPriority) {
val result = firstOrNull { it.konanTarget == target } val result = firstOrNull { it.konanTarget == target }
if (result != null) { if (result != null) {
@@ -26,6 +26,7 @@ import com.intellij.psi.PsiFile
import com.intellij.psi.PsiManager import com.intellij.psi.PsiManager
import com.intellij.util.PathUtil import com.intellij.util.PathUtil
import org.gradle.util.GradleVersion import org.gradle.util.GradleVersion
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.config.ApiVersion import org.jetbrains.kotlin.config.ApiVersion
import org.jetbrains.kotlin.config.CoroutineSupport import org.jetbrains.kotlin.config.CoroutineSupport
import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.config.LanguageFeature
@@ -110,7 +111,7 @@ abstract class KotlinWithGradleConfigurator : KotlinProjectConfigurator {
} }
fun configureSilently(project: Project, modules: List<Module>, version: String): NotificationMessageCollector { fun configureSilently(project: Project, modules: List<Module>, version: String): NotificationMessageCollector {
return project.executeCommand("Configure Kotlin") { return project.executeCommand(KotlinIdeaGradleBundle.message("comman.name.configure.kotlin")) {
val collector = createConfigureKotlinNotificationCollector(project) val collector = createConfigureKotlinNotificationCollector(project)
val changedFiles = configureWithVersion(project, modules, version, collector) val changedFiles = configureWithVersion(project, modules, version, collector)
@@ -202,7 +203,7 @@ abstract class KotlinWithGradleConfigurator : KotlinProjectConfigurator {
version: String, version: String,
collector: NotificationMessageCollector collector: NotificationMessageCollector
): Boolean { ): Boolean {
val isModified = file.project.executeWriteCommand("Configure ${file.name}", null) { val isModified = file.project.executeWriteCommand(KotlinIdeaGradleBundle.message("command.name.configure.0", file.name), null) {
val isModified = addElementsToFile(file, isTopLevelProjectFile, version) val isModified = addElementsToFile(file, isTopLevelProjectFile, version)
CodeInsightUtilCore.forcePsiPostprocessAndRestoreElement(file) CodeInsightUtilCore.forcePsiPostprocessAndRestoreElement(file)
@@ -305,13 +306,20 @@ abstract class KotlinWithGradleConfigurator : KotlinProjectConfigurator {
fun getManipulator(file: PsiFile, preferNewSyntax: Boolean = true): GradleBuildScriptManipulator<*> = fun getManipulator(file: PsiFile, preferNewSyntax: Boolean = true): GradleBuildScriptManipulator<*> =
getManipulatorIfAny(file, preferNewSyntax) ?: error("Unknown build script file type (${file::class.qualifiedName})!") getManipulatorIfAny(file, preferNewSyntax) ?: error("Unknown build script file type (${file::class.qualifiedName})!")
val GROUP_ID = "org.jetbrains.kotlin" @NonNls
val GRADLE_PLUGIN_ID = "kotlin-gradle-plugin" const val GROUP_ID = "org.jetbrains.kotlin"
val CLASSPATH = "classpath \"$GROUP_ID:$GRADLE_PLUGIN_ID:\$kotlin_version\"" @NonNls
const val GRADLE_PLUGIN_ID = "kotlin-gradle-plugin"
private val KOTLIN_BUILD_SCRIPT_NAME = "build.gradle.kts" @NonNls
private val KOTLIN_SETTINGS_SCRIPT_NAME = "settings.gradle.kts" const val CLASSPATH = "classpath \"$GROUP_ID:$GRADLE_PLUGIN_ID:\$kotlin_version\""
@NonNls
private const val KOTLIN_BUILD_SCRIPT_NAME = "build.gradle.kts"
@NonNls
private const val KOTLIN_SETTINGS_SCRIPT_NAME = "settings.gradle.kts"
fun getGroovyDependencySnippet(artifactName: String, scope: String, withVersion: Boolean, gradleVersion: GradleVersion): String { fun getGroovyDependencySnippet(artifactName: String, scope: String, withVersion: Boolean, gradleVersion: GradleVersion): String {
val updatedScope = gradleVersion.scope(scope) val updatedScope = gradleVersion.scope(scope)
@@ -5,9 +5,14 @@
package org.jetbrains.kotlin.idea.configuration.klib package org.jetbrains.kotlin.idea.configuration.klib
import org.jetbrains.annotations.NonNls
object KotlinNativeLibraryNameUtil { object KotlinNativeLibraryNameUtil {
@NonNls
internal const val KOTLIN_NATIVE_LIBRARY_PREFIX = "Kotlin/Native" internal const val KOTLIN_NATIVE_LIBRARY_PREFIX = "Kotlin/Native"
internal const val KOTLIN_NATIVE_LIBRARY_PREFIX_PLUS_SPACE = "$KOTLIN_NATIVE_LIBRARY_PREFIX " internal const val KOTLIN_NATIVE_LIBRARY_PREFIX_PLUS_SPACE = "$KOTLIN_NATIVE_LIBRARY_PREFIX "
@NonNls
internal const val GRADLE_LIBRARY_PREFIX = "Gradle: " internal const val GRADLE_LIBRARY_PREFIX = "Gradle: "
private val IDE_LIBRARY_NAME_REGEX = Regex("^$KOTLIN_NATIVE_LIBRARY_PREFIX_PLUS_SPACE([^\\s]+) - ([^\\s]+)( \\[([\\w ,()*]+)])?$") private val IDE_LIBRARY_NAME_REGEX = Regex("^$KOTLIN_NATIVE_LIBRARY_PREFIX_PLUS_SPACE([^\\s]+) - ([^\\s]+)( \\[([\\w ,()*]+)])?$")
@@ -14,8 +14,10 @@ import com.intellij.openapi.extensions.PluginId
import com.intellij.openapi.project.ProjectManager import com.intellij.openapi.project.ProjectManager
import com.intellij.openapi.updateSettings.impl.pluginsAdvertisement.PluginsAdvertiser import com.intellij.openapi.updateSettings.impl.pluginsAdvertisement.PluginsAdvertiser
import com.intellij.util.PlatformUtils import com.intellij.util.PlatformUtils
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle
@NonNls
const val NATIVE_DEBUG_ID = "com.intellij.nativeDebug" const val NATIVE_DEBUG_ID = "com.intellij.nativeDebug"
fun suggestNativeDebug(projectPath: String) { fun suggestNativeDebug(projectPath: String) {
@@ -12,23 +12,20 @@ import com.intellij.openapi.externalSystem.model.project.ModuleData
import com.intellij.openapi.externalSystem.model.project.ProjectData import com.intellij.openapi.externalSystem.model.project.ProjectData
import com.intellij.openapi.externalSystem.model.task.TaskData import com.intellij.openapi.externalSystem.model.task.TaskData
import com.intellij.openapi.externalSystem.util.Order import com.intellij.openapi.externalSystem.util.Order
import com.intellij.openapi.util.io.StreamUtil
import com.intellij.openapi.util.registry.Registry import com.intellij.openapi.util.registry.Registry
import com.intellij.util.Consumer import com.intellij.util.Consumer
import org.gradle.tooling.model.idea.IdeaModule import org.gradle.tooling.model.idea.IdeaModule
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.gradle.KotlinMPPGradleModel import org.jetbrains.kotlin.gradle.KotlinMPPGradleModel
import org.jetbrains.kotlin.gradle.KotlinMPPGradleModelBuilder import org.jetbrains.kotlin.gradle.KotlinMPPGradleModelBuilder
import org.jetbrains.kotlin.idea.configuration.getMppModel import org.jetbrains.kotlin.idea.configuration.getMppModel
import org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension import org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension
import org.jetbrains.plugins.gradle.service.project.GradleProjectResolverExtension import org.jetbrains.plugins.gradle.service.project.GradleProjectResolverExtension
import org.jetbrains.plugins.gradle.service.project.JavaGradleProjectResolver
import java.io.IOException
import java.lang.Boolean
import java.nio.charset.StandardCharsets
@Order(Int.MIN_VALUE) @Order(Int.MIN_VALUE)
open class KotlinTestTasksResolver : AbstractProjectResolverExtension() { open class KotlinTestTasksResolver : AbstractProjectResolverExtension() {
companion object { companion object {
@NonNls
private const val ENABLED_REGISTRY_KEY = "kotlin.gradle.testing.enabled" private const val ENABLED_REGISTRY_KEY = "kotlin.gradle.testing.enabled"
} }
@@ -98,7 +95,7 @@ open class KotlinTestTasksResolver : AbstractProjectResolverExtension() {
val testExecutionExpected = parameters[GradleProjectResolverExtension.TEST_EXECUTION_EXPECTED_KEY] val testExecutionExpected = parameters[GradleProjectResolverExtension.TEST_EXECUTION_EXPECTED_KEY]
if (Boolean.valueOf(testExecutionExpected)) { if (java.lang.Boolean.valueOf(testExecutionExpected)) {
try { try {
val addTestListenerScript = javaClass val addTestListenerScript = javaClass
.getResourceAsStream("/org/jetbrains/kotlin/idea/gradle/testing/addKotlinMppTestListener.groovy") .getResourceAsStream("/org/jetbrains/kotlin/idea/gradle/testing/addKotlinMppTestListener.groovy")
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.inspections.gradle
import com.intellij.openapi.externalSystem.model.ProjectKeys import com.intellij.openapi.externalSystem.model.ProjectKeys
import com.intellij.openapi.roots.ProjectRootManager import com.intellij.openapi.roots.ProjectRootManager
import com.intellij.psi.PsiFile import com.intellij.psi.PsiFile
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle
import org.jetbrains.kotlin.idea.configuration.KOTLIN_GROUP_ID import org.jetbrains.kotlin.idea.configuration.KOTLIN_GROUP_ID
import org.jetbrains.kotlin.idea.inspections.gradle.GradleHeuristicHelper.PRODUCTION_DEPENDENCY_STATEMENTS import org.jetbrains.kotlin.idea.inspections.gradle.GradleHeuristicHelper.PRODUCTION_DEPENDENCY_STATEMENTS
@@ -67,7 +68,11 @@ class DifferentStdlibGradleVersionInspection : BaseInspection() {
} }
companion object { companion object {
private fun findLibraryStatement(closure: GrClosableBlock, libraryGroup: String, libraryIds: List<String>): GrCallExpression? { private fun findLibraryStatement(
closure: GrClosableBlock,
@NonNls libraryGroup: String,
libraryIds: List<String>
): GrCallExpression? {
return GradleHeuristicHelper.findStatementWithPrefixes(closure, PRODUCTION_DEPENDENCY_STATEMENTS).firstOrNull { statement -> return GradleHeuristicHelper.findStatementWithPrefixes(closure, PRODUCTION_DEPENDENCY_STATEMENTS).firstOrNull { statement ->
libraryIds.any { libraryIds.any {
val index = statement.text.indexOf(it) val index = statement.text.indexOf(it)
@@ -25,7 +25,7 @@ import org.jetbrains.plugins.gradle.util.GradleConstants
import org.jetbrains.plugins.groovy.codeInspection.BaseInspectionVisitor import org.jetbrains.plugins.groovy.codeInspection.BaseInspectionVisitor
import org.jetbrains.plugins.groovy.lang.psi.GroovyFileBase import org.jetbrains.plugins.groovy.lang.psi.GroovyFileBase
val KOTLIN_PLUGIN_CLASSPATH_MARKER = "${KotlinWithGradleConfigurator.GROUP_ID}:${KotlinWithGradleConfigurator.GRADLE_PLUGIN_ID}:" const val KOTLIN_PLUGIN_CLASSPATH_MARKER = "${KotlinWithGradleConfigurator.GROUP_ID}:${KotlinWithGradleConfigurator.GRADLE_PLUGIN_ID}:"
abstract class KotlinGradleInspectionVisitor : BaseInspectionVisitor() { abstract class KotlinGradleInspectionVisitor : BaseInspectionVisitor() {
override fun visitFile(file: GroovyFileBase) { override fun visitFile(file: GroovyFileBase) {