This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch GROOVY_4_0_X in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 2308f459a6ddb8b7caeb370ac7704f83a1a556a0 Author: Paul King <[email protected]> AuthorDate: Tue Apr 15 10:42:21 2025 +1000 partial sync with Groovy 5 --- .../groovy/gradle/GroovyLibraryExtension.groovy | 58 +++++++++++----------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/build-logic/src/main/groovy/org/apache/groovy/gradle/GroovyLibraryExtension.groovy b/build-logic/src/main/groovy/org/apache/groovy/gradle/GroovyLibraryExtension.groovy index d134882796..456784658e 100644 --- a/build-logic/src/main/groovy/org/apache/groovy/gradle/GroovyLibraryExtension.groovy +++ b/build-logic/src/main/groovy/org/apache/groovy/gradle/GroovyLibraryExtension.groovy @@ -20,6 +20,7 @@ package org.apache.groovy.gradle import groovy.transform.CompileStatic import org.gradle.api.Action +import org.gradle.api.Project import org.gradle.api.Task import org.gradle.api.artifacts.Configuration import org.gradle.api.artifacts.ConfigurationContainer @@ -60,20 +61,20 @@ class GroovyLibraryExtension { final JavaPluginExtension javaPluginExtension final SoftwareComponentContainer components final ConfigurationContainer configurations - final TaskContainer tasks + private final String projectName final ProjectLayout layout + final TaskContainer tasks @Inject GroovyLibraryExtension(ObjectFactory factory, - ProjectLayout layout, SharedConfiguration sharedConfiguration, JavaPluginExtension javaPluginExtension, SoftwareComponentContainer components, ConfigurationContainer configurations, + Project project, ProjectLayout layout, TaskContainer tasks ) { this.objects = factory - this.layout = layout this.sharedConfiguration = sharedConfiguration this.includeInGroovyAll = factory.property(Boolean).convention(true) this.grooid = factory.property(Boolean).convention(false) @@ -82,6 +83,8 @@ class GroovyLibraryExtension { this.javaPluginExtension = javaPluginExtension this.components = components this.configurations = configurations + this.projectName = project.name + this.layout = layout this.tasks = tasks } @@ -125,9 +128,9 @@ class GroovyLibraryExtension { it.createManifest = false it.includedResources = resources it.outputFile.set(layout.buildDirectory.file( - tasks.named('jar', Jar).map { jar -> - "libs/${jar.archiveBaseName.get()}-${jar.archiveVersion.get()}-grooid.jar" - } + tasks.named('jar', Jar).map { jar -> + "libs/${jar.archiveBaseName.get()}-${jar.archiveVersion.get()}-grooid.jar" + } )) } def androidRuntime = configurations.create("androidRuntimeElements") { Configuration it -> @@ -192,7 +195,7 @@ class GroovyLibraryExtension { void configureManifest(Manifest manifest, List<String> exclusions) { manifest.from(createBaseManifest()) { ManifestMergeSpec spec -> spec.eachEntry { ManifestMergeDetails details -> - if (exclusions.any { it == details.key }) { + if (exclusions.contains(details.getKey())) { details.exclude() } } @@ -201,24 +204,23 @@ class GroovyLibraryExtension { private Manifest createBaseManifest() { def groovyBundleVersion = sharedConfiguration.groovyBundleVersion.get() - javaPluginExtension.manifest { Manifest mn -> - mn.attributes( - 'Extension-Name': 'groovy', - 'Specification-Title': 'Groovy: a powerful, multi-faceted language for the JVM', - 'Specification-Version': groovyBundleVersion, - 'Specification-Vendor': 'The Apache Software Foundation', - 'Implementation-Title': 'Groovy: a powerful, multi-faceted language for the JVM', - 'Implementation-Version': groovyBundleVersion, - 'Implementation-Vendor': 'The Apache Software Foundation', - 'Bundle-ManifestVersion': '2', - 'Bundle-Description': 'Groovy Runtime', - 'Bundle-Version': groovyBundleVersion, - 'Bundle-Vendor': 'The Apache Software Foundation', - 'Bundle-ClassPath': '.', - 'Eclipse-BuddyPolicy': 'dependent', - 'DynamicImport-Package': '*') + javaPluginExtension.manifest { + attributes( + 'Bundle-ManifestVersion': '2', + 'Bundle-Description' : 'Groovy Runtime', + 'Bundle-Vendor' : 'The Apache Software Foundation', + 'Bundle-Version' : groovyBundleVersion, + 'Bundle-License' : 'Apache-2.0', + 'DynamicImport-Package' : '*', + 'Eclipse-BuddyPolicy' : 'dependent', + 'Specification-Title' : 'Groovy: a powerful, multi-faceted language for the JVM', + 'Specification-Vendor' : 'The Apache Software Foundation', + 'Specification-Version' : groovyBundleVersion, + 'Implementation-Title' : 'Groovy: a powerful, multi-faceted language for the JVM', + 'Implementation-Vendor' : 'The Apache Software Foundation', + 'Implementation-Version': groovyBundleVersion + ) } - } class ModuleDescriptorSpec { @@ -226,11 +228,11 @@ class GroovyLibraryExtension { String staticExtensionClasses = '' private void build() { - def moduleDescriptor = tasks.register("moduleDescriptor", WriteExtensionDescriptorTask) { - it.extensionClasses = extensionClasses - it.staticExtensionClasses = staticExtensionClasses + def moduleDescriptor = tasks.register('moduleDescriptor', WriteExtensionDescriptorTask) { t -> + t.extensionClasses = extensionClasses + t.staticExtensionClasses = staticExtensionClasses } - tasks.named("processResources") { Task t -> + tasks.named('processResources') { Task t -> t.dependsOn(moduleDescriptor) } }
