From ee768570e374412ead69e79f7e7473d723bc099b Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Mon, 1 Dec 2025 08:13:09 -0500 Subject: [PATCH 01/13] removing `java-config.gradle` in favor of plugin --- RELEASE.md | 4 +- build-logic/plugins/build.gradle | 8 ++ .../grails/buildsrc/CompilePlugin.groovy | 128 ++++++++++++++++++ .../apache/grails/buildsrc/GradleUtils.groovy | 27 +++- .../buildsrc/SharedPropertyPlugin.groovy | 51 +++++++ build.gradle | 2 - buildSrc/build.gradle | 1 - .../grails/doc/macros/HiddenMacro.groovy | 31 ----- gradle/java-config.gradle | 72 ---------- grails-async/core/build.gradle | 4 +- grails-async/gpars/build.gradle | 4 +- grails-async/plugin/build.gradle | 4 +- grails-async/rxjava/build.gradle | 4 +- grails-async/rxjava2/build.gradle | 4 +- grails-async/rxjava3/build.gradle | 4 +- grails-bom/build.gradle | 1 - grails-bootstrap/build.gradle | 4 +- grails-cache/build.gradle | 4 +- grails-codecs-core/build.gradle | 4 +- grails-codecs/build.gradle | 4 +- grails-common/build.gradle | 4 +- grails-console/build.gradle | 4 +- grails-controllers/build.gradle | 4 +- grails-converters/build.gradle | 4 +- grails-core/build.gradle | 4 +- .../boot-plugin/build.gradle | 3 +- grails-data-hibernate5/core/build.gradle | 3 +- .../dbmigration/build.gradle | 3 +- .../grails-plugin/build.gradle | 3 +- grails-data-mongodb/boot-plugin/build.gradle | 3 +- grails-data-mongodb/bson/build.gradle | 3 +- grails-data-mongodb/core/build.gradle | 3 +- grails-data-mongodb/ext/build.gradle | 3 +- .../grails-plugin/build.gradle | 3 +- .../gson-templates/build.gradle | 3 +- grails-data-simple/build.gradle | 3 +- grails-databinding-core/build.gradle | 4 +- grails-databinding/build.gradle | 4 +- grails-datamapping-async/build.gradle | 3 +- grails-datamapping-core-test/build.gradle | 3 +- grails-datamapping-core/build.gradle | 3 +- grails-datamapping-rx/build.gradle | 3 +- grails-datamapping-support/build.gradle | 3 +- grails-datamapping-tck/build.gradle | 3 +- grails-datamapping-validation/build.gradle | 3 +- grails-datasource/build.gradle | 4 +- grails-datastore-async/build.gradle | 3 +- grails-datastore-core/build.gradle | 3 +- grails-datastore-web/build.gradle | 3 +- grails-dependencies/assets/build.gradle | 7 +- grails-dependencies/starter-web/build.gradle | 7 +- grails-dependencies/test/build.gradle | 7 +- grails-domain-class/build.gradle | 4 +- grails-encoder/build.gradle | 4 +- grails-events/compat/build.gradle | 4 +- grails-events/core/build.gradle | 4 +- grails-events/gpars/build.gradle | 4 +- grails-events/plugin/build.gradle | 4 +- grails-events/rxjava/build.gradle | 4 +- grails-events/rxjava2/build.gradle | 4 +- grails-events/rxjava3/build.gradle | 4 +- grails-events/spring/build.gradle | 4 +- grails-events/transforms/build.gradle | 4 +- grails-fields/build.gradle | 4 +- grails-forge/buildSrc/build.gradle | 1 - grails-forge/gradle/java-config.gradle | 77 ----------- grails-forge/grails-cli-shadow/build.gradle | 6 +- grails-forge/grails-cli/build.gradle | 3 +- grails-forge/grails-forge-api/build.gradle | 3 +- grails-forge/grails-forge-cli/build.gradle | 3 +- grails-forge/grails-forge-core/build.gradle | 3 +- grails-forge/test-core/build.gradle | 3 +- grails-geb/build.gradle | 4 +- grails-gradle/bom/build.gradle | 1 - grails-gradle/buildSrc/build.gradle | 7 - grails-gradle/common/build.gradle | 4 +- grails-gradle/gradle/java-config.gradle | 85 ------------ grails-gradle/model/build.gradle | 4 +- grails-gradle/plugins/build.gradle | 4 +- grails-gradle/tasks/build.gradle | 4 +- grails-gsp/core/build.gradle | 4 +- grails-gsp/grails-layout/build.gradle | 4 +- grails-gsp/grails-sitemesh3/build.gradle | 4 +- grails-gsp/grails-taglib/build.gradle | 4 +- grails-gsp/grails-web-gsp-taglib/build.gradle | 4 +- grails-gsp/grails-web-gsp/build.gradle | 4 +- grails-gsp/grails-web-jsp/build.gradle | 4 +- grails-gsp/grails-web-taglib/build.gradle | 4 +- grails-gsp/plugin/build.gradle | 4 +- grails-gsp/spring-boot/build.gradle | 4 +- grails-i18n/build.gradle | 4 +- grails-interceptors/build.gradle | 4 +- grails-logging/build.gradle | 4 +- grails-micronaut/build.gradle | 4 +- grails-mimetypes/build.gradle | 4 +- grails-rest-transforms/build.gradle | 4 +- grails-scaffolding/build.gradle | 4 +- grails-services/build.gradle | 4 +- grails-shell-cli/build.gradle | 4 +- grails-spring/build.gradle | 4 +- grails-test-core/build.gradle | 4 +- grails-test-examples/app1/build.gradle | 6 +- grails-test-examples/app2/build.gradle | 5 +- grails-test-examples/app3/build.gradle | 6 +- .../async-events-pubsub-demo/build.gradle | 6 +- grails-test-examples/cache/build.gradle | 5 +- grails-test-examples/datasources/build.gradle | 5 +- grails-test-examples/demo33/build.gradle | 5 +- grails-test-examples/exploded/build.gradle | 5 +- .../external-configuration/build.gradle | 5 +- .../geb-gebconfig/build.gradle | 8 +- grails-test-examples/geb/build.gradle | 7 +- grails-test-examples/gorm/build.gradle | 6 +- grails-test-examples/gsp-layout/build.gradle | 6 +- .../gsp-sitemesh3/build.gradle | 6 +- .../grails-data-service/build.gradle | 3 +- .../grails-database-per-tenant/build.gradle | 3 +- .../build.gradle | 3 +- .../hibernate5/grails-hibernate/build.gradle | 3 +- .../grails-multiple-datasources/build.gradle | 3 +- .../build.gradle | 3 +- .../grails-schema-per-tenant/build.gradle | 3 +- .../hibernate5/issue450/build.gradle | 3 +- .../spring-boot-hibernate/build.gradle | 3 +- .../standalone-hibernate/build.gradle | 3 +- grails-test-examples/hyphenated/build.gradle | 5 +- grails-test-examples/issue-11102/build.gradle | 5 +- grails-test-examples/issue-11767/build.gradle | 5 +- grails-test-examples/issue-15228/build.gradle | 6 +- .../issue-698-domain-save-npe/build.gradle | 5 +- .../issue-views-182/build.gradle | 5 +- grails-test-examples/micronaut/build.gradle | 5 +- .../mongodb/base/build.gradle | 5 +- .../mongodb/database-per-tenant/build.gradle | 5 +- .../mongodb/gson-templates/build.gradle | 5 +- .../mongodb/hibernate5/build.gradle | 5 +- .../mongodb/springboot/build.gradle | 5 +- .../mongodb/test-data-service/build.gradle | 5 +- grails-test-examples/namespaces/build.gradle | 5 +- .../plugins/exploded/build.gradle | 5 +- .../plugins/issue-11767/build.gradle | 5 +- .../plugins/issue11005/build.gradle | 6 +- .../plugins/loadafter/build.gradle | 6 +- .../plugins/loadfirst/build.gradle | 5 +- .../plugins/loadsecond/build.gradle | 6 +- grails-test-examples/scaffolding/build.gradle | 3 +- .../build.gradle | 3 +- .../views-functional-tests/build.gradle | 4 +- grails-test-suite-base/build.gradle | 4 +- grails-test-suite-persistence/build.gradle | 4 +- grails-test-suite-uber/build.gradle | 7 +- grails-test-suite-web/build.gradle | 4 +- grails-testing-support-core/build.gradle | 4 +- .../build.gradle | 3 +- grails-testing-support-mongodb/build.gradle | 3 +- .../build.gradle | 3 +- grails-testing-support-web/build.gradle | 4 +- grails-url-mappings/build.gradle | 4 +- grails-validation/build.gradle | 4 +- grails-views-core/build.gradle | 4 +- grails-views-gson/build.gradle | 4 +- grails-views-markup/build.gradle | 4 +- grails-web-boot/build.gradle | 4 +- grails-web-common/build.gradle | 4 +- grails-web-core/build.gradle | 4 +- grails-web-databinding/build.gradle | 4 +- grails-web-mvc/build.gradle | 4 +- grails-web-url-mappings/build.gradle | 4 +- grails-wrapper/build.gradle | 3 +- 169 files changed, 602 insertions(+), 531 deletions(-) create mode 100644 build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy create mode 100644 build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy delete mode 100644 buildSrc/src/main/groovy/grails/doc/macros/HiddenMacro.groovy delete mode 100644 gradle/java-config.gradle delete mode 100644 grails-forge/gradle/java-config.gradle delete mode 100644 grails-gradle/gradle/java-config.gradle diff --git a/RELEASE.md b/RELEASE.md index dca8c60cbc0..471e3e90462 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -489,12 +489,12 @@ Some common gotchas with Java build reproducibility problems: not ship property files with dynamic timestamps. 4. Gradle builds are not reproducible by default because Gradle does not guarantee file ordering. Grails configures all tasks that create archive files to ensure file ordering is reproducible. This configuration can be found in - `gradle/java-config.gradle` + the `CompilePlugin` in the `build-logic` project. 5. Grails makes heavy use of Groovy AST transforms. These transforms often lookup methods on a class, and the methods returned by Java will vary by operating system. Any code using reflection to lookup methods or fields must sort the results to ensure reproducibility. 6. Javadoc / Groovydoc will by default write out dates in it's documentation headers. Grails configures these settings - in `gradle/java-config.gradle`. + in the `CompilePlugin` in the `build-logic` project. After a build is made reproducible on the same machine, the next step is to ensure it's reproducible in GitHub actions. OS differences will exist and even exist between different Docker Runtimes. To help test reproducible builds, we found diff --git a/build-logic/plugins/build.gradle b/build-logic/plugins/build.gradle index 374a66725ad..992618f0e87 100644 --- a/build-logic/plugins/build.gradle +++ b/build-logic/plugins/build.gradle @@ -42,6 +42,10 @@ dependencies { gradlePlugin { plugins { + compilePlugin { + id = 'org.apache.grails.buildsrc.compile' + implementationClass = 'org.apache.grails.buildsrc.CompilePlugin' + } publishPlugin { id = 'org.apache.grails.buildsrc.publish' implementationClass = 'org.apache.grails.buildsrc.PublishPlugin' @@ -50,5 +54,9 @@ gradlePlugin { id = 'org.apache.grails.buildsrc.sbom' implementationClass = 'org.apache.grails.buildsrc.SbomPlugin' } + sharedPropertyPlugin { + id = 'org.apache.grails.buildsrc.properties' + implementationClass = 'org.apache.grails.buildsrc.SharedPropertyPlugin' + } } } \ No newline at end of file diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy new file mode 100644 index 00000000000..395be338945 --- /dev/null +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy @@ -0,0 +1,128 @@ +package org.apache.grails.buildsrc + +import java.nio.charset.StandardCharsets +import java.util.concurrent.atomic.AtomicBoolean + +import groovy.transform.CompileStatic + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.file.DuplicatesStrategy +import org.gradle.api.plugins.JavaPluginExtension +import org.gradle.api.tasks.SourceSetContainer +import org.gradle.api.tasks.bundling.AbstractArchiveTask +import org.gradle.api.tasks.bundling.Jar +import org.gradle.api.tasks.compile.GroovyCompile +import org.gradle.api.tasks.compile.JavaCompile +import org.gradle.api.tasks.javadoc.Javadoc +import org.gradle.external.javadoc.StandardJavadocDocletOptions + +import static org.apache.grails.buildsrc.GradleUtils.lookupPropertyByType + +@CompileStatic +class CompilePlugin implements Plugin { + + @Override + void apply(Project project) { + def initialized = new AtomicBoolean(false) + project.plugins.withId('java') { // java (applied when groovy is applied) or java-library + if (initialized.compareAndSet(false, true)) { + configureCompile(project) + } + } + } + + private static void configureCompile(Project project) { + configureJavaVersion(project) + configureJars(project) + configureCompiler(project) + configureReproducible(project) + } + + private static void configureJavaVersion(Project project) { + project.tasks.withType(JavaCompile).configureEach { + it.options.release.set(lookupPropertyByType(project, 'javaVersion', Integer)) + } + } + + private static void configureJars(Project project) { + project.extensions.configure(JavaPluginExtension) { + // Explicit `it` is required here + it.withJavadocJar() + it.withSourcesJar() + } + + // TODO: Causes the imports autoconfiguration file to be duplicated in grails-core b/c main gets copied twice + // TODO: this was for grails-gradle specifically in the past, we need to figure out which additional source sets are included +// project.tasks.named('sourcesJar', Jar).configure { Jar jar -> +// SourceSetContainer sourceSets = project.extensions.getByType(JavaPluginExtension).sourceSets +// +// // don't only include main, but any source set +// jar.from(sourceSets.collect { it.allSource }) +// jar.inputs.files(sourceSets.collect { it.allSource }) +// } + + // Grails determines the grails version via the META-INF/MANIFEST.MF file + // Note: we exclude attributes such as Built-By, Build-Jdk, Created-By to ensure the build is reproducible. + project.tasks.withType(Jar).configureEach { Jar jar -> + if (lookupPropertyByType(project, 'skipJavaComponent', Boolean)) { + jar.enabled = false + return + } + + jar.manifest.attributes( + 'Implementation-Title': 'Apache Grails', + 'Implementation-Version': lookupPropertyByType(project, 'grailsVersion', String), + 'Implementation-Vendor': 'grails.apache.org' + ) + // TODO: forge used to be include, grails used to exclude + jar.duplicatesStrategy = DuplicatesStrategy.FAIL + } + } + + private static void configureCompiler(Project project) { + project.tasks.withType(JavaCompile).configureEach { + // Preserve method parameter names in Groovy/Java classes for IDE parameter hints & bean reflection metadata. + it.options.compilerArgs.add('-parameters') + it.options.encoding = StandardCharsets.UTF_8.name() + // encoding needs to be the same since it's different across platforms + it.options.fork = true + it.options.forkOptions.jvmArgs = ['-Xms128M', '-Xmx2G'] + } + + project.plugins.withId('groovy') { + project.tasks.withType(GroovyCompile).configureEach { + it.groovyOptions.encoding = StandardCharsets.UTF_8.name() + // encoding needs to be the same since it's different across platforms + // Preserve method parameter names in Groovy/Java classes for IDE parameter hints & bean reflection metadata. + it.groovyOptions.parameters = true + it.options.encoding = StandardCharsets.UTF_8.name() + // encoding needs to be the same since it's different across platforms + it.options.fork = true + it.options.forkOptions.jvmArgs = ['-Xms128M', '-Xmx2G'] + } + } + } + + private static void configureReproducible(Project project) { + project.tasks.withType(Javadoc).configureEach { Javadoc it -> + def options = it.options as StandardJavadocDocletOptions + options.noTimestamp = true + options.bottom = "Generated ${lookupPropertyByType(project, 'formattedBuildDate', String)} (UTC)" + } + + // Any jar, zip, or archive should be reproducible + // No longer needed after https://github.com/gradle/gradle/issues/30871 + project.tasks.withType(AbstractArchiveTask).configureEach { + it.preserveFileTimestamps = false // to prevent timestamp mismatches + it.reproducibleFileOrder = true // to keep the same ordering + // to avoid platform specific defaults, set the permissions consistently + it.filePermissions { permissions -> + permissions.unix(0644) + } + it.dirPermissions { permissions -> + permissions.unix(0755) + } + } + } +} diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy index 2ee3b782f11..3091cf9c326 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy @@ -39,6 +39,31 @@ class GradleUtils { } static T lookupProperty(Project project, String name, T defaultValue = null) { - project.findProperty(name) as T ?: defaultValue + T v = lookupPropertyByType(project, name, defaultValue?.class) as T + return v == null ? defaultValue : v + } + + static T lookupPropertyByType(Project project, String name, Class type) { + // a cast exception will occur without this + if(type && (type == Integer || type == int.class)) { + def v = findProperty(project, name) + return v == null ? null : Integer.valueOf(v as String) as T + } + + findProperty(project, name) as T + } + + static Object findProperty(Project project, String name) { + def property = project.findProperty(name) + if(property != null) { + return property + } + + def ext = project.extensions.getExtraProperties() + if(ext.has(name)) { + return ext.get(name) + } + + null } } diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy new file mode 100644 index 00000000000..57069cf715f --- /dev/null +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy @@ -0,0 +1,51 @@ +package org.apache.grails.buildsrc + +import groovy.transform.CompileStatic + +import org.gradle.api.Plugin +import org.gradle.api.Project + +import static org.apache.grails.buildsrc.GradleUtils.findRootGrailsCoreDir +import static org.apache.grails.buildsrc.GradleUtils.lookupPropertyByType + +/** + * Gradle can't share properties across buildSrc or composite projects. This plugin ensures that properties not defined + * in this project, but are in the root grails-core project, are accessible in this project. This plugin must be applied + * prior to the access of any property for it to work properly + */ +@CompileStatic +class SharedPropertyPlugin implements Plugin { + + @Override + void apply(Project project) { + def ext = project.extensions.getExtraProperties() + ext.set('grailsVersion', lookupPropertyByType(project, 'projectVersion', String)) + + def rootGrailsCoreDir = findRootGrailsCoreDir(project) + if(project.layout.projectDirectory.asFile.name == 'build-src') { + // Load the subproject properties first + def parentProject = project.layout.projectDirectory.dir('..') + if(parentProject.asFile.absolutePath != rootGrailsCoreDir.asFile.absolutePath) { + parentProject.file('gradle.properties').asFile.withInputStream { + Properties projectProperties = new Properties() + projectProperties.load(it) + + for (String key : projectProperties.stringPropertyNames()) { + ext.set(key, projectProperties.getProperty(key)) + } + } + } + } + + rootGrailsCoreDir.file('gradle.properties').asFile.withInputStream { + Properties rootProperties = new Properties() + rootProperties.load(it) + + for (String key : rootProperties.stringPropertyNames()) { + if(!ext.has(key)) { + ext.set(key, rootProperties.getProperty(key)) + } + } + } + } +} diff --git a/build.gradle b/build.gradle index f4b781e7d59..2338d4bac63 100644 --- a/build.gradle +++ b/build.gradle @@ -31,8 +31,6 @@ ext { DateTimeFormatter.ISO_INSTANT.format(buildInstant) : DateTimeFormatter.ISO_DATE.format(LocalDate.ofInstant(buildInstant as Instant, ZoneOffset.UTC)) buildDate = (buildInstant as Instant).atZone(ZoneOffset.UTC) // for reproducible builds - - grailsVersion = projectVersion isCiBuild = System.getenv().get('CI') as Boolean configuredTestParallel = findProperty('maxTestParallel') as Integer ?: (isCiBuild ? 3 : Runtime.runtime.availableProcessors() * 3 / 4 as int ?: 1) excludeUnusedTransDeps = findProperty('excludeUnusedTransDeps') diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 97ef6d02863..950e23b1d45 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -70,5 +70,4 @@ dependencies { implementation 'org.springframework.boot:spring-boot-gradle-plugin' implementation "org.nosphere.apache.rat:org.nosphere.apache.rat.gradle.plugin:${gradleProperties.apacheRatVersion}" implementation "org.cyclonedx.bom:org.cyclonedx.bom.gradle.plugin:${gradleProperties.gradleCycloneDxPluginVersion}" - implementation "org.gradle.crypto.checksum:org.gradle.crypto.checksum.gradle.plugin:${gradleProperties.gradleChecksumPluginVersion}" } \ No newline at end of file diff --git a/buildSrc/src/main/groovy/grails/doc/macros/HiddenMacro.groovy b/buildSrc/src/main/groovy/grails/doc/macros/HiddenMacro.groovy deleted file mode 100644 index 6a777675343..00000000000 --- a/buildSrc/src/main/groovy/grails/doc/macros/HiddenMacro.groovy +++ /dev/null @@ -1,31 +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 grails.doc.macros - -import org.radeox.macro.BaseMacro -import org.radeox.macro.parameter.MacroParameter - -class HiddenMacro extends BaseMacro { - String getName() { "hidden" } - - void execute(Writer out, MacroParameter params) { - out << '
' << params.content << '
' - } -} diff --git a/gradle/java-config.gradle b/gradle/java-config.gradle deleted file mode 100644 index 46b05c1914c..00000000000 --- a/gradle/java-config.gradle +++ /dev/null @@ -1,72 +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. - */ - -compileJava.options.release = javaVersion.toInteger() - -extensions.configure(JavaPluginExtension) { - // Explicit `it` is required here - it.withJavadocJar() - it.withSourcesJar() -} - -tasks.withType(Javadoc).configureEach { Javadoc it -> - it.options.noTimestamp true // prevent the file header with the date - it.options.bottom "Generated ${formattedBuildDate} (UTC)" -} - -// JavaCompile is not configured because we put java files inside of the groovy source sets - -tasks.withType(GroovyCompile).configureEach { - groovyOptions.encoding = 'UTF-8' // encoding needs to be the same since it's different across platforms - // Preserve method parameter names in Groovy/Java classes for IDE parameter hints & bean reflection metadata. - groovyOptions.parameters = true - options.encoding = 'UTF-8' // encoding needs to be the same since it's different across platforms - options.fork = true - options.forkOptions.jvmArgs = ['-Xms128M', '-Xmx2G'] -} - -// Grails determines the grails version via the META-INF/MANIFEST.MF file -// Note: we exclude attributes such as Built-By, Build-Jdk, Created-By to ensure the build is reproducible. -tasks.withType(Jar).configureEach { - if (project.findProperty('skipJavaComponent')) { - it.enabled = false - return - } - - manifest.attributes( - 'Implementation-Title': 'Apache Grails', - 'Implementation-Version': grailsVersion, - 'Implementation-Vendor': 'grails.apache.org' - ) -} - -// Any jar, zip, or archive should be reproducible -// No longer needed after https://github.com/gradle/gradle/issues/30871 -tasks.withType(AbstractArchiveTask).configureEach { - preserveFileTimestamps = false // to prevent timestamp mismatches - reproducibleFileOrder = true // to keep the same ordering - // to avoid platform specific defaults, set the permissions consistently - filePermissions { permissions -> - permissions.unix(0644) - } - dirPermissions { permissions -> - permissions.unix(0755) - } -} - diff --git a/grails-async/core/build.gradle b/grails-async/core/build.gradle index 00d6252e9f0..48ccf73abd3 100644 --- a/grails-async/core/build.gradle +++ b/grails-async/core/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -47,8 +49,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-async/gpars/build.gradle b/grails-async/gpars/build.gradle index 1d88d863d12..c9e757a982b 100644 --- a/grails-async/gpars/build.gradle +++ b/grails-async/gpars/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -47,8 +49,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-async/plugin/build.gradle b/grails-async/plugin/build.gradle index 68ce9cd954a..c708086b7bb 100644 --- a/grails-async/plugin/build.gradle +++ b/grails-async/plugin/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -57,8 +59,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-async/rxjava/build.gradle b/grails-async/rxjava/build.gradle index 63b49eb09bc..4f40811f9ee 100644 --- a/grails-async/rxjava/build.gradle +++ b/grails-async/rxjava/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -43,8 +45,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-async/rxjava2/build.gradle b/grails-async/rxjava2/build.gradle index 9ed8ffa4ce2..1020a2b4bfa 100644 --- a/grails-async/rxjava2/build.gradle +++ b/grails-async/rxjava2/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -43,8 +45,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-async/rxjava3/build.gradle b/grails-async/rxjava3/build.gradle index 7b05cb59d32..88e34e4c1dc 100644 --- a/grails-async/rxjava3/build.gradle +++ b/grails-async/rxjava3/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -43,8 +45,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-bom/build.gradle b/grails-bom/build.gradle index 29b2e282ec2..7da20bec404 100644 --- a/grails-bom/build.gradle +++ b/grails-bom/build.gradle @@ -27,7 +27,6 @@ buildscript { plugins { id 'java-platform' - id 'maven-publish' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } diff --git a/grails-bootstrap/build.gradle b/grails-bootstrap/build.gradle index 10cd4b534e1..727d4756679 100644 --- a/grails-bootstrap/build.gradle +++ b/grails-bootstrap/build.gradle @@ -23,6 +23,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -81,8 +83,6 @@ processResources { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-cache/build.gradle b/grails-cache/build.gradle index a65d2359d9c..98306442ebc 100644 --- a/grails-cache/build.gradle +++ b/grails-cache/build.gradle @@ -19,7 +19,9 @@ plugins { id 'project-report' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -57,8 +59,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-codecs-core/build.gradle b/grails-codecs-core/build.gradle index b2d7c68a21d..71f7ece86d5 100644 --- a/grails-codecs-core/build.gradle +++ b/grails-codecs-core/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -54,8 +56,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-codecs/build.gradle b/grails-codecs/build.gradle index dc267c8d818..d0973e9857f 100644 --- a/grails-codecs/build.gradle +++ b/grails-codecs/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -64,8 +66,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-common/build.gradle b/grails-common/build.gradle index 25dbf20a04c..f7e0b02cd2d 100644 --- a/grails-common/build.gradle +++ b/grails-common/build.gradle @@ -19,6 +19,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -57,8 +59,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-console/build.gradle b/grails-console/build.gradle index 316bdb579d6..2e702a124ce 100644 --- a/grails-console/build.gradle +++ b/grails-console/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -67,8 +69,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') } \ No newline at end of file diff --git a/grails-controllers/build.gradle b/grails-controllers/build.gradle index 7bf1329a64e..2f5de7649eb 100644 --- a/grails-controllers/build.gradle +++ b/grails-controllers/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -74,8 +76,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-converters/build.gradle b/grails-converters/build.gradle index badaadcf271..c33b3877f88 100644 --- a/grails-converters/build.gradle +++ b/grails-converters/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -73,8 +75,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-core/build.gradle b/grails-core/build.gradle index f045e3d73b9..a6800001086 100644 --- a/grails-core/build.gradle +++ b/grails-core/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -92,8 +94,6 @@ tasks.named('processResources', ProcessResources).configure { ProcessResources i } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-data-hibernate5/boot-plugin/build.gradle b/grails-data-hibernate5/boot-plugin/build.gradle index 177f5246358..1144ee0492f 100644 --- a/grails-data-hibernate5/boot-plugin/build.gradle +++ b/grails-data-hibernate5/boot-plugin/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -60,7 +62,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/hibernate5-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-data-hibernate5/core/build.gradle b/grails-data-hibernate5/core/build.gradle index ef999c277e4..3def62bcb57 100644 --- a/grails-data-hibernate5/core/build.gradle +++ b/grails-data-hibernate5/core/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -90,7 +92,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/hibernate5-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-data-tck-config.gradle') diff --git a/grails-data-hibernate5/dbmigration/build.gradle b/grails-data-hibernate5/dbmigration/build.gradle index 54bc22ebb61..00dfae2641f 100644 --- a/grails-data-hibernate5/dbmigration/build.gradle +++ b/grails-data-hibernate5/dbmigration/build.gradle @@ -18,7 +18,9 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -106,7 +108,6 @@ tasks.withType(Test).configureEach { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/hibernate5-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-data-hibernate5/grails-plugin/build.gradle b/grails-data-hibernate5/grails-plugin/build.gradle index d639bfdee98..dfc7bb13cda 100644 --- a/grails-data-hibernate5/grails-plugin/build.gradle +++ b/grails-data-hibernate5/grails-plugin/build.gradle @@ -18,7 +18,9 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -85,7 +87,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/hibernate5-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-data-mongodb/boot-plugin/build.gradle b/grails-data-mongodb/boot-plugin/build.gradle index 2341de8c23d..a76807a0bf3 100644 --- a/grails-data-mongodb/boot-plugin/build.gradle +++ b/grails-data-mongodb/boot-plugin/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -105,7 +107,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/mongodb-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-data-mongodb/bson/build.gradle b/grails-data-mongodb/bson/build.gradle index 03ce84d061b..1110955306d 100644 --- a/grails-data-mongodb/bson/build.gradle +++ b/grails-data-mongodb/bson/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -99,7 +101,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/mongodb-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-data-mongodb/core/build.gradle b/grails-data-mongodb/core/build.gradle index 609a382031b..d0de423cba1 100644 --- a/grails-data-mongodb/core/build.gradle +++ b/grails-data-mongodb/core/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -137,7 +139,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/mongodb-forked-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-data-tck-config.gradle') diff --git a/grails-data-mongodb/ext/build.gradle b/grails-data-mongodb/ext/build.gradle index 4f12d41d376..bc1794e3105 100644 --- a/grails-data-mongodb/ext/build.gradle +++ b/grails-data-mongodb/ext/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -88,7 +90,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/mongodb-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-data-mongodb/grails-plugin/build.gradle b/grails-data-mongodb/grails-plugin/build.gradle index 1f1ad68d7ee..a15a02b596b 100644 --- a/grails-data-mongodb/grails-plugin/build.gradle +++ b/grails-data-mongodb/grails-plugin/build.gradle @@ -19,7 +19,9 @@ plugins { id 'java-test-fixtures' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -127,7 +129,6 @@ tasks.named('groovydoc') { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/mongodb-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-data-mongodb/gson-templates/build.gradle b/grails-data-mongodb/gson-templates/build.gradle index c7df3c59785..4b03fe4a53b 100644 --- a/grails-data-mongodb/gson-templates/build.gradle +++ b/grails-data-mongodb/gson-templates/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -70,7 +72,6 @@ tasks.named('classes').configure { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/mongodb-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-data-simple/build.gradle b/grails-data-simple/build.gradle index 268b2cfb29e..3641a3d591b 100644 --- a/grails-data-simple/build.gradle +++ b/grails-data-simple/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -94,7 +96,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-databinding-core/build.gradle b/grails-databinding-core/build.gradle index 50478cf3546..937bade344f 100644 --- a/grails-databinding-core/build.gradle +++ b/grails-databinding-core/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -57,8 +59,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-databinding/build.gradle b/grails-databinding/build.gradle index 17205ef75bc..cbb6750280c 100644 --- a/grails-databinding/build.gradle +++ b/grails-databinding/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -70,8 +72,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-datamapping-async/build.gradle b/grails-datamapping-async/build.gradle index af0b69ad4f4..e135ae1fb25 100644 --- a/grails-datamapping-async/build.gradle +++ b/grails-datamapping-async/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -75,7 +77,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-datamapping-core-test/build.gradle b/grails-datamapping-core-test/build.gradle index 3b7d5c41dd6..e6fc29e404c 100644 --- a/grails-datamapping-core-test/build.gradle +++ b/grails-datamapping-core-test/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -135,7 +137,6 @@ dependencies { //compileTestGroovy.groovyOptions.forkOptions.jvmArgs = ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005'] apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-data-tck-config.gradle') } diff --git a/grails-datamapping-core/build.gradle b/grails-datamapping-core/build.gradle index 1019ad72757..50e53144541 100644 --- a/grails-datamapping-core/build.gradle +++ b/grails-datamapping-core/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -119,7 +121,6 @@ dependencies { //compileGroovy.groovyOptions.forkOptions.jvmArgs = ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005'] apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-datamapping-rx/build.gradle b/grails-datamapping-rx/build.gradle index b16523048fd..821c6d446ed 100644 --- a/grails-datamapping-rx/build.gradle +++ b/grails-datamapping-rx/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -65,7 +67,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-datamapping-support/build.gradle b/grails-datamapping-support/build.gradle index 7c885f6926b..d89cba4c7ab 100644 --- a/grails-datamapping-support/build.gradle +++ b/grails-datamapping-support/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -120,7 +122,6 @@ tasks.withType(Jar).configureEach { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-datamapping-tck/build.gradle b/grails-datamapping-tck/build.gradle index 3886c988bb6..fe3b4c0a0ef 100644 --- a/grails-datamapping-tck/build.gradle +++ b/grails-datamapping-tck/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -115,7 +117,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') // do NOT do test configuration here, this is a TCK module diff --git a/grails-datamapping-validation/build.gradle b/grails-datamapping-validation/build.gradle index 95437924818..7e0c17bcb8d 100644 --- a/grails-datamapping-validation/build.gradle +++ b/grails-datamapping-validation/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -87,7 +89,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-datasource/build.gradle b/grails-datasource/build.gradle index 4fcdced19f9..409b17e6955 100644 --- a/grails-datasource/build.gradle +++ b/grails-datasource/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -71,8 +73,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-datastore-async/build.gradle b/grails-datastore-async/build.gradle index e7228908b2f..7a570bf8ef4 100644 --- a/grails-datastore-async/build.gradle +++ b/grails-datastore-async/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -62,7 +64,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-datastore-core/build.gradle b/grails-datastore-core/build.gradle index 7793bf252e4..6e54a364305 100644 --- a/grails-datastore-core/build.gradle +++ b/grails-datastore-core/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -99,7 +101,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-datastore-web/build.gradle b/grails-datastore-web/build.gradle index a74eb22364c..55ef830ffc8 100644 --- a/grails-datastore-web/build.gradle +++ b/grails-datastore-web/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -89,7 +91,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-dependencies/assets/build.gradle b/grails-dependencies/assets/build.gradle index 49478435cf3..3bae5f98432 100644 --- a/grails-dependencies/assets/build.gradle +++ b/grails-dependencies/assets/build.gradle @@ -20,6 +20,8 @@ plugins { // Needed for the dependency configurations id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -52,11 +54,6 @@ dependencies { } } -apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') -} - // these must be after the above applies because they opt out of the defaults created in those files tasks.named('javadocJar').configure { it.enabled = false diff --git a/grails-dependencies/starter-web/build.gradle b/grails-dependencies/starter-web/build.gradle index 3087314239f..6814803266d 100644 --- a/grails-dependencies/starter-web/build.gradle +++ b/grails-dependencies/starter-web/build.gradle @@ -20,6 +20,8 @@ plugins { // Needed for the dependency configurations id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -76,11 +78,6 @@ dependencies { } } -apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') -} - // these must be after the above applies because they opt out of the defaults created in those files tasks.named('javadocJar').configure { it.enabled = false diff --git a/grails-dependencies/test/build.gradle b/grails-dependencies/test/build.gradle index 488b9ecb5a3..60a37c4648c 100644 --- a/grails-dependencies/test/build.gradle +++ b/grails-dependencies/test/build.gradle @@ -20,6 +20,8 @@ plugins { // Needed for the dependency configurations id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -54,11 +56,6 @@ dependencies { } } -apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') -} - // these must be after the above applies because they opt out of the defaults created in those files tasks.named('javadocJar').configure { it.enabled = false diff --git a/grails-domain-class/build.gradle b/grails-domain-class/build.gradle index 0c6ebe1fef3..3c201102c80 100644 --- a/grails-domain-class/build.gradle +++ b/grails-domain-class/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -81,8 +83,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-encoder/build.gradle b/grails-encoder/build.gradle index 9ae33638ab3..59764368b78 100644 --- a/grails-encoder/build.gradle +++ b/grails-encoder/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -58,8 +60,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-events/compat/build.gradle b/grails-events/compat/build.gradle index 615022d7c99..dd989f2d177 100644 --- a/grails-events/compat/build.gradle +++ b/grails-events/compat/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -38,8 +40,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') } \ No newline at end of file diff --git a/grails-events/core/build.gradle b/grails-events/core/build.gradle index 920fa191647..497097a466d 100644 --- a/grails-events/core/build.gradle +++ b/grails-events/core/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -44,8 +46,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-events/gpars/build.gradle b/grails-events/gpars/build.gradle index 6a2b4215c26..760301c53e9 100644 --- a/grails-events/gpars/build.gradle +++ b/grails-events/gpars/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -45,8 +47,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-events/plugin/build.gradle b/grails-events/plugin/build.gradle index 6ff6bdc5f2f..f6e2ea0953c 100644 --- a/grails-events/plugin/build.gradle +++ b/grails-events/plugin/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -51,8 +53,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-events/rxjava/build.gradle b/grails-events/rxjava/build.gradle index 80c1f099d6f..a73bb5c1ab2 100644 --- a/grails-events/rxjava/build.gradle +++ b/grails-events/rxjava/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -48,8 +50,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-events/rxjava2/build.gradle b/grails-events/rxjava2/build.gradle index f56fed081e9..27218eb78c7 100644 --- a/grails-events/rxjava2/build.gradle +++ b/grails-events/rxjava2/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -44,8 +46,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-events/rxjava3/build.gradle b/grails-events/rxjava3/build.gradle index ef4957cdb47..e487b36908c 100644 --- a/grails-events/rxjava3/build.gradle +++ b/grails-events/rxjava3/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -44,8 +46,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-events/spring/build.gradle b/grails-events/spring/build.gradle index d213ec8a889..c27344629c0 100644 --- a/grails-events/spring/build.gradle +++ b/grails-events/spring/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -44,8 +46,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-events/transforms/build.gradle b/grails-events/transforms/build.gradle index 4a6973a74da..444cd8f9da2 100644 --- a/grails-events/transforms/build.gradle +++ b/grails-events/transforms/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -61,8 +63,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-fields/build.gradle b/grails-fields/build.gradle index 38b3e220fca..55ce1b42f82 100644 --- a/grails-fields/build.gradle +++ b/grails-fields/build.gradle @@ -19,8 +19,10 @@ plugins { id 'project-report' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' id 'org.apache.grails.gradle.grails-gsp' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -58,8 +60,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-forge/buildSrc/build.gradle b/grails-forge/buildSrc/build.gradle index 421523d7086..85dd3472e47 100644 --- a/grails-forge/buildSrc/build.gradle +++ b/grails-forge/buildSrc/build.gradle @@ -93,7 +93,6 @@ dependencies { exclude group: 'org.asciidoctor' } implementation "org.antlr:antlr4-runtime:$antlr4Version" - implementation "org.gradle.crypto.checksum:org.gradle.crypto.checksum.gradle.plugin:$gradleChecksumPluginVersion" implementation "org.apache.ant:ant:$antVersion" implementation "org.apache.grails.gradle:grails-gradle-common:$projectVersion" implementation "org.cyclonedx.bom:org.cyclonedx.bom.gradle.plugin:${rootProperties.gradleCycloneDxPluginVersion}" diff --git a/grails-forge/gradle/java-config.gradle b/grails-forge/gradle/java-config.gradle deleted file mode 100644 index 3e43348098c..00000000000 --- a/grails-forge/gradle/java-config.gradle +++ /dev/null @@ -1,77 +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. - */ - -compileJava.options.release = javaVersion.toInteger() - -extensions.configure(JavaPluginExtension) { - // Explicit `it` is required here - it.withJavadocJar() - it.withSourcesJar() -} - -tasks.withType(JavaCompile).configureEach { - options.encoding = 'UTF-8' - // Preserve method parameter names in Java classes for IDE parameter hints & bean reflection metadata. - options.compilerArgs.add('-parameters') -} - -tasks.withType(Javadoc).configureEach { Javadoc it -> - it.options.noTimestamp true // prevent the file header with the date - it.options.bottom "Generated ${formattedBuildDate} (UTC)" -} - -tasks.withType(GroovyCompile).configureEach { - groovyOptions.encoding = 'UTF-8' // encoding needs to be the same since it's different across platforms - // Preserve method parameter names in Groovy classes for IDE parameter hints. - groovyOptions.parameters = true - options.encoding = 'UTF-8' // encoding needs to be the same since it's different across platforms - options.fork = true - options.forkOptions.jvmArgs = ['-Xms128M', '-Xmx1G'] -} - -// Grails determines the grails version via the META-INF/MANIFEST.MF file -// Note: we exclude attributes such as Built-By, Build-Jdk, Created-By to ensure the build is reproducible. -tasks.withType(Jar).configureEach { - if (project.findProperty('skipJavaComponent')) { - it.enabled = false - return - } - - manifest.attributes( - 'Implementation-Title': 'Apache Grails', - 'Implementation-Version': projectVersion, - 'Implementation-Vendor': 'grails.apache.org' - ) - duplicatesStrategy = DuplicatesStrategy.INCLUDE -} - -// Any jar, zip, or archive should be reproducible -// No longer needed after https://github.com/gradle/gradle/issues/30871 -tasks.withType(AbstractArchiveTask).configureEach { - preserveFileTimestamps = false // to prevent timestamp mismatches - reproducibleFileOrder = true // to keep the same ordering - // to avoid platform specific defaults, set the permissions consistently - filePermissions { permissions -> - permissions.unix(0644) - } - dirPermissions { permissions -> - permissions.unix(0755) - } -} - diff --git a/grails-forge/grails-cli-shadow/build.gradle b/grails-forge/grails-cli-shadow/build.gradle index 9589eafe0c7..ecbd96ca833 100644 --- a/grails-forge/grails-cli-shadow/build.gradle +++ b/grails-forge/grails-cli-shadow/build.gradle @@ -21,6 +21,8 @@ import org.apache.grails.forge.buildlogic.shadowjar.GrailsShadowNoticeTransform plugins { id 'groovy' id 'com.gradleup.shadow' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -50,10 +52,6 @@ dependencies { } } -apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') -} - TaskProvider shadowJarTask = tasks.named('shadowJar', ShadowJar) shadowJarTask.configure { ShadowJar it -> it.archiveClassifier = 'all' diff --git a/grails-forge/grails-cli/build.gradle b/grails-forge/grails-cli/build.gradle index 0d6804b0d69..05a11cf44ee 100644 --- a/grails-forge/grails-cli/build.gradle +++ b/grails-forge/grails-cli/build.gradle @@ -24,6 +24,8 @@ plugins { id 'distribution' id 'com.gradleup.shadow' id 'io.sdkman.vendors' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -79,7 +81,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') } diff --git a/grails-forge/grails-forge-api/build.gradle b/grails-forge/grails-forge-api/build.gradle index d15ac9b001c..91fb090a05b 100644 --- a/grails-forge/grails-forge-api/build.gradle +++ b/grails-forge/grails-forge-api/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -74,7 +76,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/micronaut-openapi-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-forge/grails-forge-cli/build.gradle b/grails-forge/grails-forge-cli/build.gradle index f8cd6219bbf..02a699d238a 100644 --- a/grails-forge/grails-forge-cli/build.gradle +++ b/grails-forge/grails-forge-cli/build.gradle @@ -23,7 +23,9 @@ import org.grails.forge.internal.tasks.PicocliBuildCompletionTask plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' id 'org.grails.forge.rocker' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -111,7 +113,6 @@ rocker { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/doc-config.gradle') diff --git a/grails-forge/grails-forge-core/build.gradle b/grails-forge/grails-forge-core/build.gradle index 15a60dc1af6..5110e92fd82 100644 --- a/grails-forge/grails-forge-core/build.gradle +++ b/grails-forge/grails-forge-core/build.gradle @@ -22,7 +22,9 @@ import org.apache.grails.buildsrc.WriteGrailsVersionInfoTask plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' id 'org.grails.forge.rocker' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -116,7 +118,6 @@ copyGrailsWrapper.configure { Sync it -> } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/doc-config.gradle') diff --git a/grails-forge/test-core/build.gradle b/grails-forge/test-core/build.gradle index ccb1ef8fb99..4011685591a 100644 --- a/grails-forge/test-core/build.gradle +++ b/grails-forge/test-core/build.gradle @@ -20,7 +20,9 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' id 'org.grails.forge.rocker' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -69,6 +71,5 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') } \ No newline at end of file diff --git a/grails-geb/build.gradle b/grails-geb/build.gradle index 4381aa7b291..ed3ac8ca7f5 100644 --- a/grails-geb/build.gradle +++ b/grails-geb/build.gradle @@ -18,7 +18,9 @@ */ plugins { id 'java-test-fixtures' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -64,8 +66,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gradle/bom/build.gradle b/grails-gradle/bom/build.gradle index 82050799be7..f17b243c472 100644 --- a/grails-gradle/bom/build.gradle +++ b/grails-gradle/bom/build.gradle @@ -19,7 +19,6 @@ plugins { id 'java-platform' - id 'maven-publish' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } diff --git a/grails-gradle/buildSrc/build.gradle b/grails-gradle/buildSrc/build.gradle index 6595dd9274f..b2dbf84e27f 100644 --- a/grails-gradle/buildSrc/build.gradle +++ b/grails-gradle/buildSrc/build.gradle @@ -55,13 +55,6 @@ repositories { } } -file('../../gradle.properties').withInputStream { - Properties props = new Properties() - props.load(it) - project.ext.gradleProperties = props -} - dependencies { implementation "${gradleBomDependencies['grails-publish-plugin']}" - implementation "org.gradle.crypto.checksum:org.gradle.crypto.checksum.gradle.plugin:${gradleProperties.gradleChecksumPluginVersion}" } \ No newline at end of file diff --git a/grails-gradle/common/build.gradle b/grails-gradle/common/build.gradle index 28c7378436b..d2aa2b6db25 100644 --- a/grails-gradle/common/build.gradle +++ b/grails-gradle/common/build.gradle @@ -18,6 +18,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -50,8 +52,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gradle/gradle/java-config.gradle b/grails-gradle/gradle/java-config.gradle deleted file mode 100644 index dcdadfcafa6..00000000000 --- a/grails-gradle/gradle/java-config.gradle +++ /dev/null @@ -1,85 +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. - */ - -compileJava.options.release = javaVersion.toInteger() - -extensions.configure(JavaPluginExtension) { - // Explicit `it` is required here - it.withJavadocJar() - it.withSourcesJar() -} - -tasks.named('sourcesJar', Jar).configure { Jar jar -> - SourceSetContainer sourceSets = project.extensions.getByType(JavaPluginExtension).sourceSets - jar.reproducibleFileOrder = true - jar.preserveFileTimestamps = false - // to avoid platform specific defaults, set the permissions consistently - jar.filePermissions { permissions -> - permissions.unix(0644) - } - jar.dirPermissions { permissions -> - permissions.unix(0755) - } - - jar.duplicatesStrategy = DuplicatesStrategy.EXCLUDE - - // don't only include main, but any source set - jar.from sourceSets.collect { it.allSource } - jar.inputs.files(sourceSets.collect { it.allSource }) -} - -// JavaCompile is not configured because we put java files inside of the groovy source sets - -tasks.withType(GroovyCompile).configureEach { - groovyOptions.encoding = 'UTF-8' // encoding needs to be the same since it's different across platforms - // Preserve method parameter names in Groovy/Java classes for IDE parameter hints & bean reflection metadata. - groovyOptions.parameters = true - options.encoding = 'UTF-8' // encoding needs to be the same since it's different across platforms - options.fork = true - options.forkOptions.jvmArgs = ['-Xms128M', '-Xmx1G'] -} - -// Grails determines the grails version via the META-INF/MANIFEST.MF file -// Note: we exclude attributes such as Built-By, Build-Jdk, Created-By to ensure the build is reproducible. -tasks.withType(Jar).configureEach { - if (project.findProperty('skipJavaComponent')) { - it.enabled = false - return - } - - manifest.attributes( - 'Implementation-Title': 'Apache Grails', - 'Implementation-Version': projectVersion, - 'Implementation-Vendor': 'grails.apache.org' - ) -} - -// Any jar, zip, or archive should be reproducible -// No longer needed after https://github.com/gradle/gradle/issues/30871 -tasks.withType(AbstractArchiveTask).configureEach { - preserveFileTimestamps = false // to prevent timestamp mismatches - reproducibleFileOrder = true // to keep the same ordering - // to avoid platform specific defaults, set the permissions consistently - filePermissions { permissions -> - permissions.unix(0644) - } - dirPermissions { permissions -> - permissions.unix(0755) - } -} diff --git a/grails-gradle/model/build.gradle b/grails-gradle/model/build.gradle index ef61d0d34b4..3b0e94f30f5 100644 --- a/grails-gradle/model/build.gradle +++ b/grails-gradle/model/build.gradle @@ -21,7 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' - id 'maven-publish' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -78,7 +79,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gradle/plugins/build.gradle b/grails-gradle/plugins/build.gradle index 1270ea95633..7f34b062675 100644 --- a/grails-gradle/plugins/build.gradle +++ b/grails-gradle/plugins/build.gradle @@ -20,7 +20,8 @@ plugins { id 'groovy' id 'java-gradle-plugin' - id 'maven-publish' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -122,7 +123,6 @@ tasks.withType(Copy) { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') } diff --git a/grails-gradle/tasks/build.gradle b/grails-gradle/tasks/build.gradle index f7f2d78caf1..ff7fc9d4674 100644 --- a/grails-gradle/tasks/build.gradle +++ b/grails-gradle/tasks/build.gradle @@ -20,7 +20,8 @@ plugins { id 'groovy' id 'java-library' - id 'maven-publish' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -50,7 +51,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gsp/core/build.gradle b/grails-gsp/core/build.gradle index e2e910ad110..79745676529 100644 --- a/grails-gsp/core/build.gradle +++ b/grails-gsp/core/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -90,8 +92,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gsp/grails-layout/build.gradle b/grails-gsp/grails-layout/build.gradle index 69549e42674..ce8c5a4e37f 100644 --- a/grails-gsp/grails-layout/build.gradle +++ b/grails-gsp/grails-layout/build.gradle @@ -20,7 +20,9 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -61,8 +63,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gsp/grails-sitemesh3/build.gradle b/grails-gsp/grails-sitemesh3/build.gradle index 9d2d2f6fdd4..9a620d505c2 100644 --- a/grails-gsp/grails-sitemesh3/build.gradle +++ b/grails-gsp/grails-sitemesh3/build.gradle @@ -19,7 +19,9 @@ plugins { id 'project-report' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -80,8 +82,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gsp/grails-taglib/build.gradle b/grails-gsp/grails-taglib/build.gradle index 7554adbd83f..703c3704fec 100644 --- a/grails-gsp/grails-taglib/build.gradle +++ b/grails-gsp/grails-taglib/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'project-report' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -81,8 +83,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gsp/grails-web-gsp-taglib/build.gradle b/grails-gsp/grails-web-gsp-taglib/build.gradle index 6d680c84707..957f1f63df1 100644 --- a/grails-gsp/grails-web-gsp-taglib/build.gradle +++ b/grails-gsp/grails-web-gsp-taglib/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'project-report' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -60,8 +62,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gsp/grails-web-gsp/build.gradle b/grails-gsp/grails-web-gsp/build.gradle index 437ee62949a..d1bdb5d6236 100644 --- a/grails-gsp/grails-web-gsp/build.gradle +++ b/grails-gsp/grails-web-gsp/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'project-report' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -128,8 +130,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gsp/grails-web-jsp/build.gradle b/grails-gsp/grails-web-jsp/build.gradle index 6c62d29c955..153caf0bdd4 100644 --- a/grails-gsp/grails-web-jsp/build.gradle +++ b/grails-gsp/grails-web-jsp/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'project-report' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -109,8 +111,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gsp/grails-web-taglib/build.gradle b/grails-gsp/grails-web-taglib/build.gradle index b5c29802301..ddfe25d3abd 100644 --- a/grails-gsp/grails-web-taglib/build.gradle +++ b/grails-gsp/grails-web-taglib/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -113,8 +115,6 @@ sourceSets { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gsp/plugin/build.gradle b/grails-gsp/plugin/build.gradle index d8984d683a8..51d319a759a 100644 --- a/grails-gsp/plugin/build.gradle +++ b/grails-gsp/plugin/build.gradle @@ -19,7 +19,9 @@ plugins { id 'project-report' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -179,8 +181,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-gsp/spring-boot/build.gradle b/grails-gsp/spring-boot/build.gradle index eac8de2de51..a47e6672ccc 100644 --- a/grails-gsp/spring-boot/build.gradle +++ b/grails-gsp/spring-boot/build.gradle @@ -18,6 +18,8 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.gradle.grails-plugin' } @@ -36,8 +38,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') //TODO: no docs until this is a publish project (its docs likely will need to be handled differently) // from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-i18n/build.gradle b/grails-i18n/build.gradle index d8276fe69f7..041d9948803 100644 --- a/grails-i18n/build.gradle +++ b/grails-i18n/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -64,8 +66,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') } \ No newline at end of file diff --git a/grails-interceptors/build.gradle b/grails-interceptors/build.gradle index 2cb0cc02bd8..f719f0d58f0 100644 --- a/grails-interceptors/build.gradle +++ b/grails-interceptors/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -63,8 +65,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-logging/build.gradle b/grails-logging/build.gradle index 95ff5cf62ab..a2b9d7c6354 100644 --- a/grails-logging/build.gradle +++ b/grails-logging/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -54,8 +56,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-micronaut/build.gradle b/grails-micronaut/build.gradle index 21daf5750e4..84693f1dc69 100644 --- a/grails-micronaut/build.gradle +++ b/grails-micronaut/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -43,7 +45,5 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') } \ No newline at end of file diff --git a/grails-mimetypes/build.gradle b/grails-mimetypes/build.gradle index c916acbe4a9..e736189415e 100644 --- a/grails-mimetypes/build.gradle +++ b/grails-mimetypes/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -62,8 +64,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-rest-transforms/build.gradle b/grails-rest-transforms/build.gradle index 81d7e7c0879..92703caac55 100644 --- a/grails-rest-transforms/build.gradle +++ b/grails-rest-transforms/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -78,8 +80,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-scaffolding/build.gradle b/grails-scaffolding/build.gradle index b6eac855210..bf0ba5be221 100644 --- a/grails-scaffolding/build.gradle +++ b/grails-scaffolding/build.gradle @@ -19,8 +19,10 @@ plugins { id 'project-report' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' id 'org.apache.grails.gradle.grails-gsp' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -43,8 +45,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-services/build.gradle b/grails-services/build.gradle index 0c2f5099587..55d5907631b 100644 --- a/grails-services/build.gradle +++ b/grails-services/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -65,8 +67,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') } \ No newline at end of file diff --git a/grails-shell-cli/build.gradle b/grails-shell-cli/build.gradle index 10e7631ac40..be866177303 100644 --- a/grails-shell-cli/build.gradle +++ b/grails-shell-cli/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -128,8 +130,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-spring/build.gradle b/grails-spring/build.gradle index e26938adf86..30dffa3dee6 100644 --- a/grails-spring/build.gradle +++ b/grails-spring/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -58,8 +60,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') } \ No newline at end of file diff --git a/grails-test-core/build.gradle b/grails-test-core/build.gradle index 82d833fb06e..2879e50fbd2 100644 --- a/grails-test-core/build.gradle +++ b/grails-test-core/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -85,8 +87,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/app1/build.gradle b/grails-test-examples/app1/build.gradle index 6efbbef4622..c2c185eff5d 100644 --- a/grails-test-examples/app1/build.gradle +++ b/grails-test-examples/app1/build.gradle @@ -17,6 +17,11 @@ * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} + version = '0.1' group = 'functionaltests' @@ -86,7 +91,6 @@ test { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/app2/build.gradle b/grails-test-examples/app2/build.gradle index 7a5feb91bfd..49d802953fb 100644 --- a/grails-test-examples/app2/build.gradle +++ b/grails-test-examples/app2/build.gradle @@ -17,6 +17,10 @@ * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1' group = 'app2' @@ -61,7 +65,6 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } diff --git a/grails-test-examples/app3/build.gradle b/grails-test-examples/app3/build.gradle index c6618a929e5..3dd8e624c1c 100644 --- a/grails-test-examples/app3/build.gradle +++ b/grails-test-examples/app3/build.gradle @@ -17,6 +17,11 @@ * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} + version = '0.1' group = 'app3' @@ -61,6 +66,5 @@ grails { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/async-events-pubsub-demo/build.gradle b/grails-test-examples/async-events-pubsub-demo/build.gradle index e251d0a55fe..823b1e9a85d 100644 --- a/grails-test-examples/async-events-pubsub-demo/build.gradle +++ b/grails-test-examples/async-events-pubsub-demo/build.gradle @@ -17,6 +17,11 @@ * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} + version = rootProject.version group = 'pubsub.demo' @@ -71,6 +76,5 @@ bootRun { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/cache/build.gradle b/grails-test-examples/cache/build.gradle index 01ab8775c9c..eded39cad51 100644 --- a/grails-test-examples/cache/build.gradle +++ b/grails-test-examples/cache/build.gradle @@ -19,8 +19,8 @@ plugins { id 'groovy' - id 'idea' - id 'eclipse' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -72,6 +72,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/datasources/build.gradle b/grails-test-examples/datasources/build.gradle index 29882717be4..97d7031b037 100644 --- a/grails-test-examples/datasources/build.gradle +++ b/grails-test-examples/datasources/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1' group = 'datasources' @@ -52,6 +56,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/demo33/build.gradle b/grails-test-examples/demo33/build.gradle index 0d95401e403..d7fca0beb4a 100644 --- a/grails-test-examples/demo33/build.gradle +++ b/grails-test-examples/demo33/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} group = 'org.example.grails' version = '0.0.1' @@ -70,7 +74,6 @@ tasks.named('compileTestGroovy').configure { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/exploded/build.gradle b/grails-test-examples/exploded/build.gradle index c8fd2091249..b2c0c6e25d7 100644 --- a/grails-test-examples/exploded/build.gradle +++ b/grails-test-examples/exploded/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1' group = 'exploded' @@ -60,6 +64,5 @@ grails { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/external-configuration/build.gradle b/grails-test-examples/external-configuration/build.gradle index f977cb0beae..20281d4671c 100644 --- a/grails-test-examples/external-configuration/build.gradle +++ b/grails-test-examples/external-configuration/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} apply plugin: 'groovy' apply plugin: 'org.apache.grails.gradle.grails-web' @@ -60,7 +64,6 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } diff --git a/grails-test-examples/geb-gebconfig/build.gradle b/grails-test-examples/geb-gebconfig/build.gradle index be441fb3c60..2ebe7428932 100644 --- a/grails-test-examples/geb-gebconfig/build.gradle +++ b/grails-test-examples/geb-gebconfig/build.gradle @@ -17,7 +17,12 @@ * under the License. */ -apply plugin: 'groovy' +plugins { + id 'groovy' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} + apply plugin: 'org.apache.grails.gradle.grails-web' apply plugin: 'org.apache.grails.gradle.grails-gsp' apply plugin: 'cloud.wondrify.asset-pipeline' @@ -76,7 +81,6 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/geb/build.gradle b/grails-test-examples/geb/build.gradle index 3f690769c8b..55526a65f3d 100644 --- a/grails-test-examples/geb/build.gradle +++ b/grails-test-examples/geb/build.gradle @@ -16,8 +16,12 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'groovy' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} -apply plugin: 'groovy' apply plugin: 'org.apache.grails.gradle.grails-web' apply plugin: 'org.apache.grails.gradle.grails-gsp' apply plugin: 'cloud.wondrify.asset-pipeline' @@ -86,7 +90,6 @@ tasks.withType(Test).configureEach { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/gorm/build.gradle b/grails-test-examples/gorm/build.gradle index 707728666df..91f378f2222 100644 --- a/grails-test-examples/gorm/build.gradle +++ b/grails-test-examples/gorm/build.gradle @@ -17,6 +17,11 @@ * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} + version = '0.1' group = 'gorm' @@ -58,6 +63,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/gsp-layout/build.gradle b/grails-test-examples/gsp-layout/build.gradle index d7a20e94e8a..c1e6bb98656 100644 --- a/grails-test-examples/gsp-layout/build.gradle +++ b/grails-test-examples/gsp-layout/build.gradle @@ -17,6 +17,11 @@ * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} + version = '0.0.1' group = 'org.example.grails.layout' @@ -65,7 +70,6 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/gsp-sitemesh3/build.gradle b/grails-test-examples/gsp-sitemesh3/build.gradle index 73e0e7cef2c..5cff09fe557 100644 --- a/grails-test-examples/gsp-sitemesh3/build.gradle +++ b/grails-test-examples/gsp-sitemesh3/build.gradle @@ -17,6 +17,11 @@ * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} + version = '0.0.1' group = 'org.example.grails.layout' @@ -60,7 +65,6 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/hibernate5/grails-data-service/build.gradle b/grails-test-examples/hibernate5/grails-data-service/build.gradle index ff91350b7fb..8fa4c0fdc64 100644 --- a/grails-test-examples/hibernate5/grails-data-service/build.gradle +++ b/grails-test-examples/hibernate5/grails-data-service/build.gradle @@ -18,8 +18,10 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-web' id 'org.apache.grails.gradle.grails-gson' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -47,7 +49,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/hibernate5/grails-database-per-tenant/build.gradle b/grails-test-examples/hibernate5/grails-database-per-tenant/build.gradle index b7d149a2b11..514528fe0e1 100644 --- a/grails-test-examples/hibernate5/grails-database-per-tenant/build.gradle +++ b/grails-test-examples/hibernate5/grails-database-per-tenant/build.gradle @@ -18,9 +18,11 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-web' id 'org.apache.grails.gradle.grails-gsp' id 'cloud.wondrify.asset-pipeline' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -59,7 +61,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') diff --git a/grails-test-examples/hibernate5/grails-hibernate-groovy-proxy/build.gradle b/grails-test-examples/hibernate5/grails-hibernate-groovy-proxy/build.gradle index b1fe1b4e11d..e971060edf1 100644 --- a/grails-test-examples/hibernate5/grails-hibernate-groovy-proxy/build.gradle +++ b/grails-test-examples/hibernate5/grails-hibernate-groovy-proxy/build.gradle @@ -18,7 +18,9 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-web' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -42,7 +44,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/hibernate5/grails-hibernate/build.gradle b/grails-test-examples/hibernate5/grails-hibernate/build.gradle index cb8ed234763..5fff25a8619 100644 --- a/grails-test-examples/hibernate5/grails-hibernate/build.gradle +++ b/grails-test-examples/hibernate5/grails-hibernate/build.gradle @@ -18,9 +18,11 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-web' id 'org.apache.grails.gradle.grails-gsp' id 'cloud.wondrify.asset-pipeline' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -70,7 +72,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') diff --git a/grails-test-examples/hibernate5/grails-multiple-datasources/build.gradle b/grails-test-examples/hibernate5/grails-multiple-datasources/build.gradle index 65177af9917..f9057b3f591 100644 --- a/grails-test-examples/hibernate5/grails-multiple-datasources/build.gradle +++ b/grails-test-examples/hibernate5/grails-multiple-datasources/build.gradle @@ -18,7 +18,9 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-web' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -61,7 +63,6 @@ sourceSets { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/hibernate5/grails-partitioned-multi-tenancy/build.gradle b/grails-test-examples/hibernate5/grails-partitioned-multi-tenancy/build.gradle index 2d0f12d7a02..8cffb590620 100644 --- a/grails-test-examples/hibernate5/grails-partitioned-multi-tenancy/build.gradle +++ b/grails-test-examples/hibernate5/grails-partitioned-multi-tenancy/build.gradle @@ -18,9 +18,11 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-web' id 'org.apache.grails.gradle.grails-gsp' id 'cloud.wondrify.asset-pipeline' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -58,7 +60,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') diff --git a/grails-test-examples/hibernate5/grails-schema-per-tenant/build.gradle b/grails-test-examples/hibernate5/grails-schema-per-tenant/build.gradle index cf033f116a7..2b58a361294 100644 --- a/grails-test-examples/hibernate5/grails-schema-per-tenant/build.gradle +++ b/grails-test-examples/hibernate5/grails-schema-per-tenant/build.gradle @@ -18,9 +18,11 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-web' id 'org.apache.grails.gradle.grails-gsp' id 'cloud.wondrify.asset-pipeline' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -58,7 +60,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') diff --git a/grails-test-examples/hibernate5/issue450/build.gradle b/grails-test-examples/hibernate5/issue450/build.gradle index fe533af8fdb..f48f21355fb 100644 --- a/grails-test-examples/hibernate5/issue450/build.gradle +++ b/grails-test-examples/hibernate5/issue450/build.gradle @@ -18,9 +18,11 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-web' id 'org.apache.grails.gradle.grails-gsp' id 'cloud.wondrify.asset-pipeline' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -63,7 +65,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') diff --git a/grails-test-examples/hibernate5/spring-boot-hibernate/build.gradle b/grails-test-examples/hibernate5/spring-boot-hibernate/build.gradle index cfbcf4b49fb..33619cd2973 100644 --- a/grails-test-examples/hibernate5/spring-boot-hibernate/build.gradle +++ b/grails-test-examples/hibernate5/spring-boot-hibernate/build.gradle @@ -19,7 +19,9 @@ plugins { id 'groovy' + id 'org.apache.grails.buildsrc.properties' id 'org.springframework.boot' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -46,6 +48,5 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/hibernate5/standalone-hibernate/build.gradle b/grails-test-examples/hibernate5/standalone-hibernate/build.gradle index 92a0e6a7a88..0cc196bf3ad 100644 --- a/grails-test-examples/hibernate5/standalone-hibernate/build.gradle +++ b/grails-test-examples/hibernate5/standalone-hibernate/build.gradle @@ -19,6 +19,8 @@ plugins { id 'groovy' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' } version = '0.0.1' @@ -43,6 +45,5 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/hyphenated/build.gradle b/grails-test-examples/hyphenated/build.gradle index da6155da420..5c135a34600 100644 --- a/grails-test-examples/hyphenated/build.gradle +++ b/grails-test-examples/hyphenated/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1' group = 'hyphenated' @@ -70,7 +74,6 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/issue-11102/build.gradle b/grails-test-examples/issue-11102/build.gradle index 58b5b236016..369fad6715b 100644 --- a/grails-test-examples/issue-11102/build.gradle +++ b/grails-test-examples/issue-11102/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1' group = 'issue11102' @@ -87,7 +91,6 @@ bootRun { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/issue-11767/build.gradle b/grails-test-examples/issue-11767/build.gradle index fa4e9657e4f..28542fc268b 100644 --- a/grails-test-examples/issue-11767/build.gradle +++ b/grails-test-examples/issue-11767/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1' group = 'issue11767.app' @@ -40,6 +44,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } diff --git a/grails-test-examples/issue-15228/build.gradle b/grails-test-examples/issue-15228/build.gradle index 8d586c75a68..8a20bff9ad3 100644 --- a/grails-test-examples/issue-15228/build.gradle +++ b/grails-test-examples/issue-15228/build.gradle @@ -17,6 +17,11 @@ * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} + version = '0.1' group = 'issue11767.app' @@ -43,6 +48,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } diff --git a/grails-test-examples/issue-698-domain-save-npe/build.gradle b/grails-test-examples/issue-698-domain-save-npe/build.gradle index 52921020244..d04b2632932 100644 --- a/grails-test-examples/issue-698-domain-save-npe/build.gradle +++ b/grails-test-examples/issue-698-domain-save-npe/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1' group = 'grails301.domain.save.npe' @@ -51,6 +55,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/issue-views-182/build.gradle b/grails-test-examples/issue-views-182/build.gradle index 0885c09545e..068f2553830 100644 --- a/grails-test-examples/issue-views-182/build.gradle +++ b/grails-test-examples/issue-views-182/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1' group = 'issueviews182' @@ -75,6 +79,5 @@ bootRun { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/micronaut/build.gradle b/grails-test-examples/micronaut/build.gradle index 8f740ca4c1f..33d2f27d3e5 100644 --- a/grails-test-examples/micronaut/build.gradle +++ b/grails-test-examples/micronaut/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1' group = 'micronaut' @@ -49,7 +53,6 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } diff --git a/grails-test-examples/mongodb/base/build.gradle b/grails-test-examples/mongodb/base/build.gradle index d62ce74c201..014d4ced574 100644 --- a/grails-test-examples/mongodb/base/build.gradle +++ b/grails-test-examples/mongodb/base/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = projectVersion group = 'examples' @@ -63,7 +67,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') diff --git a/grails-test-examples/mongodb/database-per-tenant/build.gradle b/grails-test-examples/mongodb/database-per-tenant/build.gradle index 33b04f897b9..be074be73ca 100644 --- a/grails-test-examples/mongodb/database-per-tenant/build.gradle +++ b/grails-test-examples/mongodb/database-per-tenant/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = projectVersion group = 'examples.mongo.tenant' @@ -56,7 +60,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') diff --git a/grails-test-examples/mongodb/gson-templates/build.gradle b/grails-test-examples/mongodb/gson-templates/build.gradle index 4e9e1d36fdf..615c7fa8b1c 100644 --- a/grails-test-examples/mongodb/gson-templates/build.gradle +++ b/grails-test-examples/mongodb/gson-templates/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = projectVersion group = 'examples' @@ -57,7 +61,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') diff --git a/grails-test-examples/mongodb/hibernate5/build.gradle b/grails-test-examples/mongodb/hibernate5/build.gradle index 9f47b349768..d6b5189ad50 100644 --- a/grails-test-examples/mongodb/hibernate5/build.gradle +++ b/grails-test-examples/mongodb/hibernate5/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = projectVersion group = 'examples' @@ -70,7 +74,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') diff --git a/grails-test-examples/mongodb/springboot/build.gradle b/grails-test-examples/mongodb/springboot/build.gradle index d7a2f53d349..fb23b24419e 100644 --- a/grails-test-examples/mongodb/springboot/build.gradle +++ b/grails-test-examples/mongodb/springboot/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} apply plugin: 'groovy' apply plugin: 'org.springframework.boot' @@ -34,6 +38,5 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') } diff --git a/grails-test-examples/mongodb/test-data-service/build.gradle b/grails-test-examples/mongodb/test-data-service/build.gradle index 55142af02c8..5676de1ea26 100644 --- a/grails-test-examples/mongodb/test-data-service/build.gradle +++ b/grails-test-examples/mongodb/test-data-service/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = projectVersion group = 'examples' @@ -49,7 +53,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } diff --git a/grails-test-examples/namespaces/build.gradle b/grails-test-examples/namespaces/build.gradle index 75c009c8427..f9ca93c46aa 100644 --- a/grails-test-examples/namespaces/build.gradle +++ b/grails-test-examples/namespaces/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1' group = 'namespaces' @@ -61,7 +65,6 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/plugins/exploded/build.gradle b/grails-test-examples/plugins/exploded/build.gradle index e0858bae74c..e46399541a8 100644 --- a/grails-test-examples/plugins/exploded/build.gradle +++ b/grails-test-examples/plugins/exploded/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1-SNAPSHOT' group = 'com.example.grails.plugins' @@ -43,6 +47,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/plugins/issue-11767/build.gradle b/grails-test-examples/plugins/issue-11767/build.gradle index 93a9a152120..52e72538373 100644 --- a/grails-test-examples/plugins/issue-11767/build.gradle +++ b/grails-test-examples/plugins/issue-11767/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1-SNAPSHOT' group = 'issue11767.plugin' @@ -30,6 +34,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } diff --git a/grails-test-examples/plugins/issue11005/build.gradle b/grails-test-examples/plugins/issue11005/build.gradle index d58f8f548dc..32619d73a0b 100644 --- a/grails-test-examples/plugins/issue11005/build.gradle +++ b/grails-test-examples/plugins/issue11005/build.gradle @@ -16,6 +16,11 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} apply plugin: 'org.apache.grails.gradle.grails-plugin' apply plugin: 'org.apache.grails.gradle.grails-gsp' @@ -44,6 +49,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/plugins/loadafter/build.gradle b/grails-test-examples/plugins/loadafter/build.gradle index ad9b09c196a..37670aa7cf1 100644 --- a/grails-test-examples/plugins/loadafter/build.gradle +++ b/grails-test-examples/plugins/loadafter/build.gradle @@ -16,6 +16,11 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' + id 'java-library' +} version = '0.1-SNAPSHOT' group = 'com.example.grails.plugins' @@ -43,6 +48,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/plugins/loadfirst/build.gradle b/grails-test-examples/plugins/loadfirst/build.gradle index 1e9144a2447..122d3d93884 100644 --- a/grails-test-examples/plugins/loadfirst/build.gradle +++ b/grails-test-examples/plugins/loadfirst/build.gradle @@ -16,6 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1-SNAPSHOT' group = 'com.example.grails.plugins' @@ -41,6 +45,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/plugins/loadsecond/build.gradle b/grails-test-examples/plugins/loadsecond/build.gradle index 0433918061f..4849fa22c3e 100644 --- a/grails-test-examples/plugins/loadsecond/build.gradle +++ b/grails-test-examples/plugins/loadsecond/build.gradle @@ -16,6 +16,11 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' +} version = '0.1-SNAPSHOT' group = 'com.example.grails.plugins' @@ -40,6 +45,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/scaffolding/build.gradle b/grails-test-examples/scaffolding/build.gradle index a45c4960b19..89b6779c934 100644 --- a/grails-test-examples/scaffolding/build.gradle +++ b/grails-test-examples/scaffolding/build.gradle @@ -19,9 +19,11 @@ plugins { id 'groovy' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-gsp' id 'org.apache.grails.gradle.grails-web' id 'cloud.wondrify.asset-pipeline' + id 'org.apache.grails.buildsrc.compile' } version = "0.0.1" @@ -66,7 +68,6 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-examples/views-functional-tests-plugin/build.gradle b/grails-test-examples/views-functional-tests-plugin/build.gradle index e13a8ba332f..6356378acec 100644 --- a/grails-test-examples/views-functional-tests-plugin/build.gradle +++ b/grails-test-examples/views-functional-tests-plugin/build.gradle @@ -18,6 +18,8 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.gradle.grails-plugin' id 'org.apache.grails.gradle.grails-gson' } @@ -36,6 +38,5 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } diff --git a/grails-test-examples/views-functional-tests/build.gradle b/grails-test-examples/views-functional-tests/build.gradle index ba188882fb3..369919c05cc 100644 --- a/grails-test-examples/views-functional-tests/build.gradle +++ b/grails-test-examples/views-functional-tests/build.gradle @@ -18,11 +18,12 @@ */ plugins { - id 'application' id 'groovy' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-gsp' id 'org.apache.grails.gradle.grails-web' id 'cloud.wondrify.asset-pipeline' + id 'org.apache.grails.buildsrc.compile' } version = "0.0.1" @@ -78,7 +79,6 @@ dependencies { apply { from rootProject.layout.projectDirectory.file('gradle/functional-test-config.gradle') - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-webjar-asset-config.gradle') from rootProject.layout.projectDirectory.file('gradle/grails-extension-gradle-config.gradle') } \ No newline at end of file diff --git a/grails-test-suite-base/build.gradle b/grails-test-suite-base/build.gradle index 41b68acd404..37cc70efdf6 100644 --- a/grails-test-suite-base/build.gradle +++ b/grails-test-suite-base/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -73,7 +75,5 @@ tasks.withType(Groovydoc).configureEach { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') } diff --git a/grails-test-suite-persistence/build.gradle b/grails-test-suite-persistence/build.gradle index 37d61c34cc3..a73cdf45713 100644 --- a/grails-test-suite-persistence/build.gradle +++ b/grails-test-suite-persistence/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -115,7 +117,5 @@ tasks.withType(Groovydoc).configureEach { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') } diff --git a/grails-test-suite-uber/build.gradle b/grails-test-suite-uber/build.gradle index a1ea256b245..a2c1ce91fd2 100644 --- a/grails-test-suite-uber/build.gradle +++ b/grails-test-suite-uber/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -173,11 +175,6 @@ tasks.named('test', Test).configure { }) } -apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') -} - tasks.withType(Groovydoc).configureEach { // tests do not have groovydoc enabled = false diff --git a/grails-test-suite-web/build.gradle b/grails-test-suite-web/build.gradle index 5f9dc53314e..2da78fd0336 100644 --- a/grails-test-suite-web/build.gradle +++ b/grails-test-suite-web/build.gradle @@ -19,6 +19,8 @@ plugins { id 'groovy' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' } version = projectVersion @@ -95,7 +97,5 @@ tasks.withType(Groovydoc).configureEach { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') } diff --git a/grails-testing-support-core/build.gradle b/grails-testing-support-core/build.gradle index 78e38e0d07d..51cd324d712 100644 --- a/grails-testing-support-core/build.gradle +++ b/grails-testing-support-core/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -75,8 +77,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-testing-support-datamapping/build.gradle b/grails-testing-support-datamapping/build.gradle index f1fd0c3e70a..a5aa6b5dfb4 100755 --- a/grails-testing-support-datamapping/build.gradle +++ b/grails-testing-support-datamapping/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -137,7 +139,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-testing-support-mongodb/build.gradle b/grails-testing-support-mongodb/build.gradle index 8ab8b2be009..aaeff6035b7 100644 --- a/grails-testing-support-mongodb/build.gradle +++ b/grails-testing-support-mongodb/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -45,7 +47,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-testing-support-views-gson/build.gradle b/grails-testing-support-views-gson/build.gradle index 1692ef71889..ce27fcb1148 100644 --- a/grails-testing-support-views-gson/build.gradle +++ b/grails-testing-support-views-gson/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -51,7 +53,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') diff --git a/grails-testing-support-web/build.gradle b/grails-testing-support-web/build.gradle index b07752e09b2..59dd115be8f 100755 --- a/grails-testing-support-web/build.gradle +++ b/grails-testing-support-web/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -51,8 +53,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-url-mappings/build.gradle b/grails-url-mappings/build.gradle index ded397286af..70c2940809b 100644 --- a/grails-url-mappings/build.gradle +++ b/grails-url-mappings/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -65,8 +67,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') } \ No newline at end of file diff --git a/grails-validation/build.gradle b/grails-validation/build.gradle index 08329ccbd43..8d07f4d527c 100644 --- a/grails-validation/build.gradle +++ b/grails-validation/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -63,8 +65,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-views-core/build.gradle b/grails-views-core/build.gradle index 886c51c91f0..fa0686e749c 100644 --- a/grails-views-core/build.gradle +++ b/grails-views-core/build.gradle @@ -20,6 +20,8 @@ plugins { id 'groovy' id 'java-library' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -56,8 +58,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-views-gson/build.gradle b/grails-views-gson/build.gradle index 53b41be9c6b..2573ee4dff9 100644 --- a/grails-views-gson/build.gradle +++ b/grails-views-gson/build.gradle @@ -18,7 +18,9 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -66,8 +68,6 @@ tasks.named('sourcesJar', Jar).configure { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-views-markup/build.gradle b/grails-views-markup/build.gradle index b9b764b8633..f771f47ebf1 100644 --- a/grails-views-markup/build.gradle +++ b/grails-views-markup/build.gradle @@ -18,7 +18,9 @@ */ plugins { + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.gradle.grails-plugin' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -52,8 +54,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-web-boot/build.gradle b/grails-web-boot/build.gradle index b39abbaeab4..6818af958c6 100644 --- a/grails-web-boot/build.gradle +++ b/grails-web-boot/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -67,8 +69,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-web-common/build.gradle b/grails-web-common/build.gradle index 73852df6ca7..b2bab7867f9 100644 --- a/grails-web-common/build.gradle +++ b/grails-web-common/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -78,8 +80,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-web-core/build.gradle b/grails-web-core/build.gradle index 50890e37746..2a468eba1fe 100644 --- a/grails-web-core/build.gradle +++ b/grails-web-core/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -72,8 +74,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-web-databinding/build.gradle b/grails-web-databinding/build.gradle index d3c3aa8d9a5..0242b451b6d 100644 --- a/grails-web-databinding/build.gradle +++ b/grails-web-databinding/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -75,8 +77,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-web-mvc/build.gradle b/grails-web-mvc/build.gradle index cf0424f2ebd..9c1b7194292 100644 --- a/grails-web-mvc/build.gradle +++ b/grails-web-mvc/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -63,8 +65,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-web-url-mappings/build.gradle b/grails-web-url-mappings/build.gradle index 46885d44f48..70400053bf3 100644 --- a/grails-web-url-mappings/build.gradle +++ b/grails-web-url-mappings/build.gradle @@ -21,6 +21,8 @@ plugins { id 'groovy' id 'java-library' id 'project-report' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -76,8 +78,6 @@ dependencies { } apply { - // java-configuration must be applied first since tasks are now lazy registered - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') diff --git a/grails-wrapper/build.gradle b/grails-wrapper/build.gradle index 6c2209babb3..39f3d5aab22 100644 --- a/grails-wrapper/build.gradle +++ b/grails-wrapper/build.gradle @@ -19,6 +19,8 @@ plugins { id 'java' id 'groovy' id 'distribution' + id 'org.apache.grails.buildsrc.properties' + id 'org.apache.grails.buildsrc.compile' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } @@ -54,7 +56,6 @@ dependencies { } apply { - from rootProject.layout.projectDirectory.file('gradle/java-config.gradle') from rootProject.layout.projectDirectory.file('gradle/code-style-config.gradle') from rootProject.layout.projectDirectory.file('gradle/test-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') From 7953e132bfa17ad1f2cf4be6315faf72ad5e0c3f Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Mon, 1 Dec 2025 08:45:08 -0500 Subject: [PATCH 02/13] remove source of duplicate sourceset inclusion in source jars --- .../org/apache/grails/buildsrc/CompilePlugin.groovy | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy index 395be338945..eb770a49188 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy @@ -52,16 +52,6 @@ class CompilePlugin implements Plugin { it.withSourcesJar() } - // TODO: Causes the imports autoconfiguration file to be duplicated in grails-core b/c main gets copied twice - // TODO: this was for grails-gradle specifically in the past, we need to figure out which additional source sets are included -// project.tasks.named('sourcesJar', Jar).configure { Jar jar -> -// SourceSetContainer sourceSets = project.extensions.getByType(JavaPluginExtension).sourceSets -// -// // don't only include main, but any source set -// jar.from(sourceSets.collect { it.allSource }) -// jar.inputs.files(sourceSets.collect { it.allSource }) -// } - // Grails determines the grails version via the META-INF/MANIFEST.MF file // Note: we exclude attributes such as Built-By, Build-Jdk, Created-By to ensure the build is reproducible. project.tasks.withType(Jar).configureEach { Jar jar -> @@ -75,7 +65,7 @@ class CompilePlugin implements Plugin { 'Implementation-Version': lookupPropertyByType(project, 'grailsVersion', String), 'Implementation-Vendor': 'grails.apache.org' ) - // TODO: forge used to be include, grails used to exclude + // Explicitly fail since duplicates indicate a double configuration that needs fixed jar.duplicatesStrategy = DuplicatesStrategy.FAIL } } From c8a6efa67c0a10ea30e132ce4073056d20218c5f Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Mon, 1 Dec 2025 08:55:00 -0500 Subject: [PATCH 03/13] use SharedPropertiesPlugin where possible and avoid manual loading of gradle.properties files --- grails-doc/build.gradle | 1 + grails-forge/build.gradle | 11 ++--------- .../grails-forge-analytics-postgres/build.gradle | 1 + grails-forge/grails-forge-core/build.gradle | 4 ++-- grails-forge/grails-forge-web-netty/build.gradle | 1 + grails-gradle/bom/build.gradle | 1 + grails-gradle/build.gradle | 7 ------- 7 files changed, 8 insertions(+), 18 deletions(-) diff --git a/grails-doc/build.gradle b/grails-doc/build.gradle index 5e67539fb76..a99f19d83ea 100644 --- a/grails-doc/build.gradle +++ b/grails-doc/build.gradle @@ -25,6 +25,7 @@ plugins { id 'base' id 'org.asciidoctor.jvm.convert' id 'groovy' + id 'org.apache.grails.buildsrc.properties' } compileJava.options.release = javaVersion.toInteger() diff --git a/grails-forge/build.gradle b/grails-forge/build.gradle index e80833dd5e9..bd7eadc9e1b 100644 --- a/grails-forge/build.gradle +++ b/grails-forge/build.gradle @@ -22,9 +22,8 @@ import java.time.LocalDate import java.time.ZoneOffset import java.time.format.DateTimeFormatter -Properties props = new Properties() -file('../gradle.properties').withInputStream { - props.load(it) +plugins { + id 'org.apache.grails.buildsrc.properties' } ext { @@ -41,12 +40,6 @@ ext { } allprojects { - props.forEach { k, v -> - if (!project.hasProperty(k as String)) { - project.ext.set(k as String, v) - } - } - tasks.withType(Test).configureEach { Task testTask -> testTask.dependsOn( gradle.includedBuild('grails-core').task(':publishAllPublicationsToTestCaseMavenRepoRepository'), diff --git a/grails-forge/grails-forge-analytics-postgres/build.gradle b/grails-forge/grails-forge-analytics-postgres/build.gradle index 197893615f3..be824be68b3 100644 --- a/grails-forge/grails-forge-analytics-postgres/build.gradle +++ b/grails-forge/grails-forge-analytics-postgres/build.gradle @@ -19,6 +19,7 @@ plugins { id 'com.gradleup.shadow' + id 'org.apache.grails.buildsrc.properties' id 'io.micronaut.application' version "$micronautApplicationPluginVersion" } diff --git a/grails-forge/grails-forge-core/build.gradle b/grails-forge/grails-forge-core/build.gradle index 5110e92fd82..84a50c8cca2 100644 --- a/grails-forge/grails-forge-core/build.gradle +++ b/grails-forge/grails-forge-core/build.gradle @@ -1,5 +1,3 @@ -import org.apache.grails.buildsrc.WriteGrailsVersionInfoTask - /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -19,6 +17,8 @@ import org.apache.grails.buildsrc.WriteGrailsVersionInfoTask * under the License. */ +import org.apache.grails.buildsrc.WriteGrailsVersionInfoTask + plugins { id 'groovy' id 'java-library' diff --git a/grails-forge/grails-forge-web-netty/build.gradle b/grails-forge/grails-forge-web-netty/build.gradle index 3152efca271..f53150b74d9 100644 --- a/grails-forge/grails-forge-web-netty/build.gradle +++ b/grails-forge/grails-forge-web-netty/build.gradle @@ -19,6 +19,7 @@ plugins { id 'com.gradleup.shadow' + id 'org.apache.grails.buildsrc.properties' id 'io.micronaut.application' version "$micronautApplicationPluginVersion" } diff --git a/grails-gradle/bom/build.gradle b/grails-gradle/bom/build.gradle index f17b243c472..d2298cb59e7 100644 --- a/grails-gradle/bom/build.gradle +++ b/grails-gradle/bom/build.gradle @@ -19,6 +19,7 @@ plugins { id 'java-platform' + id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.publish' id 'org.apache.grails.buildsrc.sbom' } diff --git a/grails-gradle/build.gradle b/grails-gradle/build.gradle index 78eace0a698..9a254dffc3e 100644 --- a/grails-gradle/build.gradle +++ b/grails-gradle/build.gradle @@ -20,14 +20,7 @@ import java.time.LocalDate import java.time.ZoneOffset import java.time.format.DateTimeFormatter -Properties props = new Properties() -file('../gradle.properties').withInputStream { - props.load(it) -} - allprojects { - props.forEach { k, v -> project.ext.set(k as String, v) } - apply from: rootProject.layout.projectDirectory.file('../dependencies.gradle') } From 957ff564ab964c2a883e86ad6f31ba5606adc1ad Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Mon, 1 Dec 2025 09:35:51 -0500 Subject: [PATCH 04/13] remove manual gradle.properties lookup from buildSrcs --- .../apache/grails/buildsrc/GradleUtils.groovy | 15 ++++-- .../buildsrc/SharedPropertyPlugin.groovy | 49 ++++++++++--------- buildSrc/build.gradle | 15 ++---- buildSrc/settings.gradle | 27 ++++++++++ grails-forge/buildSrc/build.gradle | 23 +-------- grails-forge/buildSrc/settings.gradle | 27 ++++++++++ grails-forge/gradle.properties | 1 - grails-gradle/build.gradle | 4 ++ grails-gradle/buildSrc/build.gradle | 1 + grails-gradle/buildSrc/settings.gradle | 27 ++++++++++ 10 files changed, 130 insertions(+), 59 deletions(-) create mode 100644 buildSrc/settings.gradle create mode 100644 grails-forge/buildSrc/settings.gradle create mode 100644 grails-gradle/buildSrc/settings.gradle diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy index 3091cf9c326..ab235c54e51 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy @@ -27,15 +27,20 @@ import org.gradle.api.file.Directory class GradleUtils { static Directory findRootGrailsCoreDir(Project project) { - def rootLayout = project.rootProject.layout + def rootLayout = project.layout + // .github / .git related directories are purged from source releases, so use the .asf.yaml as an indicator of // the parent directory - if (rootLayout.projectDirectory.file('.asf.yaml').asFile.exists()) { - return rootLayout.projectDirectory + findAsfRoot(rootLayout.projectDirectory) + } + + static Directory findAsfRoot(Directory currentDirectory) { + def asfFile = currentDirectory.file('.asf.yaml').asFile + if (asfFile.exists()) { + return currentDirectory } - // we currently only nest 1 project level deep - rootLayout.projectDirectory.dir('../') + findAsfRoot(currentDirectory.dir('../')) } static T lookupProperty(Project project, String name, T defaultValue = null) { diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy index 57069cf715f..84f0dcd2229 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy @@ -4,9 +4,10 @@ import groovy.transform.CompileStatic import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.api.file.Directory +import org.gradle.api.plugins.ExtraPropertiesExtension import static org.apache.grails.buildsrc.GradleUtils.findRootGrailsCoreDir -import static org.apache.grails.buildsrc.GradleUtils.lookupPropertyByType /** * Gradle can't share properties across buildSrc or composite projects. This plugin ensures that properties not defined @@ -14,38 +15,42 @@ import static org.apache.grails.buildsrc.GradleUtils.lookupPropertyByType * prior to the access of any property for it to work properly */ @CompileStatic -class SharedPropertyPlugin implements Plugin { +class SharedPropertyPlugin implements Plugin { @Override void apply(Project project) { def ext = project.extensions.getExtraProperties() - ext.set('grailsVersion', lookupPropertyByType(project, 'projectVersion', String)) def rootGrailsCoreDir = findRootGrailsCoreDir(project) - if(project.layout.projectDirectory.asFile.name == 'build-src') { - // Load the subproject properties first - def parentProject = project.layout.projectDirectory.dir('..') - if(parentProject.asFile.absolutePath != rootGrailsCoreDir.asFile.absolutePath) { - parentProject.file('gradle.properties').asFile.withInputStream { - Properties projectProperties = new Properties() - projectProperties.load(it) - - for (String key : projectProperties.stringPropertyNames()) { - ext.set(key, projectProperties.getProperty(key)) - } - } - } + populateParentProperties(project.layout.projectDirectory, rootGrailsCoreDir, ext, project) + } + + void populateParentProperties(Directory projectDirectory, Directory rootDirectory, ExtraPropertiesExtension ext, Project project) { + if (!rootDirectory) { + throw new IllegalStateException('Could not locate the root directory to populate up to') } - rootGrailsCoreDir.file('gradle.properties').asFile.withInputStream { - Properties rootProperties = new Properties() - rootProperties.load(it) + if (projectDirectory.file('gradle.properties').asFile.exists()) { + def propertyPath = rootDirectory.asFile.relativePath(projectDirectory.asFile) + project.logger.info('Using properties from grails-core/{}gradle.properties', propertyPath ? "${propertyPath}/" : '') + projectDirectory.file('gradle.properties').asFile.withInputStream { + Properties rootProperties = new Properties() + rootProperties.load(it) - for (String key : rootProperties.stringPropertyNames()) { - if(!ext.has(key)) { - ext.set(key, rootProperties.getProperty(key)) + for (String key : rootProperties.stringPropertyNames()) { + if (!ext.has(key)) { + ext.set(key, rootProperties.getProperty(key)) + } + } + + if (rootProperties.containsKey('projectVersion')) { + ext.set('grailsVersion', rootProperties.getProperty('projectVersion')) } } } + + if (projectDirectory.asFile.absolutePath != rootDirectory.asFile.absolutePath) { + populateParentProperties(projectDirectory.dir('..'), rootDirectory, ext, project) + } } } diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 950e23b1d45..82781f2bc19 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -19,15 +19,10 @@ plugins { id 'groovy-gradle-plugin' + id 'org.apache.grails.buildsrc.properties' } -file('../gradle.properties').withInputStream { - Properties props = new Properties() - props.load(it) - project.ext.gradleProperties = props -} - -compileJava.options.release = gradleProperties.javaVersion.toString().toInteger() +compileJava.options.release = javaVersion.toString().toInteger() repositories { // mavenLocal() @@ -61,13 +56,13 @@ repositories { } dependencies { - implementation platform("org.apache.grails:grails-gradle-bom:${gradleProperties.projectVersion}") + implementation platform("org.apache.grails:grails-gradle-bom:$projectVersion") implementation 'org.apache.grails.gradle:grails-publish' implementation 'cloud.wondrify:asset-pipeline-gradle' implementation 'org.apache.grails:grails-docs-core' implementation 'org.apache.grails:grails-gradle-plugins' implementation 'org.asciidoctor:asciidoctor-gradle-jvm' implementation 'org.springframework.boot:spring-boot-gradle-plugin' - implementation "org.nosphere.apache.rat:org.nosphere.apache.rat.gradle.plugin:${gradleProperties.apacheRatVersion}" - implementation "org.cyclonedx.bom:org.cyclonedx.bom.gradle.plugin:${gradleProperties.gradleCycloneDxPluginVersion}" + implementation "org.nosphere.apache.rat:org.nosphere.apache.rat.gradle.plugin:$apacheRatVersion" + implementation "org.cyclonedx.bom:org.cyclonedx.bom.gradle.plugin:$gradleCycloneDxPluginVersion" } \ No newline at end of file diff --git a/buildSrc/settings.gradle b/buildSrc/settings.gradle new file mode 100644 index 00000000000..3bd5a1abf83 --- /dev/null +++ b/buildSrc/settings.gradle @@ -0,0 +1,27 @@ +/* + * 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. + */ +pluginManagement { + includeBuild('../build-logic') { + name = 'build-logic-root' + } +} + +includeBuild('../build-logic') { + name = 'build-logic-root' +} diff --git a/grails-forge/buildSrc/build.gradle b/grails-forge/buildSrc/build.gradle index 85dd3472e47..bc21a4d90ce 100644 --- a/grails-forge/buildSrc/build.gradle +++ b/grails-forge/buildSrc/build.gradle @@ -20,26 +20,7 @@ plugins { id 'java-gradle-plugin' id 'groovy-gradle-plugin' -} - -Properties forgeProperties = new Properties() -file('../gradle.properties').withInputStream { input -> - forgeProperties.load(input) -} - -Properties rootProperties = new Properties() -file('../../gradle.properties').withInputStream { input -> - rootProperties.load(input) -} - -for (String key : forgeProperties.stringPropertyNames()) { - ext.set(key, forgeProperties.getProperty(key)) -} - -for (String key : rootProperties.stringPropertyNames()) { - if(!ext.has(key)) { - ext.set(key, rootProperties.getProperty(key)) - } + id 'org.apache.grails.buildsrc.properties' } repositories { @@ -95,7 +76,7 @@ dependencies { implementation "org.antlr:antlr4-runtime:$antlr4Version" implementation "org.apache.ant:ant:$antVersion" implementation "org.apache.grails.gradle:grails-gradle-common:$projectVersion" - implementation "org.cyclonedx.bom:org.cyclonedx.bom.gradle.plugin:${rootProperties.gradleCycloneDxPluginVersion}" + implementation "org.cyclonedx.bom:org.cyclonedx.bom.gradle.plugin:${gradleCycloneDxPluginVersion}" } gradlePlugin { diff --git a/grails-forge/buildSrc/settings.gradle b/grails-forge/buildSrc/settings.gradle new file mode 100644 index 00000000000..795700449ac --- /dev/null +++ b/grails-forge/buildSrc/settings.gradle @@ -0,0 +1,27 @@ +/* + * 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. + */ +pluginManagement { + includeBuild('../../build-logic') { + name = 'build-logic-root' + } +} + +includeBuild('../../build-logic') { + name = 'build-logic-root' +} diff --git a/grails-forge/gradle.properties b/grails-forge/gradle.properties index 56a3c26ee24..a4bbc9724ff 100644 --- a/grails-forge/gradle.properties +++ b/grails-forge/gradle.properties @@ -27,7 +27,6 @@ projectDesc=Generates Grails applications grailsPublishGradleVersion=0.0.2 antVersion=1.10.15 antlr4Version=4.8-1!! -apacheRatVersion=0.8.1 asciidoctorGradleJvmVersion=4.0.4 cglibVersion=3.3.0 commonsCompressVersion=1.27.1 diff --git a/grails-gradle/build.gradle b/grails-gradle/build.gradle index 9a254dffc3e..e7cb03479e1 100644 --- a/grails-gradle/build.gradle +++ b/grails-gradle/build.gradle @@ -20,6 +20,10 @@ import java.time.LocalDate import java.time.ZoneOffset import java.time.format.DateTimeFormatter +plugins { + id 'org.apache.grails.buildsrc.properties' +} + allprojects { apply from: rootProject.layout.projectDirectory.file('../dependencies.gradle') } diff --git a/grails-gradle/buildSrc/build.gradle b/grails-gradle/buildSrc/build.gradle index b2dbf84e27f..3f88bc8572f 100644 --- a/grails-gradle/buildSrc/build.gradle +++ b/grails-gradle/buildSrc/build.gradle @@ -19,6 +19,7 @@ plugins { id 'groovy-gradle-plugin' + id 'org.apache.grails.buildsrc.properties' } apply { diff --git a/grails-gradle/buildSrc/settings.gradle b/grails-gradle/buildSrc/settings.gradle new file mode 100644 index 00000000000..795700449ac --- /dev/null +++ b/grails-gradle/buildSrc/settings.gradle @@ -0,0 +1,27 @@ +/* + * 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. + */ +pluginManagement { + includeBuild('../../build-logic') { + name = 'build-logic-root' + } +} + +includeBuild('../../build-logic') { + name = 'build-logic-root' +} From f5794ee49c146c96ec64634727f5f2a8251ef147 Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Mon, 1 Dec 2025 09:45:37 -0500 Subject: [PATCH 05/13] Add missing license headers --- .../grails/buildsrc/CompilePlugin.groovy | 19 +++++++++++++++++++ .../buildsrc/SharedPropertyPlugin.groovy | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy index eb770a49188..028f4b19b3d 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy @@ -1,3 +1,22 @@ +/* + * 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.buildsrc import java.nio.charset.StandardCharsets diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy index 84f0dcd2229..b7df637ce77 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy @@ -1,3 +1,22 @@ +/* + * 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.buildsrc import groovy.transform.CompileStatic From 883ecc7afe98ff13ea4ed9a54581a69e01f51e05 Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Mon, 1 Dec 2025 09:48:46 -0500 Subject: [PATCH 06/13] reformatting code --- .../groovy/org/apache/grails/buildsrc/GradleUtils.groovy | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy index ab235c54e51..e7b5855341c 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy @@ -50,7 +50,7 @@ class GradleUtils { static T lookupPropertyByType(Project project, String name, Class type) { // a cast exception will occur without this - if(type && (type == Integer || type == int.class)) { + if (type && (type == Integer || type == int.class)) { def v = findProperty(project, name) return v == null ? null : Integer.valueOf(v as String) as T } @@ -60,12 +60,12 @@ class GradleUtils { static Object findProperty(Project project, String name) { def property = project.findProperty(name) - if(property != null) { + if (property != null) { return property } def ext = project.extensions.getExtraProperties() - if(ext.has(name)) { + if (ext.has(name)) { return ext.get(name) } From f9466f6e0ac262a237f9724b33c286e4efab3b9b Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Tue, 2 Dec 2025 11:12:08 -0500 Subject: [PATCH 07/13] feedback - switch to register() for implicit typing --- build-logic/plugins/build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build-logic/plugins/build.gradle b/build-logic/plugins/build.gradle index 992618f0e87..a319236e5a9 100644 --- a/build-logic/plugins/build.gradle +++ b/build-logic/plugins/build.gradle @@ -42,19 +42,19 @@ dependencies { gradlePlugin { plugins { - compilePlugin { + register('compilePlugin') { id = 'org.apache.grails.buildsrc.compile' implementationClass = 'org.apache.grails.buildsrc.CompilePlugin' } - publishPlugin { + register('publishPlugin') { id = 'org.apache.grails.buildsrc.publish' implementationClass = 'org.apache.grails.buildsrc.PublishPlugin' } - sbomPlugin { + register('sbomPlugin') { id = 'org.apache.grails.buildsrc.sbom' implementationClass = 'org.apache.grails.buildsrc.SbomPlugin' } - sharedPropertyPlugin { + register('sharedPropertyPlugin') { id = 'org.apache.grails.buildsrc.properties' implementationClass = 'org.apache.grails.buildsrc.SharedPropertyPlugin' } From 2921aa25ecbffb85f99a578b71aac11cbe505d77 Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Tue, 2 Dec 2025 11:21:29 -0500 Subject: [PATCH 08/13] feedback - formatting & various clean-up --- .../apache/grails/buildsrc/CompilePlugin.groovy | 8 +++----- .../org/apache/grails/buildsrc/GradleUtils.groovy | 14 ++++---------- .../grails/buildsrc/SharedPropertyPlugin.groovy | 10 ++++++---- grails-dependencies/assets/build.gradle | 1 - grails-dependencies/starter-web/build.gradle | 1 - grails-dependencies/test/build.gradle | 1 - grails-forge/buildSrc/build.gradle | 2 +- 7 files changed, 14 insertions(+), 23 deletions(-) diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy index 028f4b19b3d..c9286b5d500 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy @@ -28,7 +28,6 @@ import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.file.DuplicatesStrategy import org.gradle.api.plugins.JavaPluginExtension -import org.gradle.api.tasks.SourceSetContainer import org.gradle.api.tasks.bundling.AbstractArchiveTask import org.gradle.api.tasks.bundling.Jar import org.gradle.api.tasks.compile.GroovyCompile @@ -66,7 +65,6 @@ class CompilePlugin implements Plugin { private static void configureJars(Project project) { project.extensions.configure(JavaPluginExtension) { - // Explicit `it` is required here it.withJavadocJar() it.withSourcesJar() } @@ -93,20 +91,20 @@ class CompilePlugin implements Plugin { project.tasks.withType(JavaCompile).configureEach { // Preserve method parameter names in Groovy/Java classes for IDE parameter hints & bean reflection metadata. it.options.compilerArgs.add('-parameters') - it.options.encoding = StandardCharsets.UTF_8.name() // encoding needs to be the same since it's different across platforms + it.options.encoding = StandardCharsets.UTF_8.name() it.options.fork = true it.options.forkOptions.jvmArgs = ['-Xms128M', '-Xmx2G'] } project.plugins.withId('groovy') { project.tasks.withType(GroovyCompile).configureEach { - it.groovyOptions.encoding = StandardCharsets.UTF_8.name() // encoding needs to be the same since it's different across platforms + it.groovyOptions.encoding = StandardCharsets.UTF_8.name() // Preserve method parameter names in Groovy/Java classes for IDE parameter hints & bean reflection metadata. it.groovyOptions.parameters = true - it.options.encoding = StandardCharsets.UTF_8.name() // encoding needs to be the same since it's different across platforms + it.options.encoding = StandardCharsets.UTF_8.name() it.options.fork = true it.options.forkOptions.jvmArgs = ['-Xms128M', '-Xmx2G'] } diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy index e7b5855341c..84bed197f1e 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy @@ -27,20 +27,14 @@ import org.gradle.api.file.Directory class GradleUtils { static Directory findRootGrailsCoreDir(Project project) { - def rootLayout = project.layout - // .github / .git related directories are purged from source releases, so use the .asf.yaml as an indicator of // the parent directory - findAsfRoot(rootLayout.projectDirectory) + findAsfRootDir(project.layout.projectDirectory) } - static Directory findAsfRoot(Directory currentDirectory) { + static Directory findAsfRootDir(Directory currentDirectory) { def asfFile = currentDirectory.file('.asf.yaml').asFile - if (asfFile.exists()) { - return currentDirectory - } - - findAsfRoot(currentDirectory.dir('../')) + asfFile.exists() ? currentDirectory : findAsfRootDir(currentDirectory.dir('../')) } static T lookupProperty(Project project, String name, T defaultValue = null) { @@ -64,7 +58,7 @@ class GradleUtils { return property } - def ext = project.extensions.getExtraProperties() + def ext = project.extensions.extraProperties if (ext.has(name)) { return ext.get(name) } diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy index b7df637ce77..07441ddd46f 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy @@ -38,10 +38,12 @@ class SharedPropertyPlugin implements Plugin { @Override void apply(Project project) { - def ext = project.extensions.getExtraProperties() - - def rootGrailsCoreDir = findRootGrailsCoreDir(project) - populateParentProperties(project.layout.projectDirectory, rootGrailsCoreDir, ext, project) + populateParentProperties( + project.layout.projectDirectory, + findRootGrailsCoreDir(project), + project.extensions.extraProperties, + project + ) } void populateParentProperties(Directory projectDirectory, Directory rootDirectory, ExtraPropertiesExtension ext, Project project) { diff --git a/grails-dependencies/assets/build.gradle b/grails-dependencies/assets/build.gradle index 3bae5f98432..807a8ddd078 100644 --- a/grails-dependencies/assets/build.gradle +++ b/grails-dependencies/assets/build.gradle @@ -54,7 +54,6 @@ dependencies { } } -// these must be after the above applies because they opt out of the defaults created in those files tasks.named('javadocJar').configure { it.enabled = false } diff --git a/grails-dependencies/starter-web/build.gradle b/grails-dependencies/starter-web/build.gradle index 6814803266d..85ce1a055ce 100644 --- a/grails-dependencies/starter-web/build.gradle +++ b/grails-dependencies/starter-web/build.gradle @@ -78,7 +78,6 @@ dependencies { } } -// these must be after the above applies because they opt out of the defaults created in those files tasks.named('javadocJar').configure { it.enabled = false } diff --git a/grails-dependencies/test/build.gradle b/grails-dependencies/test/build.gradle index 60a37c4648c..9b4ee0dbe8f 100644 --- a/grails-dependencies/test/build.gradle +++ b/grails-dependencies/test/build.gradle @@ -56,7 +56,6 @@ dependencies { } } -// these must be after the above applies because they opt out of the defaults created in those files tasks.named('javadocJar').configure { it.enabled = false } diff --git a/grails-forge/buildSrc/build.gradle b/grails-forge/buildSrc/build.gradle index bc21a4d90ce..99ee5dd1690 100644 --- a/grails-forge/buildSrc/build.gradle +++ b/grails-forge/buildSrc/build.gradle @@ -76,7 +76,7 @@ dependencies { implementation "org.antlr:antlr4-runtime:$antlr4Version" implementation "org.apache.ant:ant:$antVersion" implementation "org.apache.grails.gradle:grails-gradle-common:$projectVersion" - implementation "org.cyclonedx.bom:org.cyclonedx.bom.gradle.plugin:${gradleCycloneDxPluginVersion}" + implementation "org.cyclonedx.bom:org.cyclonedx.bom.gradle.plugin:$gradleCycloneDxPluginVersion" } gradlePlugin { From 068553ee8d7745671e0d76fe5731358cf83f6ba0 Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Tue, 2 Dec 2025 11:33:11 -0500 Subject: [PATCH 09/13] feedback - replace java-library with groovy where groovy source is used instead of java --- grails-test-examples/plugins/issue11005/build.gradle | 2 +- grails-test-examples/plugins/loadafter/build.gradle | 2 +- grails-test-examples/plugins/loadsecond/build.gradle | 2 +- grails-web-mvc/build.gradle | 1 - 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/grails-test-examples/plugins/issue11005/build.gradle b/grails-test-examples/plugins/issue11005/build.gradle index 32619d73a0b..4e00db430ad 100644 --- a/grails-test-examples/plugins/issue11005/build.gradle +++ b/grails-test-examples/plugins/issue11005/build.gradle @@ -17,7 +17,7 @@ * under the License. */ plugins { - id 'java-library' + id 'groovy' id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' } diff --git a/grails-test-examples/plugins/loadafter/build.gradle b/grails-test-examples/plugins/loadafter/build.gradle index 37670aa7cf1..3722be49022 100644 --- a/grails-test-examples/plugins/loadafter/build.gradle +++ b/grails-test-examples/plugins/loadafter/build.gradle @@ -17,9 +17,9 @@ * under the License. */ plugins { + id 'groovy' id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' - id 'java-library' } version = '0.1-SNAPSHOT' diff --git a/grails-test-examples/plugins/loadsecond/build.gradle b/grails-test-examples/plugins/loadsecond/build.gradle index 4849fa22c3e..3894d09d414 100644 --- a/grails-test-examples/plugins/loadsecond/build.gradle +++ b/grails-test-examples/plugins/loadsecond/build.gradle @@ -17,7 +17,7 @@ * under the License. */ plugins { - id 'java-library' + id 'groovy' id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' } diff --git a/grails-web-mvc/build.gradle b/grails-web-mvc/build.gradle index 9c1b7194292..6259bb68ffb 100644 --- a/grails-web-mvc/build.gradle +++ b/grails-web-mvc/build.gradle @@ -19,7 +19,6 @@ plugins { id 'groovy' - id 'java-library' id 'project-report' id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' From 1234616443cb6b7c630302ab002cfb6fb18f25e0 Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Tue, 2 Dec 2025 11:35:23 -0500 Subject: [PATCH 10/13] Revert "feedback - replace java-library with groovy where groovy source is used instead of java" This reverts commit 068553ee8d7745671e0d76fe5731358cf83f6ba0. --- grails-test-examples/plugins/issue11005/build.gradle | 2 +- grails-test-examples/plugins/loadafter/build.gradle | 2 +- grails-test-examples/plugins/loadsecond/build.gradle | 2 +- grails-web-mvc/build.gradle | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/grails-test-examples/plugins/issue11005/build.gradle b/grails-test-examples/plugins/issue11005/build.gradle index 4e00db430ad..32619d73a0b 100644 --- a/grails-test-examples/plugins/issue11005/build.gradle +++ b/grails-test-examples/plugins/issue11005/build.gradle @@ -17,7 +17,7 @@ * under the License. */ plugins { - id 'groovy' + id 'java-library' id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' } diff --git a/grails-test-examples/plugins/loadafter/build.gradle b/grails-test-examples/plugins/loadafter/build.gradle index 3722be49022..37670aa7cf1 100644 --- a/grails-test-examples/plugins/loadafter/build.gradle +++ b/grails-test-examples/plugins/loadafter/build.gradle @@ -17,9 +17,9 @@ * under the License. */ plugins { - id 'groovy' id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' + id 'java-library' } version = '0.1-SNAPSHOT' diff --git a/grails-test-examples/plugins/loadsecond/build.gradle b/grails-test-examples/plugins/loadsecond/build.gradle index 3894d09d414..4849fa22c3e 100644 --- a/grails-test-examples/plugins/loadsecond/build.gradle +++ b/grails-test-examples/plugins/loadsecond/build.gradle @@ -17,7 +17,7 @@ * under the License. */ plugins { - id 'groovy' + id 'java-library' id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' } diff --git a/grails-web-mvc/build.gradle b/grails-web-mvc/build.gradle index 6259bb68ffb..9c1b7194292 100644 --- a/grails-web-mvc/build.gradle +++ b/grails-web-mvc/build.gradle @@ -19,6 +19,7 @@ plugins { id 'groovy' + id 'java-library' id 'project-report' id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' From ec896d5f6d1c42a74a0089f7f9949202c1083035 Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Tue, 2 Dec 2025 15:09:20 -0500 Subject: [PATCH 11/13] feedback - update comment to reflect the version is matching the bom version --- grails-forge/gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grails-forge/gradle.properties b/grails-forge/gradle.properties index a4bbc9724ff..397d5bf1f7b 100644 --- a/grails-forge/gradle.properties +++ b/grails-forge/gradle.properties @@ -34,7 +34,7 @@ gradleSdkvendorPluginVersion=3.0.0 groovyVersion=3.0.24 jacksonDatabindVersion=2.18.3 jakartaInjectVersion=1.0.5 -#match jansiVersion from grails-core +# match the jansi version in grails-bom jansiVersion=1.18 javaDiffUtils=4.15 jgitVersion=6.10.0.202406032230-r From 018415ba96d5c09e25098f95cb60e1711a2dfa18 Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Tue, 2 Dec 2025 15:11:59 -0500 Subject: [PATCH 12/13] feedback - remove java-library from grails plugins --- grails-test-examples/plugins/issue11005/build.gradle | 1 - grails-test-examples/plugins/loadafter/build.gradle | 1 - grails-test-examples/plugins/loadsecond/build.gradle | 1 - 3 files changed, 3 deletions(-) diff --git a/grails-test-examples/plugins/issue11005/build.gradle b/grails-test-examples/plugins/issue11005/build.gradle index 32619d73a0b..eef7ccf2df7 100644 --- a/grails-test-examples/plugins/issue11005/build.gradle +++ b/grails-test-examples/plugins/issue11005/build.gradle @@ -17,7 +17,6 @@ * under the License. */ plugins { - id 'java-library' id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' } diff --git a/grails-test-examples/plugins/loadafter/build.gradle b/grails-test-examples/plugins/loadafter/build.gradle index 37670aa7cf1..65151fdeff9 100644 --- a/grails-test-examples/plugins/loadafter/build.gradle +++ b/grails-test-examples/plugins/loadafter/build.gradle @@ -19,7 +19,6 @@ plugins { id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' - id 'java-library' } version = '0.1-SNAPSHOT' diff --git a/grails-test-examples/plugins/loadsecond/build.gradle b/grails-test-examples/plugins/loadsecond/build.gradle index 4849fa22c3e..c51686cfa62 100644 --- a/grails-test-examples/plugins/loadsecond/build.gradle +++ b/grails-test-examples/plugins/loadsecond/build.gradle @@ -17,7 +17,6 @@ * under the License. */ plugins { - id 'java-library' id 'org.apache.grails.buildsrc.properties' id 'org.apache.grails.buildsrc.compile' } From e121dee3ea9c67ca534019cbfb9c3c3245364c51 Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Tue, 2 Dec 2025 15:27:22 -0500 Subject: [PATCH 13/13] feedback - remove java plugin from wrapper --- grails-wrapper/build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/grails-wrapper/build.gradle b/grails-wrapper/build.gradle index 39f3d5aab22..f8283543cb2 100644 --- a/grails-wrapper/build.gradle +++ b/grails-wrapper/build.gradle @@ -16,7 +16,6 @@ */ plugins { - id 'java' id 'groovy' id 'distribution' id 'org.apache.grails.buildsrc.properties'