This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a commit to branch gradle-deprecations
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 80d4def8687fb1b1391cba30ac3cbbfd2b4b309b
Author: James Daugherty <[email protected]>
AuthorDate: Wed Jun 4 12:19:19 2025 -0400

    CopyProcessingSpec.setFileMode(Integer) & 
CopyProcessingSpec.setDirMode(Integer) methods are deprecated.
---
 gradle/java-config.gradle                          |  9 +++--
 grails-gradle/gradle/docs-config.gradle            |  9 +++--
 grails-gradle/gradle/java-config.gradle            | 19 +++++++---
 .../profiles/GrailsProfileGradlePlugin.groovy      | 27 +++++++++++----
 .../publishing/GrailsPublishGradlePlugin.groovy    | 40 +++++++++++++++-------
 grails-wrapper/build.gradle                        |  4 ++-
 6 files changed, 80 insertions(+), 28 deletions(-)

diff --git a/gradle/java-config.gradle b/gradle/java-config.gradle
index 9c6c845e9c..5cbbf2519c 100644
--- a/gradle/java-config.gradle
+++ b/gradle/java-config.gradle
@@ -56,7 +56,12 @@ tasks.withType(Jar).configureEach {
 tasks.withType(AbstractArchiveTask).configureEach {
     preserveFileTimestamps = false // to prevent timestamp mismatches
     reproducibleFileOrder = true // to keep the same ordering
-    dirMode = 0755 // To avoid platform specific defaults
-    fileMode = 0644 // to avoid platform specific defaults
+    // to avoid platform specific defaults, set the permissions consistently
+    filePermissions { permissions ->
+        permissions.unix(0644)
+    }
+    dirPermissions { permissions ->
+        permissions.unix(0755)
+    }
 }
 
diff --git a/grails-gradle/gradle/docs-config.gradle 
b/grails-gradle/gradle/docs-config.gradle
index fa1946d7e8..e065fa8ab7 100644
--- a/grails-gradle/gradle/docs-config.gradle
+++ b/grails-gradle/gradle/docs-config.gradle
@@ -62,8 +62,13 @@ tasks.named('javadoc').configure {
 tasks.named('javadocJar', Jar).configure { Jar jar ->
     jar.reproducibleFileOrder = true
     jar.preserveFileTimestamps = false
-    jar.dirMode = 0755 // To avoid platform specific defaults
-    jar.fileMode = 0644 // to avoid platform specific defaults
+    // to avoid platform specific defaults, set the permissions consistently
+    jar.filePermissions { permissions ->
+        permissions.unix(0644)
+    }
+    jar.dirPermissions { permissions ->
+        permissions.unix(0755)
+    }
 
     jar.dependsOn(groovydocTask)
 
diff --git a/grails-gradle/gradle/java-config.gradle 
b/grails-gradle/gradle/java-config.gradle
index 59121df80a..7b914b862a 100644
--- a/grails-gradle/gradle/java-config.gradle
+++ b/grails-gradle/gradle/java-config.gradle
@@ -29,8 +29,14 @@ tasks.named('sourcesJar', Jar).configure { Jar jar ->
     SourceSetContainer sourceSets = 
project.extensions.getByType(JavaPluginExtension).sourceSets
     jar.reproducibleFileOrder = true
     jar.preserveFileTimestamps = false
-    jar.dirMode = 0755 // To avoid platform specific defaults
-    jar.fileMode = 0644 // to avoid platform specific defaults
+    // 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
@@ -64,6 +70,11 @@ tasks.withType(Jar).configureEach {
 tasks.withType(AbstractArchiveTask).configureEach {
     preserveFileTimestamps = false // to prevent timestamp mismatches
     reproducibleFileOrder = true // to keep the same ordering
-    dirMode = 0755 // To avoid platform specific defaults
-    fileMode = 0644 // to avoid platform specific defaults
+    // to avoid platform specific defaults, set the permissions consistently
+    filePermissions { permissions ->
+        permissions.unix(0644)
+    }
+    dirPermissions { permissions ->
+        permissions.unix(0755)
+    }
 }
diff --git 
a/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/profiles/GrailsProfileGradlePlugin.groovy
 
b/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/profiles/GrailsProfileGradlePlugin.groovy
index 90bc7a195e..9dd4d2a276 100644
--- 
a/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/profiles/GrailsProfileGradlePlugin.groovy
+++ 
b/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/profiles/GrailsProfileGradlePlugin.groovy
@@ -187,8 +187,13 @@ class GrailsProfileGradlePlugin implements Plugin<Project> 
{
             
jar.from(project.files(project.layout.buildDirectory.dir('resources/profile'), 
project.layout.buildDirectory.dir('classes/profile')))
             jar.reproducibleFileOrder = true
             jar.preserveFileTimestamps = false
-            jar.dirMode = 0755 // To avoid platform specific defaults
-            jar.fileMode = 0644 // to avoid platform specific defaults
+            // to avoid platform specific defaults, set the permissions 
consistently
+            jar.filePermissions { permissions ->
+                permissions.unix(0644)
+            }
+            jar.dirPermissions { permissions ->
+                permissions.unix(0755)
+            }
         }
 
         TaskProvider<Jar> sourcesJarTask = 
project.tasks.register('sourcesJar', Jar)
@@ -208,8 +213,13 @@ class GrailsProfileGradlePlugin implements Plugin<Project> 
{
             jar.description = 'Assembles a jar archive containing the profile 
sources.'
             jar.reproducibleFileOrder = true
             jar.preserveFileTimestamps = false
-            jar.dirMode = 0755 // To avoid platform specific defaults
-            jar.fileMode = 0644 // to avoid platform specific defaults
+            // to avoid platform specific defaults, set the permissions 
consistently
+            jar.filePermissions { permissions ->
+                permissions.unix(0644)
+            }
+            jar.dirPermissions { permissions ->
+                permissions.unix(0755)
+            }
         }
 
         def profileReadme = project.layout.buildDirectory.file('profile.txt')
@@ -233,8 +243,13 @@ class GrailsProfileGradlePlugin implements Plugin<Project> 
{
         javadocJarTask.configure { Jar jar ->
             jar.reproducibleFileOrder = true
             jar.preserveFileTimestamps = false
-            jar.dirMode = 0755 // To avoid platform specific defaults
-            jar.fileMode = 0644 // to avoid platform specific defaults
+            // to avoid platform specific defaults, set the permissions 
consistently
+            jar.filePermissions { permissions ->
+                permissions.unix(0644)
+            }
+            jar.dirPermissions { permissions ->
+                permissions.unix(0755)
+            }
 
             jar.dependsOn(readmeGeneration)
             // 
https://central.sonatype.org/publish/requirements/#supply-javadoc-and-sources
diff --git 
a/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/publishing/GrailsPublishGradlePlugin.groovy
 
b/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/publishing/GrailsPublishGradlePlugin.groovy
index 0300792df8..e983c45a8a 100644
--- 
a/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/publishing/GrailsPublishGradlePlugin.groovy
+++ 
b/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/publishing/GrailsPublishGradlePlugin.groovy
@@ -179,20 +179,19 @@ Note: if project properties are used, the properties must 
be defined prior to ap
         projectPluginManager.apply(MavenPublishPlugin)
 
         boolean localSigning = false
-        if(isRelease) {
+        if (isRelease) {
             String signingKeyId = project.findProperty('signing.keyId') ?: 
System.getenv('SIGNING_KEY')
             extraPropertiesExtension.setProperty('signing.keyId', signingKeyId)
             String secringFile = 
project.findProperty('signing.secretKeyRingFile') ?: 
System.getenv('SIGNING_KEYRING')
-            if(!secringFile) {
+            if (!secringFile) {
                 project.logger.info("No keyring file has been specified. 
Assuming the use of local gpgCommand instead.")
                 localSigning = true
                 extraPropertiesExtension.setProperty('signing.gnupg.keyName', 
signingKeyId)
-            }
-            else {
+            } else {
                 
extraPropertiesExtension.setProperty('signing.secretKeyRingFile', secringFile)
 
                 String signingPassphrase = 
project.findProperty('signing.password') ?: System.getenv('SIGNING_PASSPHRASE')
-                if(signingPassphrase) {
+                if (signingPassphrase) {
                     extraPropertiesExtension.setProperty('signing.password', 
signingPassphrase)
                 }
             }
@@ -229,7 +228,7 @@ Note: if project properties are used, the properties must 
be defined prior to ap
 
             if (!hasNexusPublishApplied) {
                 project.rootProject.nexusPublishing {
-                    if(nexusPublishDescription) {
+                    if (nexusPublishDescription) {
                         repositoryDescription = "${nexusPublishDescription}"
                     }
                     repositories {
@@ -430,7 +429,7 @@ Note: if project properties are used, the properties must 
be defined prior to ap
             if (isRelease) {
                 extensionContainer.configure(SigningExtension, {
                     it.required = isRelease
-                    if(localSigning) {
+                    if (localSigning) {
                         it.useGpgCmd()
                     }
 
@@ -556,8 +555,13 @@ Note: if project properties are used, the properties must 
be defined prior to ap
         tasks.named('javadocJar', Jar).configure { Jar jar ->
             jar.reproducibleFileOrder = true
             jar.preserveFileTimestamps = false
-            jar.dirMode = 0755 // To avoid platform specific defaults
-            jar.fileMode = 0644 // to avoid platform specific defaults
+            // to avoid platform specific defaults, set the permissions 
consistently
+            jar.filePermissions { permissions ->
+                permissions.unix(0644)
+            }
+            jar.dirPermissions { permissions ->
+                permissions.unix(0755)
+            }
 
             Groovydoc groovyDocTask = tasks.findByName('groovydoc')
             if (groovyDocTask) {
@@ -577,8 +581,13 @@ Note: if project properties are used, the properties must 
be defined prior to ap
             SourceSetContainer sourceSets = SourceSets.findSourceSets(project)
             jar.reproducibleFileOrder = true
             jar.preserveFileTimestamps = false
-            jar.dirMode = 0755 // To avoid platform specific defaults
-            jar.fileMode = 0644 // to avoid platform specific defaults
+            // 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
@@ -594,8 +603,13 @@ Note: if project properties are used, the properties must 
be defined prior to ap
             jar.dependsOn('testClasses')
             jar.reproducibleFileOrder = true
             jar.preserveFileTimestamps = false
-            jar.dirMode = 0755 // To avoid platform specific defaults
-            jar.fileMode = 0644 // to avoid platform specific defaults
+            // to avoid platform specific defaults, set the permissions 
consistently
+            jar.filePermissions { permissions ->
+                permissions.unix(0644)
+            }
+            jar.dirPermissions { permissions ->
+                permissions.unix(0755)
+            }
             SourceSetContainer sourceSets = SourceSets.findSourceSets(project)
             jar.from sourceSets.test.output
             jar.inputs.files(sourceSets.test.output)
diff --git a/grails-wrapper/build.gradle b/grails-wrapper/build.gradle
index 9e9a02617c..1631f09f60 100644
--- a/grails-wrapper/build.gradle
+++ b/grails-wrapper/build.gradle
@@ -97,7 +97,9 @@ 
project.extensions.getByType(DistributionContainer).configureEach {
 
         from(startScripts) {
             into ''
-            fileMode = 0755
+            filePermissions { permissions ->
+                permissions.unix("755")
+            }
         }
 
         from(layout.projectDirectory.dir('distribution-artifacts')) {

Reply via email to