i18n: Add bundle for idea-maven

This commit is contained in:
Yan Zhulanow
2020-02-18 22:14:35 +09:00
committed by Dmitry Gridin
parent 830c7cef07
commit 2702be564a
11 changed files with 137 additions and 50 deletions
@@ -0,0 +1,54 @@
configure.title=Configure Kotlin-Maven plugin
configure.java.with.maven=Java with Maven
configure.javascript.with.maven=JavaScript with Maven
version.different.maven.ide=Kotlin version that is used for building with Maven ({0}) differs from the one bundled into the IDE plugin ({1})
version.different.plugin.library=Plugin version ({0}) is not the same as library version ({1})
change.version=Change version
change.version.to=Change version to {0}
change.version.to.resolved=Change version to {0} ({1})
error.cant.find.pom.for.module=Cannot find pom.xml for module ''{0}''
file.was.modified={0} was modified
update.language.version.title=Update Language Version
update.language.version.feature=This language feature requires version ''{0}'' or later of the Kotlin runtime library. Please update the version in your build script.
update.language.version.feature.support={0} support requires version ''{1}'' or later of the Kotlin runtime library. Please update the version in your build script.
update.language.version.coroutines=Coroutines support requires version ''1.1'' or later of the Kotlin runtime library. Please update the version in your build script.
error.failed.update.pom=Failed to update pom.xml. Please update the file manually.
error.cant.configure.maven.automatically=Couldn't configure kotlin-maven plugin automatically.
error.see.installation.instructions=See manual installation instructions <a href="https://kotlinlang.org/docs/reference/using-maven.html#KotlinBuildTools-Maven">here</a>.
inspection.description=Reports kotlin-maven-plugin configuration issues
inspection.no.executions=Kotlin plugin has no compile executions
inspection.should.run.before.javac=Kotlin plugin should run before javac so kotlin classes could be visible from Java
inspection.javascript.in.java.module=JavaScript goal configured for module with Java files
inspection.jvm.no.stdlib.dependency=Kotlin/JVM compiler configured but no ''{0}'' dependency
inspection.javascript.no.stdlib.dependency=Kotlin/JavaScript compiler configured but no ''{0}'' dependency
inspection.configured.no.execution=You have {0} configured but no corresponding plugin execution
inspection.same.execution.compile.test=It is not recommended to have both ''compile'' and ''test'' goals in the same execution
fix.create.execution.name="Create {0} execution
fix.create.execution.family="Create Kotlin execution
fix.change.phase.name=Change phase to {0}
fix.change.phase.family=Change phase
fix.configure.right.order=Configure maven-compiler-plugin executions in the right order
fix.add.dependency.name=Add ''{0}'' dependency
fix.add.dependency.family=Add dependency
fix.create.execution.compiler.name=Create ''{0}'' execution of kotlin-maven-compiler
fix.create.execution.compiler.family=Create Kotlin execution
fix.add.maven.dependency.name=Add Maven dependency…
fix.kotlin.test.junit.is.recommended=''kotlin-test-junit'' is recommended
fix.kotlin.test.junit.replace=Replace with ''kotlin-test-junit''
fix.move.to.compile.execution=Move to ''compile'' execution
fix.move.to.build.sourceDirectory.tag=Move to ''build'' > ''sourceDirectory'' tag
@@ -0,0 +1,24 @@
/*
* Copyright 2010-2020 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.idea.maven
import com.intellij.CommonBundle
import org.jetbrains.annotations.NonNls
import org.jetbrains.annotations.PropertyKey
import org.jetbrains.kotlin.idea.core.util.KotlinBundleBase
import java.util.*
object KotlinMavenBundle : KotlinBundleBase() {
@NonNls
private const val BUNDLE = "org.jetbrains.kotlin.idea.maven.KotlinMavenBundle"
override fun createBundle(): ResourceBundle = ResourceBundle.getBundle(BUNDLE)
@JvmStatic
fun message(@NonNls @PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any?): String {
return CommonBundle.message(bundle, key, *params)
}
}
@@ -28,12 +28,13 @@ import com.intellij.util.xml.GenericDomValue
import org.jetbrains.idea.maven.dom.MavenDomUtil
import org.jetbrains.idea.maven.dom.model.MavenDomBuild
import org.jetbrains.idea.maven.dom.model.MavenDomPluginExecution
import org.jetbrains.kotlin.idea.maven.KotlinMavenBundle
import org.jetbrains.kotlin.idea.maven.PomFile
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf
class MavenPluginSourcesMoveToExecutionIntention : PsiElementBaseIntentionAction() {
override fun getFamilyName() = "Move to compile execution"
override fun getFamilyName() = KotlinMavenBundle.message("fix.move.to.compile.execution")
override fun getText() = familyName
override fun isAvailable(project: Project, editor: Editor, element: PsiElement): Boolean {
@@ -95,7 +96,7 @@ class MavenPluginSourcesMoveToExecutionIntention : PsiElementBaseIntentionAction
}
class MavenPluginSourcesMoveToBuild : PsiElementBaseIntentionAction() {
override fun getFamilyName() = "Move to build>sourceDirectory tag"
override fun getFamilyName() = KotlinMavenBundle.message("fix.move.to.build.sourceDirectory.tag")
override fun getText() = familyName
override fun isAvailable(project: Project, editor: Editor, element: PsiElement): Boolean {
@@ -23,6 +23,7 @@ import org.jetbrains.idea.maven.dom.model.MavenDomPlugin
import org.jetbrains.kotlin.idea.configuration.NotificationMessageCollector
import org.jetbrains.kotlin.idea.configuration.addStdlibToJavaModuleInfo
import org.jetbrains.kotlin.idea.configuration.hasKotlinJvmRuntimeInScope
import org.jetbrains.kotlin.idea.maven.KotlinMavenBundle
import org.jetbrains.kotlin.idea.maven.PomFile
import org.jetbrains.kotlin.idea.versions.getDefaultJvmTarget
import org.jetbrains.kotlin.idea.versions.getStdlibArtifactId
@@ -76,6 +77,6 @@ class KotlinJavaMavenConfigurator : KotlinMavenConfigurator(
companion object {
private const val NAME = "maven"
const val TEST_LIB_ID = "kotlin-test"
private const val PRESENTABLE_TEXT = "Java with Maven"
private val PRESENTABLE_TEXT = KotlinMavenBundle.message("configure.java.with.maven")
}
}
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.maven.configuration
import com.intellij.openapi.module.Module
import org.jetbrains.idea.maven.dom.model.MavenDomPlugin
import org.jetbrains.kotlin.idea.configuration.hasKotlinJsRuntimeInScope
import org.jetbrains.kotlin.idea.maven.KotlinMavenBundle
import org.jetbrains.kotlin.idea.maven.PomFile
import org.jetbrains.kotlin.idea.versions.MAVEN_JS_STDLIB_ID
import org.jetbrains.kotlin.platform.TargetPlatform
@@ -52,6 +53,6 @@ class KotlinJavascriptMavenConfigurator :
companion object {
private const val NAME = "js maven"
private const val PRESENTABLE_TEXT = "JavaScript with Maven"
private val PRESENTABLE_TEXT = KotlinMavenBundle.message("configure.javascript.with.maven")
}
}
@@ -114,7 +114,7 @@ protected constructor(
configureModule(module, file, dialog.kotlinVersion, collector)
OpenFileAction.openFile(file.virtualFile, project)
} else {
showErrorMessage(project, "Cannot find pom.xml for module " + module.name)
showErrorMessage(project, KotlinMavenBundle.message("error.cant.find.pom.for.module", module.name))
}
}
collector.showNotification()
@@ -176,7 +176,7 @@ protected constructor(
CodeInsightUtilCore.forcePsiPostprocessAndRestoreElement<PsiFile>(file)
collector.addMessage(virtualFile.path + " was modified")
collector.addMessage(KotlinMavenBundle.message("file.was.modified", virtualFile.path))
return true
}
@@ -221,9 +221,8 @@ protected constructor(
if (runtimeUpdateRequired) {
Messages.showErrorDialog(
module.project,
"This language feature requires version $requiredStdlibVersion or later of the Kotlin runtime library. " +
"Please update the version in your build script.",
"Update Language Version"
KotlinMavenBundle.message("update.language.version.feature", requiredStdlibVersion),
KotlinMavenBundle.message("update.language.version.title")
)
return
}
@@ -232,8 +231,8 @@ protected constructor(
if (element == null) {
Messages.showErrorDialog(
module.project,
"Failed to update.pom.xml. Please update the file manually.",
"Update Language Version"
KotlinMavenBundle.message("error.failed.update.pom"),
KotlinMavenBundle.message("update.language.version.title")
)
} else {
OpenFileDescriptor(module.project, element.containingFile.virtualFile, element.textRange.startOffset).navigate(true)
@@ -258,8 +257,7 @@ protected constructor(
if (runtimeUpdateRequired) {
Messages.showErrorDialog(
module.project,
"Coroutines support requires version 1.1 or later of the Kotlin runtime library. " +
"Please update the version in your build script.",
KotlinMavenBundle.message("update.language.version.coroutines"),
messageTitle
)
return
@@ -285,8 +283,7 @@ protected constructor(
if (state != LanguageFeature.State.DISABLED && getRuntimeLibraryVersion(module).toApiVersion() < sinceVersion) {
Messages.showErrorDialog(
module.project,
"${feature.presentableName} support requires version $sinceVersion or later of the Kotlin runtime library. " +
"Please update the version in your build script.",
KotlinMavenBundle.message("update.language.version.feature.support", feature.presentableName, sinceVersion),
messageTitle
)
return
@@ -317,7 +314,7 @@ protected constructor(
if (element == null) {
Messages.showErrorDialog(
module.project,
"Failed to update.pom.xml. Please update the file manually.",
KotlinMavenBundle.message("error.failed.update.pom"),
messageTitle
)
}
@@ -336,7 +333,7 @@ protected constructor(
if (element == null) {
Messages.showErrorDialog(
module.project,
"Failed to update.pom.xml. Please update the file manually.",
KotlinMavenBundle.message("error.failed.update.pom"),
messageTitle
)
}
@@ -369,12 +366,13 @@ protected constructor(
}
private fun showErrorMessage(project: Project, message: String?) {
val cantConfigureAutomatically = KotlinMavenBundle.message("error.cant.configure.maven.automatically")
val seeInstructions = KotlinMavenBundle.message("error.see.installation.instructions")
Messages.showErrorDialog(
project,
"<html>Couldn't configure kotlin-maven plugin automatically.<br/>" +
(if (message != null) "$message</br>" else "") +
"See manual installation instructions <a href=\"https://confluence.jetbrains.com/display/Kotlin/Kotlin+Build+Tools#KotlinBuildTools-Maven\">here</a>.</html>",
"Configure Kotlin-Maven Plugin"
"<html>$cantConfigureAutomatically<br/>${if (message != null) "$message</br>" else ""}$seeInstructions</html>",
KotlinMavenBundle.message("configure.title")
)
}
}
@@ -14,6 +14,7 @@ import org.jetbrains.idea.maven.dom.model.MavenDomPlugin
import org.jetbrains.idea.maven.dom.model.MavenDomProjectModel
import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.kotlin.idea.inspections.PluginVersionDependentInspection
import org.jetbrains.kotlin.idea.maven.KotlinMavenBundle
import org.jetbrains.kotlin.idea.maven.PomFile
import org.jetbrains.kotlin.idea.versions.bundledRuntimeVersion
@@ -43,12 +44,13 @@ class DifferentKotlinMavenVersionInspection : DomElementsInspection<MavenDomProj
}
private fun createProblem(holder: DomElementAnnotationHolder, plugin: MavenDomPlugin) {
val versionFromMaven = plugin.version.stringValue
val versionFromIde = testVersionMessage ?: idePluginVersion
holder.createProblem(
plugin.version,
HighlightSeverity.WARNING,
"Kotlin version that is used for building with Maven (${plugin.version
.stringValue}) differs from the one bundled into the IDE plugin (${testVersionMessage
?: idePluginVersion})"
KotlinMavenBundle.message("version.different.maven.ide", versionFromMaven, versionFromIde)
)
}
}
@@ -18,6 +18,7 @@ import org.jetbrains.idea.maven.dom.model.MavenDomProjectModel
import org.jetbrains.idea.maven.model.MavenId
import org.jetbrains.idea.maven.project.MavenProject
import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.kotlin.idea.maven.KotlinMavenBundle
import org.jetbrains.kotlin.idea.maven.PomFile
import org.jetbrains.kotlin.idea.maven.configuration.KotlinMavenConfigurator
import org.jetbrains.kotlin.utils.PathUtil
@@ -50,7 +51,7 @@ class DifferentMavenStdlibVersionInspection : DomElementsInspection<MavenDomProj
holder.createProblem(
plugin.version,
HighlightSeverity.WARNING,
"Plugin version (${plugin.version}) is not the same as library version (${stdlibVersion.joinToString(",", "", "")})",
KotlinMavenBundle.message("version.different.plugin.library", plugin.version, stdlibVersion.joinToString(",", "", "")),
*fixes.toTypedArray()
)
}
@@ -65,7 +66,7 @@ class DifferentMavenStdlibVersionInspection : DomElementsInspection<MavenDomProj
holder.createProblem(
dependency.version,
HighlightSeverity.WARNING,
"Plugin version ($pluginVersion) is not the same as library version (${dependency.version})",
KotlinMavenBundle.message("version.different.plugin.library", pluginVersion, dependency.version),
*fixes.toTypedArray()
)
}
@@ -85,10 +86,12 @@ class DifferentMavenStdlibVersionInspection : DomElementsInspection<MavenDomProj
private class SetVersionQuickFix(val versionElement: GenericDomValue<*>, val newVersion: String, val versionResolved: String?) :
LocalQuickFix {
override fun getName() =
if (versionResolved == null) "Change version to $newVersion" else "Change version to $newVersion ($versionResolved)"
override fun getName() = when (versionResolved) {
null -> KotlinMavenBundle.message("change.version.to", newVersion)
else -> KotlinMavenBundle.message("change.version.to.resolved", newVersion, versionResolved)
}
override fun getFamilyName() = "Change version"
override fun getFamilyName() = KotlinMavenBundle.message("change.version")
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
versionElement.value = newVersion
@@ -25,6 +25,7 @@ import org.jetbrains.idea.maven.model.MavenId
import org.jetbrains.idea.maven.model.MavenPlugin
import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.idea.maven.utils.MavenArtifactScope
import org.jetbrains.kotlin.idea.maven.KotlinMavenBundle
import org.jetbrains.kotlin.idea.maven.PomFile
import org.jetbrains.kotlin.idea.maven.configuration.KotlinMavenConfigurator
import org.jetbrains.kotlin.idea.platform.tooling
@@ -42,7 +43,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
private val JS_STDLIB_MAVEN_ID = MavenId(KotlinMavenConfigurator.GROUP_ID, MAVEN_JS_STDLIB_ID, null)
}
override fun getStaticDescription() = "Reports kotlin-maven-plugin configuration issues"
override fun getStaticDescription() = KotlinMavenBundle.message("inspection.description")
override fun checkFileElement(domFileElement: DomFileElement<MavenDomProjectModel>?, holder: DomElementAnnotationHolder?) {
if (domFileElement == null || holder == null) {
@@ -80,7 +81,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
holder.createProblem(
kotlinPlugin.artifactId.createStableCopy(),
HighlightSeverity.WARNING,
"Kotlin plugin has no compile executions",
KotlinMavenBundle.message("inspection.no.executions"),
*fixes
)
} else {
@@ -104,7 +105,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
holder.createProblem(
badExecution.phase.createStableCopy(),
HighlightSeverity.WARNING,
"Kotlin plugin should run before javac so kotlin classes could be visible from Java",
KotlinMavenBundle.message("inspection.should.run.before.javac"),
FixExecutionPhaseLocalFix(badExecution, PomFile.DefaultPhases.ProcessSources),
AddJavaExecutionsLocalFix(module, domFileElement.file, kotlinPlugin)
)
@@ -115,7 +116,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
holder.createProblem(
badExecution.goals.goals.first { it.isJsGoal() }.createStableCopy(),
HighlightSeverity.WARNING,
"JavaScript goal configured for module with Java files"
KotlinMavenBundle.message("inspection.javascript.in.java.module")
)
}
}
@@ -126,7 +127,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
holder.createProblem(
kotlinPlugin.artifactId.createStableCopy(),
HighlightSeverity.WARNING,
"Kotlin JVM compiler configured but no $MAVEN_STDLIB_ID dependency",
KotlinMavenBundle.message("inspection.jvm.no.stdlib.dependency", MAVEN_STDLIB_ID),
FixAddStdlibLocalFix(domFileElement.file, MAVEN_STDLIB_ID, kotlinPlugin.version.rawText)
)
}
@@ -138,7 +139,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
holder.createProblem(
kotlinPlugin.artifactId.createStableCopy(),
HighlightSeverity.WARNING,
"Kotlin JavaScript compiler configured but no $MAVEN_JS_STDLIB_ID dependency",
KotlinMavenBundle.message("inspection.javascript.no.stdlib.dependency", MAVEN_JS_STDLIB_ID),
FixAddStdlibLocalFix(domFileElement.file, MAVEN_JS_STDLIB_ID, kotlinPlugin.version.rawText)
)
}
@@ -152,7 +153,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
holder.createProblem(
dep.artifactId.createStableCopy(),
HighlightSeverity.WARNING,
"You have ${dep.artifactId} configured but no corresponding plugin execution",
KotlinMavenBundle.message("inspection.configured.no.execution", dep.artifactId),
ConfigurePluginExecutionLocalFix(module, domFileElement.file, PomFile.KotlinGoals.Compile, dep.version.rawText)
)
}
@@ -164,7 +165,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
holder.createProblem(
dep.artifactId.createStableCopy(),
HighlightSeverity.WARNING,
"You have ${dep.artifactId} configured but no corresponding plugin execution",
KotlinMavenBundle.message("inspection.configured.no.execution", dep.artifactId),
ConfigurePluginExecutionLocalFix(module, domFileElement.file, PomFile.KotlinGoals.Js, dep.version.rawText)
)
}
@@ -180,7 +181,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
holder.createProblem(
badExecution.goals.createStableCopy(),
HighlightSeverity.WEAK_WARNING,
"It is not recommended to have both test and compile goals in the same execution"
KotlinMavenBundle.message("inspection.same.execution.compile.test")
)
}
}
@@ -193,9 +194,9 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
) : LocalQuickFix {
private val pointer = file.createSmartPointer()
override fun getName() = "Create $goal execution"
override fun getName() = KotlinMavenBundle.message("fix.create.execution.name", goal)
override fun getFamilyName() = "Create kotlin execution"
override fun getFamilyName() = KotlinMavenBundle.message("fix.create.execution.family")
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
val file = pointer.element ?: return
@@ -205,9 +206,9 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
}
private class FixExecutionPhaseLocalFix(val execution: MavenDomPluginExecution, val newPhase: String) : LocalQuickFix {
override fun getName() = "Change phase to $newPhase"
override fun getName() = KotlinMavenBundle.message("fix.change.phase.name", newPhase)
override fun getFamilyName() = "Change phase"
override fun getFamilyName() = KotlinMavenBundle.message("fix.change.phase.family")
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
execution.phase.value = newPhase
@@ -217,7 +218,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
private class AddJavaExecutionsLocalFix(val module: Module, file: XmlFile, val kotlinPlugin: MavenDomPlugin) : LocalQuickFix {
private val pointer = file.createSmartPointer()
override fun getName() = "Configure maven-compiler-plugin executions in the right order"
override fun getName() = KotlinMavenBundle.message("fix.configure.right.order")
override fun getFamilyName() = name
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
@@ -229,8 +230,8 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
private class FixAddStdlibLocalFix(pomFile: XmlFile, val id: String, val version: String?) : LocalQuickFix {
private val pointer = pomFile.createSmartPointer()
override fun getName() = "Add $id dependency"
override fun getFamilyName() = "Add dependency"
override fun getName() = KotlinMavenBundle.message("fix.add.dependency.name", id)
override fun getFamilyName() = KotlinMavenBundle.message("fix.add.dependency.family")
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
val file = pointer.element ?: return
@@ -246,8 +247,8 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
) : LocalQuickFix {
private val pointer = xmlFile.createSmartPointer()
override fun getName() = "Create $goal execution of kotlin-maven-compiler"
override fun getFamilyName() = "Create kotlin execution"
override fun getName() = KotlinMavenBundle.message("fix.create.execution.compiler.name", goal)
override fun getFamilyName() = KotlinMavenBundle.message("fix.create.execution.compiler.family")
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
val file = pointer.element ?: return
@@ -22,6 +22,7 @@ import org.jetbrains.idea.maven.indices.MavenArtifactSearchDialog
import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.idea.maven.utils.MavenArtifactScope
import org.jetbrains.kotlin.idea.core.isInTestSourceContentKotlinAware
import org.jetbrains.kotlin.idea.maven.KotlinMavenBundle
import org.jetbrains.kotlin.idea.maven.PomFile
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
import org.jetbrains.kotlin.idea.util.application.runWriteAction
@@ -71,7 +72,7 @@ class AddMavenDependencyQuickFix(
private val smartPsiElementPointer: SmartPsiElementPointer<KtSimpleNameExpression>
) :
IntentionAction, LowPriorityAction {
override fun getText() = "Add Maven dependency..."
override fun getText() = KotlinMavenBundle.message("fix.add.maven.dependency.name")
override fun getFamilyName() = text
override fun startInWriteAction() = false
override fun isAvailable(project: Project, editor: Editor?, file: PsiFile?) =
@@ -15,6 +15,7 @@ import com.intellij.util.xml.highlighting.DomElementsInspection
import org.jetbrains.idea.maven.dom.model.MavenDomDependency
import org.jetbrains.idea.maven.dom.model.MavenDomProjectModel
import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.kotlin.idea.maven.KotlinMavenBundle
import org.jetbrains.kotlin.idea.maven.configuration.KotlinJavaMavenConfigurator
import org.jetbrains.kotlin.idea.maven.configuration.KotlinMavenConfigurator
@@ -41,14 +42,14 @@ class KotlinTestJUnitInspection : DomElementsInspection<MavenDomProjectModel>(Ma
holder.createProblem(
it.artifactId,
HighlightSeverity.WEAK_WARNING,
"kotlin-test-junit is better with junit",
KotlinMavenBundle.message("fix.kotlin.test.junit.is.recommended"),
ReplaceToKotlinTest(it)
)
}
}
private class ReplaceToKotlinTest(val dependency: MavenDomDependency) : LocalQuickFix {
override fun getName() = "Replace with kotlin-test-junit"
override fun getName() = KotlinMavenBundle.message("fix.kotlin.test.junit.replace")
override fun getFamilyName() = name
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {