Script template provider for settings.gradle.kts files
This commit introduces GradleSettingsKotlinDSLTemplateProvider and registers it as Kotlin IntelliJ plugin extension.
This commit is contained in:
committed by
Ilya Chernikov
parent
5c2962e195
commit
e911a1e53d
+12
-5
@@ -88,19 +88,26 @@ abstract class AbstractGradleScriptTemplatesProvider(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GradleKotlinDSLTemplateProvider(project: Project) : AbstractGradleScriptTemplatesProvider(
|
abstract class AbstractGradleKotlinDSLTemplateProvider(project: Project, private val templateClass: String)
|
||||||
|
: AbstractGradleScriptTemplatesProvider(
|
||||||
project,
|
project,
|
||||||
"Gradle Kotlin DSL",
|
"Gradle Kotlin DSL",
|
||||||
"org.gradle.kotlin.dsl.KotlinBuildScript",
|
templateClass,
|
||||||
Regex("^gradle-(?:kotlin-dsl|core).*\\.jar\$")
|
Regex("^gradle-(?:kotlin-dsl|core).*\\.jar\$")
|
||||||
) {
|
) {
|
||||||
// TODO_R: check this against kotlin-dsl branch that uses daemon
|
// TODO_R: check this against kotlin-dsl branch that uses daemon
|
||||||
override val additionalResolverClasspath: List<File> get() =
|
override val additionalResolverClasspath: List<File> get() =
|
||||||
// additionally need compiler jar to load gradle resolver
|
// additionally need compiler jar to load gradle resolver
|
||||||
gradleLibDir.listFiles { file -> file.name.startsWith("kotlin-compiler-embeddable") }
|
gradleLibDir.listFiles { file -> file.name.startsWith("kotlin-compiler-embeddable") }
|
||||||
.firstOrNull()?.let(::listOf).orEmpty()
|
.firstOrNull()?.let(::listOf).orEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class GradleSettingsKotlinDSLTemplateProvider(project: Project)
|
||||||
|
: AbstractGradleKotlinDSLTemplateProvider(project, "org.gradle.kotlin.dsl.KotlinSettingsScript")
|
||||||
|
|
||||||
|
class GradleKotlinDSLTemplateProvider(project: Project)
|
||||||
|
: AbstractGradleKotlinDSLTemplateProvider(project, "org.gradle.kotlin.dsl.KotlinBuildScript")
|
||||||
|
|
||||||
class LegacyGradleScriptKotlinTemplateProvider(project: Project) : AbstractGradleScriptTemplatesProvider(
|
class LegacyGradleScriptKotlinTemplateProvider(project: Project) : AbstractGradleScriptTemplatesProvider(
|
||||||
project,
|
project,
|
||||||
"Gradle Script Kotlin",
|
"Gradle Script Kotlin",
|
||||||
|
|||||||
@@ -54,6 +54,9 @@
|
|||||||
<projectConfigurator implementation="org.jetbrains.kotlin.idea.configuration.KotlinJsGradleModuleConfigurator"/>
|
<projectConfigurator implementation="org.jetbrains.kotlin.idea.configuration.KotlinJsGradleModuleConfigurator"/>
|
||||||
<platformGradleDetector implementation="org.jetbrains.kotlin.idea.inspections.gradle.DefaultPlatformGradleDetector"/>
|
<platformGradleDetector implementation="org.jetbrains.kotlin.idea.inspections.gradle.DefaultPlatformGradleDetector"/>
|
||||||
|
|
||||||
|
<scriptTemplatesProvider
|
||||||
|
implementation="org.jetbrains.kotlin.idea.core.script.GradleSettingsKotlinDSLTemplateProvider"/>
|
||||||
|
|
||||||
<scriptTemplatesProvider
|
<scriptTemplatesProvider
|
||||||
implementation="org.jetbrains.kotlin.idea.core.script.GradleKotlinDSLTemplateProvider"/>
|
implementation="org.jetbrains.kotlin.idea.core.script.GradleKotlinDSLTemplateProvider"/>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user