This is an automated email from the ASF dual-hosted git repository. jdaugherty pushed a commit to branch shadowJarLicensing in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 2191a0c4bb69a1cf2154b1599168704433d98338 Author: James Daugherty <[email protected]> AuthorDate: Sat Aug 2 19:03:47 2025 -0400 fix: #14930 - styling clean up --- .../shadowjar}/GrailsShadowLicenseTransform.groovy | 14 ++++++-------- .../shadowjar}/GrailsShadowNoticeTransform.groovy | 8 +++----- grails-forge/grails-cli-shadow/build.gradle | 8 +++++--- grails-forge/grails-cli/build.gradle | 8 +++++--- grails-forge/grails-forge-cli/build.gradle | 3 --- grails-forge/settings.gradle | 8 ++++---- 6 files changed, 23 insertions(+), 26 deletions(-) diff --git a/grails-forge/buildSrc/src/main/groovy/org/apache/grails/buildsrc/GrailsShadowLicenseTransform.groovy b/grails-forge/buildSrc/src/main/groovy/org/apache/grails/forge/buildlogic/shadowjar/GrailsShadowLicenseTransform.groovy similarity index 95% rename from grails-forge/buildSrc/src/main/groovy/org/apache/grails/buildsrc/GrailsShadowLicenseTransform.groovy rename to grails-forge/buildSrc/src/main/groovy/org/apache/grails/forge/buildlogic/shadowjar/GrailsShadowLicenseTransform.groovy index a3dd6ce419..c052313fef 100644 --- a/grails-forge/buildSrc/src/main/groovy/org/apache/grails/buildsrc/GrailsShadowLicenseTransform.groovy +++ b/grails-forge/buildSrc/src/main/groovy/org/apache/grails/forge/buildlogic/shadowjar/GrailsShadowLicenseTransform.groovy @@ -14,13 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.grails.buildsrc +package org.apache.grails.forge.buildlogic.shadowjar import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer import com.github.jengelman.gradle.plugins.shadow.transformers.TransformerContext import groovy.transform.CompileDynamic import groovy.transform.CompileStatic -import groovy.util.logging.Slf4j import org.apache.tools.zip.ZipEntry import org.apache.tools.zip.ZipOutputStream import org.gradle.api.file.FileTreeElement @@ -31,15 +30,14 @@ import java.util.regex.Pattern /** * supports combining into a single license file. */ -@Slf4j @CompileStatic class GrailsShadowLicenseTransform implements Transformer { private static final List<Pattern> LICENSE_PATTERNS = [ - Pattern.compile('META-INF/[^/]*LICENSE[^/]*', Pattern.CASE_INSENSITIVE), - Pattern.compile('META-INF/LICENSES/.*', Pattern.CASE_INSENSITIVE), - Pattern.compile('[^/]*LICENSE[^/]*', Pattern.CASE_INSENSITIVE), - Pattern.compile('LICENSES/.*', Pattern.CASE_INSENSITIVE) + ~'(?i)META-INF/[^/]*LICENSE[^/]*', + ~'(?i)META-INF/LICENSES/.*', + ~'(?i)[^/]*LICENSE[^/]*', + ~'(?i)LICENSES/.*' ] private static final String LICENSE_PATH = 'META-INF/LICENSE' @@ -68,8 +66,8 @@ class GrailsShadowLicenseTransform implements Transformer { } @Override - @CompileDynamic // Multiple assignments without list expressions on the right hand side are unsupported in static type checking mode + @CompileDynamic void transform(TransformerContext context) { if (!licenses) { // Add our license as previously seen so we can dedupe - this transformer only applies to the copy of other jars diff --git a/grails-forge/buildSrc/src/main/groovy/org/apache/grails/buildsrc/GrailsShadowNoticeTransform.groovy b/grails-forge/buildSrc/src/main/groovy/org/apache/grails/forge/buildlogic/shadowjar/GrailsShadowNoticeTransform.groovy similarity index 86% rename from grails-forge/buildSrc/src/main/groovy/org/apache/grails/buildsrc/GrailsShadowNoticeTransform.groovy rename to grails-forge/buildSrc/src/main/groovy/org/apache/grails/forge/buildlogic/shadowjar/GrailsShadowNoticeTransform.groovy index 85c5da784e..a4b7dded9c 100644 --- a/grails-forge/buildSrc/src/main/groovy/org/apache/grails/buildsrc/GrailsShadowNoticeTransform.groovy +++ b/grails-forge/buildSrc/src/main/groovy/org/apache/grails/forge/buildlogic/shadowjar/GrailsShadowNoticeTransform.groovy @@ -14,11 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.grails.buildsrc +package org.apache.grails.forge.buildlogic.shadowjar import com.github.jengelman.gradle.plugins.shadow.transformers.ApacheNoticeResourceTransformer import groovy.transform.CompileStatic -import groovy.util.logging.Slf4j import org.gradle.api.file.FileTreeElement import java.util.regex.Pattern @@ -26,13 +25,12 @@ import java.util.regex.Pattern /** * jakarta is eclipse licensed, so we need to include the NOTICE.md file */ -@Slf4j @CompileStatic class GrailsShadowNoticeTransform extends ApacheNoticeResourceTransformer { private static final List<Pattern> NOTICE_PATTERNS = [ - Pattern.compile('META-INF/[^/]*NOTICE[^/]*', Pattern.CASE_INSENSITIVE), - Pattern.compile('[^/]*NOTICE[^/]*', Pattern.CASE_INSENSITIVE) + ~'(?i)META-INF/[^/]*NOTICE[^/]*', + ~'(?i)[^/]*NOTICE[^/]*' ] @Override diff --git a/grails-forge/grails-cli-shadow/build.gradle b/grails-forge/grails-cli-shadow/build.gradle index 2fcfb90fb1..9d3d015ad6 100644 --- a/grails-forge/grails-cli-shadow/build.gradle +++ b/grails-forge/grails-cli-shadow/build.gradle @@ -15,8 +15,8 @@ * limitations under the License. */ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar -import org.apache.grails.buildsrc.GrailsShadowLicenseTransform -import org.apache.grails.buildsrc.GrailsShadowNoticeTransform +import org.apache.grails.forge.buildlogic.shadowjar.GrailsShadowLicenseTransform +import org.apache.grails.forge.buildlogic.shadowjar.GrailsShadowNoticeTransform plugins { id 'groovy' @@ -44,6 +44,8 @@ dependencies { // forge dependencies implementation project(':grails-forge-cli'), { + // exclude the slf4j-nop dependency because the simple slf4j implementation is already included + // which will cause a duplicate warning message exclude group: 'org.slf4j', module: 'slf4j-nop' } } @@ -54,7 +56,7 @@ apply { TaskProvider<Jar> shadowJarTask = tasks.named('shadowJar', ShadowJar) shadowJarTask.configure { ShadowJar it -> - it.archiveClassifier.set('all') + it.archiveClassifier = 'all' // services & custom grails.factories have to be merged since commands can be created from both sources it.mergeServiceFiles() diff --git a/grails-forge/grails-cli/build.gradle b/grails-forge/grails-cli/build.gradle index 70df66fe95..3d6e707de6 100644 --- a/grails-forge/grails-cli/build.gradle +++ b/grails-forge/grails-cli/build.gradle @@ -15,8 +15,8 @@ * limitations under the License. */ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar -import org.apache.grails.buildsrc.GrailsShadowLicenseTransform -import org.apache.grails.buildsrc.GrailsShadowNoticeTransform +import org.apache.grails.forge.buildlogic.shadowjar.GrailsShadowLicenseTransform +import org.apache.grails.forge.buildlogic.shadowjar.GrailsShadowNoticeTransform plugins { id 'groovy' @@ -62,6 +62,8 @@ dependencies { // forge dependencies implementation project(':grails-forge-cli'), { + // exclude the slf4j-nop dependency because the simple slf4j implementation is already included + // which will cause a duplicate warning message exclude group: 'org.slf4j', module: 'slf4j-nop' } @@ -89,7 +91,7 @@ jarTask.configure { Jar it -> TaskProvider<Jar> shadowJarTask = tasks.named('shadowJar', ShadowJar) shadowJarTask.configure { ShadowJar it -> - it.archiveClassifier.set('all') + it.archiveClassifier = 'all' // use a separate configuration path so we can still publish the cli project with a non-shadow jar it.configurations = [project.configurations.shadowCombined] diff --git a/grails-forge/grails-forge-cli/build.gradle b/grails-forge/grails-forge-cli/build.gradle index cb6e4b23ff..45c9785df2 100644 --- a/grails-forge/grails-forge-cli/build.gradle +++ b/grails-forge/grails-forge-cli/build.gradle @@ -17,9 +17,6 @@ * under the License. */ -import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar -import org.apache.grails.buildsrc.GrailsShadowLicenseTransform -import org.apache.grails.buildsrc.GrailsShadowNoticeTransform import org.grails.forge.internal.tasks.GenerateManpageAsciidoc import org.grails.forge.internal.tasks.PicocliBuildCompletionTask diff --git a/grails-forge/settings.gradle b/grails-forge/settings.gradle index cf7702d5ba..d3d68f8335 100644 --- a/grails-forge/settings.gradle +++ b/grails-forge/settings.gradle @@ -52,13 +52,13 @@ rootProject.name = 'grails-forge' include( 'grails-cli', - 'grails-forge-core', - 'grails-forge-cli', 'grails-cli-shadow', // to allow us to transform our own artifacts - 'test-core', + 'grails-forge-analytics-postgres', 'grails-forge-api', + 'grails-forge-cli', + 'grails-forge-core', 'grails-forge-web-netty', - 'grails-forge-analytics-postgres' + 'test-core', ) includeBuild('..') {
