1- import org.jetbrains.intellij.tasks.PrepareSandboxTask
1+ import org.jetbrains.intellij.platform.gradle. tasks.PrepareSandboxTask
22import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
33import org.modelix.buildtools.KnownModuleIds
44import org.modelix.buildtools.buildStubsSolutionJar
@@ -8,11 +8,17 @@ import org.modelix.mpsPluginsDir
88
99plugins {
1010 kotlin(" jvm" )
11- id( " org.jetbrains.intellij " )
11+ alias(libs.plugins.intellij2 )
1212}
1313
1414kotlin {
15- jvmToolchain(17 )
15+ jvmToolchain(21 )
16+ }
17+
18+ repositories {
19+ intellijPlatform {
20+ defaultRepositories()
21+ }
1622}
1723
1824dependencies {
@@ -32,13 +38,23 @@ dependencies {
3238 api(libs.modelix.mps.model.adapters, excludeMPSLibraries)
3339 api(libs.modelix.model.api.gen.runtime, excludeMPSLibraries)
3440 api(project(" :reverse-mpsadapters" ), excludeMPSLibraries)
41+
42+ intellijPlatform {
43+ local(mpsHomeDir)
44+ }
3545}
3646
37- // Configure Gradle IntelliJ Plugin
38- // Read more: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
39- intellij {
40- localPath = mpsHomeDir.map { it.asFile.absolutePath }
47+ intellijPlatform {
4148 instrumentCode = false
49+ buildSearchableOptions = false
50+ pluginConfiguration {
51+ id = " org.modelix.mps.editor.common"
52+ name = " Shared Libraries for Other Modelix Plugins"
53+ // ideaVersion {
54+ // sinceBuild = "$mpsPlatformVersion"
55+ // untilBuild = "$mpsPlatformVersion.*"
56+ // }
57+ }
4258}
4359
4460kotlin {
@@ -49,45 +65,32 @@ kotlin {
4965}
5066
5167tasks {
52- patchPluginXml {
53- sinceBuild.set(" 232" )
54- untilBuild.set(" 233.*" )
55- }
56-
57- buildSearchableOptions {
58- enabled = false
59- }
60-
61- runIde {
62- autoReloadPlugins.set(true )
63- }
64-
6568 val pluginDir = mpsPluginsDir
6669 if (pluginDir != null ) {
6770 val installMpsPlugin = register<Sync >(" installMpsPlugin" ) {
6871 dependsOn(prepareSandbox)
6972 from(project.layout.buildDirectory.dir(" idea-sandbox/plugins/${project.name} " ))
7073 into(pluginDir.resolve(project.name))
7174 }
72- register(" installMpsDevPlugins" ) {
75+ register< Task > (" installMpsDevPlugins" ) {
7376 dependsOn(installMpsPlugin)
7477 }
7578 }
7679
7780 withType(PrepareSandboxTask ::class .java) {
78- intoChild (pluginName.map { " $it /META-INF" })
81+ rootSpec.addChild().into (pluginName.map { " $it /META-INF" })
7982 .from(project.layout.projectDirectory.file(" src/main/resources/META-INF" ))
8083 .exclude(" plugin.xml" )
81- intoChild (pluginName.map { " $it /META-INF" })
82- .from(patchPluginXml.flatMap { it.outputFiles })
84+ rootSpec.addChild().into (pluginName.map { " $it /META-INF" })
85+ .from(patchPluginXml.flatMap { it.outputFile })
8386
8487 doLast {
8588 val ownJar: File = pluginJar.get().asFile
86- val runtimeJars = configurations.getByName(JavaPlugin .RUNTIME_CLASSPATH_CONFIGURATION_NAME ).resolvedConfiguration .files + ownJar
89+ val runtimeJars = configurations.getByName(JavaPlugin .RUNTIME_CLASSPATH_CONFIGURATION_NAME ).incoming .files + ownJar
8790 buildStubsSolutionJar {
8891 solutionName(" org.modelix.mps.editor.common.stubs" )
8992 solutionId(" 208eaf68-fd3a-497a-a4b6-4923ff457c3b" )
90- outputFolder(defaultDestinationDir .get().resolve(project.name).resolve(" languages" ))
93+ outputFolder(defaultDestinationDirectory .get().asFile .resolve(project.name).resolve(" languages" ))
9194 runtimeJars.forEach {
9295 javaJar(it.name)
9396// kotlinJar(it.name)
0 commit comments