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, 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",
+3
View File
@@ -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"/>