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:
Paul Merlin
2017-10-10 17:14:53 +02:00
committed by Ilya Chernikov
parent 5c2962e195
commit e911a1e53d
2 changed files with 15 additions and 5 deletions
@@ -88,19 +88,26 @@ abstract class AbstractGradleScriptTemplatesProvider(
}
}
class GradleKotlinDSLTemplateProvider(project: Project) : AbstractGradleScriptTemplatesProvider(
abstract class AbstractGradleKotlinDSLTemplateProvider(project: Project, private val templateClass: String)
: AbstractGradleScriptTemplatesProvider(
project,
"Gradle Kotlin DSL",
"org.gradle.kotlin.dsl.KotlinBuildScript",
templateClass,
Regex("^gradle-(?:kotlin-dsl|core).*\\.jar\$")
) {
// TODO_R: check this against kotlin-dsl branch that uses daemon
override val additionalResolverClasspath: List<File> get() =
// additionally need compiler jar to load gradle resolver
gradleLibDir.listFiles { file -> file.name.startsWith("kotlin-compiler-embeddable") }
.firstOrNull()?.let(::listOf).orEmpty()
// additionally need compiler jar to load gradle resolver
gradleLibDir.listFiles { file -> file.name.startsWith("kotlin-compiler-embeddable") }
.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(
project,
"Gradle Script Kotlin",
+3
View File
@@ -54,6 +54,9 @@
<projectConfigurator implementation="org.jetbrains.kotlin.idea.configuration.KotlinJsGradleModuleConfigurator"/>
<platformGradleDetector implementation="org.jetbrains.kotlin.idea.inspections.gradle.DefaultPlatformGradleDetector"/>
<scriptTemplatesProvider
implementation="org.jetbrains.kotlin.idea.core.script.GradleSettingsKotlinDSLTemplateProvider"/>
<scriptTemplatesProvider
implementation="org.jetbrains.kotlin.idea.core.script.GradleKotlinDSLTemplateProvider"/>