You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2026/07/26 20:33:30 UTC
(grails-intellij-plugin) 10/35: Convert build-logic to Groovy precompiled script plugins
This is an automated email from the ASF dual-hosted git repository.
jdaugherty pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/grails-intellij-plugin.git
commit 134d0df52344e7f879c869ef27bff6da13940497
Author: James Daugherty <jd...@jdresources.net>
AuthorDate: Sun Jul 26 10:57:49 2026 -0400
Convert build-logic to Groovy precompiled script plugins
First step of the Gradle restructure. build-logic moves from Kotlin DSL
(kotlin-dsl, src/main/kotlin/*.gradle.kts) to Groovy precompiled script plugins
(groovy-gradle-plugin, src/main/groovy/*.gradle), and the plugin ids move from
grails-intellij.* to org.apache.grails.intellij.build.*.
Verified against the pre-restructure baseline: 987 tests, 0 failures, RAT clean,
configuration cache still reused with no problems.
Two substantive changes beyond the language port:
* build-logic now declares the Gradle plugins the convention plugins apply
(IntelliJ Platform 2.18.1, Kotlin 2.3.0, RAT 0.8.1, Sonatype scan 3.1.6) as
implementation dependencies. Today org.jetbrains.intellij.platform.module is
applied with no version in ten modules and resolves only by inheriting the
root build script's plugin classpath -- which would break the moment the
version-bearing declaration moves into a nested plugin/ project. Putting the
plugins on build-logic's classpath removes that coupling. These versions live
in build-logic/build.gradle rather than gradle.properties because build-logic
is a separate build and cannot read the root build's properties.
* Fixed a latent configuration-cache violation in the vulnerability-scan
plugin: it dereferenced project.path inside doFirst/doLast, which is
unsupported at execution time, and read System.getenv eagerly. project.path
is now captured at configuration time and the environment is read through
providers.environmentVariable. This only escaped detection because
ossIndexAudit is not part of check.
One Groovy-vs-Kotlin DSL difference worth recording: Groovy closures resolve
owner-first, so a bare `username = ...` inside extensions.configure(...) was
silently assigned to the Project rather than the extension and failed with
MissingPropertyException. The extension is now bound to an explicit closure
parameter; Kotlin's configure<T> {} has no such fallback.
Verified the ported conventions actually take effect rather than silently
no-op'ing: archive tasks report preserveFileTimestamps=false and
reproducibleFileOrder=true, jacoco resolves toolVersion 0.8.14, and
ossIndexAudit is registered.
---
build-logic/build.gradle | 37 +++++++++++
build-logic/build.gradle.kts | 29 --------
.../{settings.gradle.kts => settings.gradle} | 3 +-
...org.apache.grails.intellij.build.jacoco.gradle} | 26 ++++----
...ache.grails.intellij.build.reproducible.gradle} | 13 ++--
...grails.intellij.build.vulnerability-scan.gradle | 77 ++++++++++++++++++++++
.../src/main/kotlin/OssIndexAuditThrottle.kt | 35 ----------
.../grails-intellij.vulnerability-scan.gradle.kts | 66 -------------------
build.gradle.kts | 6 +-
copyright/build.gradle.kts | 6 +-
coverage/build.gradle.kts | 6 +-
gradle-tooling/build.gradle.kts | 6 +-
grails-compiler-patch/build.gradle.kts | 6 +-
grails-rt/build.gradle.kts | 6 +-
hibernate/build.gradle.kts | 6 +-
i18n/build.gradle.kts | 6 +-
jps-plugin/build.gradle.kts | 6 +-
langInjection/build.gradle.kts | 6 +-
maven/build.gradle.kts | 6 +-
testFramework/build.gradle.kts | 6 +-
20 files changed, 170 insertions(+), 188 deletions(-)
diff --git a/build-logic/build.gradle b/build-logic/build.gradle
new file mode 100644
index 0000000..91b51c2
--- /dev/null
+++ b/build-logic/build.gradle
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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
+ *
+ * https://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.
+ */
+
+plugins {
+ id 'groovy-gradle-plugin'
+}
+
+// Gradle plugins that the convention plugins apply. Declaring them here is what lets the
+// convention plugins apply them WITHOUT a version, and it removes the previous fragility
+// where 'org.jetbrains.intellij.platform.module' was applied version-free in every module
+// and resolved only by inheriting the root build script's plugin classpath.
+//
+// Versions live here rather than in the root gradle.properties because build-logic is a
+// separate build and cannot read the root build's properties.
+dependencies {
+ // Dependabot (gradle ecosystem, /build-logic) keeps these versions current.
+ implementation 'org.jetbrains.intellij.platform:intellij-platform-gradle-plugin:2.18.1'
+ implementation 'org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.0'
+ implementation 'org.nosphere.apache.rat:org.nosphere.apache.rat.gradle.plugin:0.8.1'
+ implementation 'org.sonatype.gradle.plugins:scan-gradle-plugin:3.1.6'
+}
diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts
deleted file mode 100644
index 2ef3348..0000000
--- a/build-logic/build.gradle.kts
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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
- *
- * https://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.
- */
-plugins {
- `kotlin-dsl`
-}
-
-// The convention plugins here are consumed by the root build and every module. The
-// vulnerability-scan plugin applies the Sonatype OSS Index plugin and references its
-// extension type, so that plugin must be on the build-logic compile classpath.
-dependencies {
- // Dependabot (gradle ecosystem, /build-logic) keeps this version current.
- implementation("org.sonatype.gradle.plugins:scan-gradle-plugin:3.1.6")
-}
diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle
similarity index 96%
rename from build-logic/settings.gradle.kts
rename to build-logic/settings.gradle
index 8334e44..b590824 100644
--- a/build-logic/settings.gradle.kts
+++ b/build-logic/settings.gradle
@@ -16,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+
dependencyResolutionManagement {
repositories {
mavenCentral()
@@ -23,4 +24,4 @@ dependencyResolutionManagement {
}
}
-rootProject.name = "build-logic"
+rootProject.name = 'build-logic'
diff --git a/build-logic/src/main/kotlin/grails-intellij.jacoco.gradle.kts b/build-logic/src/main/groovy/org.apache.grails.intellij.build.jacoco.gradle
similarity index 54%
rename from build-logic/src/main/kotlin/grails-intellij.jacoco.gradle.kts
rename to build-logic/src/main/groovy/org.apache.grails.intellij.build.jacoco.gradle
index 9011919..af4f961 100644
--- a/build-logic/src/main/kotlin/grails-intellij.jacoco.gradle.kts
+++ b/build-logic/src/main/groovy/org.apache.grails.intellij.build.jacoco.gradle
@@ -16,31 +16,29 @@
* specific language governing permissions and limitations
* under the License.
*/
-import org.gradle.testing.jacoco.tasks.JacocoReport
-// Per-project JaCoCo conventions. Ported from grails-core's GrailsJacocoPlugin (per-module
-// portion only). The cross-project aggregate is produced by the root build via Gradle's
-// built-in `jacoco-report-aggregation` plugin, which is safe under the configuration cache
-// (this repo has org.gradle.configuration-cache=true, unlike grails-core).
+// Per-project JaCoCo conventions. The cross-project aggregate is produced by the root build
+// via org.apache.grails.intellij.build.coverage-aggregation, which wraps Gradle's built-in
+// jacoco-report-aggregation plugin (configuration-cache safe, unlike a hand-rolled aggregate).
plugins {
- jacoco
+ id 'jacoco'
}
jacoco {
// keep in sync with `jacocoVersion` in gradle.properties
- toolVersion = (project.findProperty("jacocoVersion") ?: "0.8.14").toString()
+ toolVersion = providers.gradleProperty('jacocoVersion').getOrElse('0.8.14')
}
-tasks.withType<Test>().configureEach {
- finalizedBy(tasks.withType<JacocoReport>())
+tasks.withType(Test).configureEach {
+ finalizedBy tasks.withType(JacocoReport)
}
-tasks.withType<JacocoReport>().configureEach {
- dependsOn(tasks.withType<Test>())
+tasks.withType(JacocoReport).configureEach {
+ dependsOn tasks.withType(Test)
reports {
- xml.required.set(true)
- html.required.set(true)
- csv.required.set(false)
+ xml.required = true
+ html.required = true
+ csv.required = false
}
}
diff --git a/build-logic/src/main/kotlin/grails-intellij.reproducible.gradle.kts b/build-logic/src/main/groovy/org.apache.grails.intellij.build.reproducible.gradle
similarity index 77%
rename from build-logic/src/main/kotlin/grails-intellij.reproducible.gradle.kts
rename to build-logic/src/main/groovy/org.apache.grails.intellij.build.reproducible.gradle
index 2644224..221b929 100644
--- a/build-logic/src/main/kotlin/grails-intellij.reproducible.gradle.kts
+++ b/build-logic/src/main/groovy/org.apache.grails.intellij.build.reproducible.gradle
@@ -17,8 +17,7 @@
* under the License.
*/
-// Reproducible-build conventions. Ported from grails-core's CompilePlugin.configureReproducible.
-// Applied to the root project and every module so that the plugin ZIP
+// Reproducible-build conventions. Applied to every project so that the plugin ZIP
// (build/distributions/*.zip) and all composed/module jars are byte-for-byte stable.
//
// preserveFileTimestamps = false pins every archive entry to a constant timestamp, so
@@ -26,9 +25,9 @@
// removes the only other common source of non-determinism (filesystem iteration order).
// Fixed permissions guarantee the same entry metadata regardless of the host umask.
-tasks.withType<AbstractArchiveTask>().configureEach {
- isPreserveFileTimestamps = false
- isReproducibleFileOrder = true
- filePermissions { unix("0644") }
- dirPermissions { unix("0755") }
+tasks.withType(AbstractArchiveTask).configureEach {
+ preserveFileTimestamps = false
+ reproducibleFileOrder = true
+ filePermissions { unix('0644') }
+ dirPermissions { unix('0755') }
}
diff --git a/build-logic/src/main/groovy/org.apache.grails.intellij.build.vulnerability-scan.gradle b/build-logic/src/main/groovy/org.apache.grails.intellij.build.vulnerability-scan.gradle
new file mode 100644
index 0000000..caa392c
--- /dev/null
+++ b/build-logic/src/main/groovy/org.apache.grails.intellij.build.vulnerability-scan.gradle
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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
+ *
+ * https://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.apache.grails.intellij.build.OssIndexAuditThrottle
+import org.sonatype.gradle.plugins.scan.ossindex.OssIndexPluginExtension
+
+// Sonatype OSS Index / Guide vulnerability scanning. Credentials come from the environment:
+// SONATYPE_GUIDE_USERNAME - Guide account email / user token username
+// SONATYPE_GUIDE_TOKEN - Guide Personal Access Token (PAT)
+// The `ossIndexAudit` task fails fast when SONATYPE_GUIDE_TOKEN is absent.
+
+plugins {
+ id 'org.sonatype.gradle.plugins.scan'
+}
+
+// The OSS Index plugin guards its shared on-disk response cache with a file lock, so audit
+// tasks cannot run concurrently without hitting OverlappingFileLockException. Gate every
+// audit task on a single-usage build service to serialize them while leaving parallel
+// execution enabled for the rest of the build.
+def throttle = gradle.sharedServices.registerIfAbsent('ossIndexAuditThrottle', OssIndexAuditThrottle) {
+ maxParallelUsages = 1
+}
+
+// Read through Providers rather than System.getenv so the values are tracked inputs.
+def guideUsername = providers.environmentVariable('SONATYPE_GUIDE_USERNAME')
+def guideToken = providers.environmentVariable('SONATYPE_GUIDE_TOKEN')
+
+// The extension is named explicitly rather than configured via a bare closure: Groovy
+// closures resolve owner-first, so `username = ...` would be set on the Project instead of
+// the extension (Kotlin's configure<T> {} has no such fallback).
+extensions.configure(OssIndexPluginExtension) { OssIndexPluginExtension ossIndex ->
+ ossIndex.username = guideUsername.getOrElse('')
+ ossIndex.password = guideToken.getOrElse('')
+ // Exemptions are limited to vulnerabilities with NO available upstream fix. Everything
+ // with a published fix must be bumped instead. Each entry must name the CVE and the
+ // removal condition, and be revisited whenever a fix ships. Empty until a real,
+ // unfixable CVE is encountered.
+ ossIndex.excludeCoordinates = [] as Set
+}
+
+// Captured at configuration time: Task.project is unavailable at execution time under the
+// configuration cache, so the task actions below must not reach for it.
+def projectPath = project.path
+def projectName = project.name
+
+tasks.named('ossIndexAudit') {
+ group = 'verification'
+ description = "Scans $projectName runtime dependencies for known vulnerabilities via Sonatype Guide"
+ usesService(throttle)
+ doFirst {
+ if (!guideToken.isPresent() || guideToken.get().isEmpty()) {
+ throw new GradleException(
+ 'SONATYPE_GUIDE_TOKEN environment variable is not set. ' +
+ 'A Sonatype Guide Personal Access Token is required to run the vulnerability scan.')
+ }
+ println "##[ossIndexAudit:begin] $projectPath"
+ }
+ doLast {
+ println "##[ossIndexAudit:end] $projectPath"
+ }
+}
diff --git a/build-logic/src/main/kotlin/OssIndexAuditThrottle.kt b/build-logic/src/main/kotlin/OssIndexAuditThrottle.kt
deleted file mode 100644
index 4f8619f..0000000
--- a/build-logic/src/main/kotlin/OssIndexAuditThrottle.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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
- *
- * https://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.
- */
-package org.apache.grails.intellij.buildlogic
-
-import org.gradle.api.services.BuildService
-import org.gradle.api.services.BuildServiceParameters
-
-/**
- * Shared build service used solely as a concurrency gate for `ossIndexAudit` tasks.
- *
- * The Sonatype OSS Index Gradle plugin backs every audit task with a single shared
- * on-disk response cache guarded by a file lock. When Gradle runs audit tasks in parallel,
- * they contend for that lock and fail with `OverlappingFileLockException`, surfaced by the
- * plugin as the opaque "Could not audit the project: null".
- *
- * Registered with `maxParallelUsages = 1`, this service forces Gradle to run at most one
- * audit task at a time while leaving parallel execution enabled for the rest of the build.
- */
-abstract class OssIndexAuditThrottle : BuildService<BuildServiceParameters.None>
diff --git a/build-logic/src/main/kotlin/grails-intellij.vulnerability-scan.gradle.kts b/build-logic/src/main/kotlin/grails-intellij.vulnerability-scan.gradle.kts
deleted file mode 100644
index d4d8205..0000000
--- a/build-logic/src/main/kotlin/grails-intellij.vulnerability-scan.gradle.kts
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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
- *
- * https://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.apache.grails.intellij.buildlogic.OssIndexAuditThrottle
-import org.sonatype.gradle.plugins.scan.ossindex.OssIndexPluginExtension
-
-// Sonatype OSS Index / Guide vulnerability scanning. Ported from grails-core's
-// VulnerabilityScanPlugin. Credentials come from the environment:
-// SONATYPE_GUIDE_USERNAME - Guide account email / user token username
-// SONATYPE_GUIDE_TOKEN - Guide Personal Access Token (PAT)
-// The `ossIndexAudit` task fails fast when SONATYPE_GUIDE_TOKEN is absent.
-
-plugins {
- id("org.sonatype.gradle.plugins.scan")
-}
-
-// The OSS Index plugin guards its shared on-disk response cache with a file lock, so audit
-// tasks cannot run concurrently without hitting OverlappingFileLockException. Gate every
-// audit task on a single-usage build service to serialize them while leaving parallel
-// execution enabled for the rest of the build.
-val throttle = gradle.sharedServices.registerIfAbsent("ossIndexAuditThrottle", OssIndexAuditThrottle::class.java) {
- maxParallelUsages.set(1)
-}
-
-configure<OssIndexPluginExtension> {
- username = System.getenv("SONATYPE_GUIDE_USERNAME") ?: ""
- password = System.getenv("SONATYPE_GUIDE_TOKEN") ?: ""
- // Exemptions are limited to vulnerabilities with NO available upstream fix. Everything
- // with a published fix must be bumped instead. Each entry must name the CVE and the
- // removal condition, and be revisited whenever a fix ships. Empty until a real,
- // unfixable CVE is encountered.
- excludeCoordinates = emptySet()
-}
-
-tasks.named("ossIndexAudit") {
- group = "verification"
- description = "Scans ${project.name} runtime dependencies for known vulnerabilities via Sonatype Guide"
- usesService(throttle)
- doFirst {
- if (System.getenv("SONATYPE_GUIDE_TOKEN").isNullOrEmpty()) {
- throw GradleException(
- "SONATYPE_GUIDE_TOKEN environment variable is not set. " +
- "A Sonatype Guide Personal Access Token is required to run the vulnerability scan."
- )
- }
- println("##[ossIndexAudit:begin] ${project.path}")
- }
- doLast {
- println("##[ossIndexAudit:end] ${project.path}")
- }
-}
diff --git a/build.gradle.kts b/build.gradle.kts
index 8f0cd6a..b20dc23 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -26,9 +26,9 @@ plugins {
id("org.nosphere.apache.rat") version "0.8.1"
// build-hygiene conventions (build-logic included build)
id("jacoco-report-aggregation")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
}
group = "org.apache.grails.intellij"
diff --git a/copyright/build.gradle.kts b/copyright/build.gradle.kts
index f6f9874..4257796 100644
--- a/copyright/build.gradle.kts
+++ b/copyright/build.gradle.kts
@@ -18,9 +18,9 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
id("org.jetbrains.intellij.platform.module")
}
diff --git a/coverage/build.gradle.kts b/coverage/build.gradle.kts
index d4eda8d..740371b 100644
--- a/coverage/build.gradle.kts
+++ b/coverage/build.gradle.kts
@@ -18,9 +18,9 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
id("org.jetbrains.kotlin.jvm") version "2.3.0"
id("org.jetbrains.intellij.platform.module")
}
diff --git a/gradle-tooling/build.gradle.kts b/gradle-tooling/build.gradle.kts
index f51f633..c829d64 100644
--- a/gradle-tooling/build.gradle.kts
+++ b/gradle-tooling/build.gradle.kts
@@ -17,9 +17,9 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
id("org.jetbrains.intellij.platform.module")
}
diff --git a/grails-compiler-patch/build.gradle.kts b/grails-compiler-patch/build.gradle.kts
index 896fa65..ebd59a4 100644
--- a/grails-compiler-patch/build.gradle.kts
+++ b/grails-compiler-patch/build.gradle.kts
@@ -17,9 +17,9 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
id("org.jetbrains.intellij.platform.module")
}
diff --git a/grails-rt/build.gradle.kts b/grails-rt/build.gradle.kts
index da5ee88..54d5472 100644
--- a/grails-rt/build.gradle.kts
+++ b/grails-rt/build.gradle.kts
@@ -15,9 +15,9 @@
*/
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
}
group = "org.apache.grails.intellij.rt"
diff --git a/hibernate/build.gradle.kts b/hibernate/build.gradle.kts
index 2e88bf9..ff36d98 100644
--- a/hibernate/build.gradle.kts
+++ b/hibernate/build.gradle.kts
@@ -17,9 +17,9 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
id("org.jetbrains.intellij.platform.module")
}
diff --git a/i18n/build.gradle.kts b/i18n/build.gradle.kts
index 99961d9..efd45f1 100644
--- a/i18n/build.gradle.kts
+++ b/i18n/build.gradle.kts
@@ -17,9 +17,9 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
id("org.jetbrains.kotlin.jvm") version "2.3.0"
id("org.jetbrains.intellij.platform.module")
}
diff --git a/jps-plugin/build.gradle.kts b/jps-plugin/build.gradle.kts
index cee000e..7b70d34 100644
--- a/jps-plugin/build.gradle.kts
+++ b/jps-plugin/build.gradle.kts
@@ -17,9 +17,9 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
id("org.jetbrains.intellij.platform.module")
}
diff --git a/langInjection/build.gradle.kts b/langInjection/build.gradle.kts
index c84fbac..fd0e4d1 100644
--- a/langInjection/build.gradle.kts
+++ b/langInjection/build.gradle.kts
@@ -17,9 +17,9 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
id("org.jetbrains.intellij.platform.module")
}
diff --git a/maven/build.gradle.kts b/maven/build.gradle.kts
index 2e1300a..df4f1d2 100644
--- a/maven/build.gradle.kts
+++ b/maven/build.gradle.kts
@@ -17,9 +17,9 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
id("org.jetbrains.kotlin.jvm") version "2.3.0"
id("org.jetbrains.intellij.platform.module")
}
diff --git a/testFramework/build.gradle.kts b/testFramework/build.gradle.kts
index 0822f0b..a9cc5da 100644
--- a/testFramework/build.gradle.kts
+++ b/testFramework/build.gradle.kts
@@ -20,9 +20,9 @@ fun properties(key: String) = project.findProperty(key).toString()
plugins {
id("java")
- id("grails-intellij.reproducible")
- id("grails-intellij.jacoco")
- id("grails-intellij.vulnerability-scan")
+ id("org.apache.grails.intellij.build.reproducible")
+ id("org.apache.grails.intellij.build.jacoco")
+ id("org.apache.grails.intellij.build.vulnerability-scan")
id("org.jetbrains.kotlin.jvm") version "2.3.0"
id("org.jetbrains.intellij.platform.module")
}