blob: d6869eee94d0795c80fa34bef51aa3f47b36a13b [file]
/*
* Copyright 2000-2026 JetBrains s.r.o. and contributors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import org.jetbrains.intellij.platform.gradle.Constants
import org.jetbrains.intellij.platform.gradle.TestFrameworkType
// Deliberately no allprojects/subprojects block: every project applies its own convention
// plugins. Everything here is either content (dependency lists) or root-only wiring.
plugins {
id 'org.apache.grails.intellij.build.intellij-plugin'
}
dependencies {
intellijPlatform {
bundledPlugin 'com.intellij.javaee'
bundledPlugin 'com.intellij.javaee.el' // no longer transitive in 2026.2
bundledPlugin 'com.intellij.persistence'
bundledPlugin 'com.intellij.javaee.jpa'
bundledPlugin 'com.intellij.jsp'
bundledPlugin 'com.intellij.javaee.web'
bundledPlugin 'org.intellij.groovy'
bundledPlugin 'com.intellij.database'
bundledPlugin 'com.intellij.spring'
bundledPlugin 'com.intellij.gradle' // split out of org.jetbrains.plugins.gradle in 2026.2
bundledPlugin 'org.jetbrains.plugins.gradle'
bundledPlugin 'com.intellij.modules.ultimate'
bundledPlugin 'com.intellij.microservices.jvm'
bundledPlugin 'JavaScript'
bundledPlugin 'com.intellij.css'
// plugin modules. project(path:) is required: a bare project(':x') resolves through the
// owner chain to Project.project(String) and returns a Project, not a Dependency.
pluginModule project(path: ':pluginModules-copyright')
pluginModule project(path: ':pluginModules-coverage')
pluginModule project(path: ':pluginModules-hibernate')
pluginModule project(path: ':pluginModules-i18n')
pluginModule project(path: ':pluginModules-langInjection')
pluginModule project(path: ':pluginModules-maven')
// additional plugins required for testing
testBundledPlugin 'com.intellij.hibernate'
testBundledPlugin 'HtmlTools'
testBundledPlugin 'org.jetbrains.idea.maven'
testBundledPlugin 'com.intellij.copyright' // GspCopyrightUpdaterTest
// .INSTANCE because these are Kotlin objects; see testFramework/build.gradle
testFramework TestFrameworkType.Plugin.ExternalSystem.INSTANCE
testFramework TestFrameworkType.Plugin.Java.INSTANCE
testFramework TestFrameworkType.Plugin.Maven.INSTANCE
testFramework TestFrameworkType.Platform.INSTANCE
}
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.assertj:assertj-core:4.0.0-M1'
testImplementation project(':libs-testFramework')
testCompileOnly project(':pluginModules-i18n')
testCompileOnly project(':pluginModules-copyright')
implementation project(':libs-gradle-tooling')
implementation project(':libs-grails-rt')
// JPS/build
runtimeOnly project(':compilers-grails-compiler-patch')
runtimeOnly project(':compilers-jps-plugin')
}