You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2022/10/25 23:04:16 UTC

[groovy] branch master updated: Cleanup build-logic

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

paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new d639b8af83 Cleanup build-logic
d639b8af83 is described below

commit d639b8af839eaac105161c5abd20c978fbada879
Author: Goooler <wa...@gmail.com>
AuthorDate: Mon Oct 24 15:40:05 2022 +0800

    Cleanup build-logic
    
    - Replace `with` with `using`
    https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/DependencySubstitutions.Substitution.html#with-org.gradle.api.artifacts.component.ComponentSelector-
    - Use HTTPS links
    - Optimize imports
    - Remove deprecated `forUseAtConfigurationTime` call
    https://docs.gradle.org/current/userguide/upgrading_version_7.html#for_use_at_configuration_time_deprecation
---
 ...rg.apache.groovy-bad-practices-detection.gradle |  4 ++-
 .../src/main/groovy/org.apache.groovy-base.gradle  | 14 ++++----
 .../org.apache.groovy-published-library.gradle     |  8 +++--
 .../main/groovy/org.apache.groovy-tested.gradle    |  2 +-
 .../groovy/gradle/GroovyLibraryExtension.groovy    |  5 ++-
 .../org/apache/groovy/gradle/JarJarTask.groovy     | 14 ++++----
 .../groovy/gradle/ReleaseInfoGenerator.groovy      |  2 +-
 .../groovy/gradle/SharedConfiguration.groovy       | 38 +++++++++++-----------
 .../org/apache/groovy/gradle/Versions.groovy       |  2 +-
 9 files changed, 46 insertions(+), 43 deletions(-)

diff --git a/build-logic/src/main/groovy/org.apache.groovy-bad-practices-detection.gradle b/build-logic/src/main/groovy/org.apache.groovy-bad-practices-detection.gradle
index d44211ec26..230345b600 100644
--- a/build-logic/src/main/groovy/org.apache.groovy-bad-practices-detection.gradle
+++ b/build-logic/src/main/groovy/org.apache.groovy-bad-practices-detection.gradle
@@ -17,6 +17,8 @@
  *  under the License.
  */
 
+import groovy.transform.CompileStatic
+
 // Check if dependency resolution is happening at configuration time
 def resolvingAllowed = false
 int pcount = allprojects.size()
@@ -42,7 +44,7 @@ allprojects { p ->
     p.configurations.metaClass = new ContainerMetaclassClass(p.configurations.metaClass, checkResolution)
 }
 
-@groovy.transform.CompileStatic
+@CompileStatic
 class ContainerMetaclassClass extends DelegatingMetaClass {
     Closure configuration
 
diff --git a/build-logic/src/main/groovy/org.apache.groovy-base.gradle b/build-logic/src/main/groovy/org.apache.groovy-base.gradle
index 69545da129..867ab300fa 100644
--- a/build-logic/src/main/groovy/org.apache.groovy-base.gradle
+++ b/build-logic/src/main/groovy/org.apache.groovy-base.gradle
@@ -110,12 +110,12 @@ configurations {
     }
     codenarc {
         resolutionStrategy.dependencySubstitution {
-            substitute module("org.codehaus.groovy:groovy") with project(":")
-            substitute module("org.codehaus.groovy:groovy-ant") with project(":groovy-ant")
-            substitute module("org.codehaus.groovy:groovy-templates") with project(":groovy-templates")
-            substitute module("org.codehaus.groovy:groovy-xml") with project(":groovy-xml")
-            substitute module("org.codehaus.groovy:groovy-json") with project(":groovy-json")
-            substitute module("org.codehaus.groovy:groovy-groovydoc") with project(":groovy-groovydoc")
+            substitute module("org.codehaus.groovy:groovy") using project(":")
+            substitute module("org.codehaus.groovy:groovy-ant") using project(":groovy-ant")
+            substitute module("org.codehaus.groovy:groovy-templates") using project(":groovy-templates")
+            substitute module("org.codehaus.groovy:groovy-xml") using project(":groovy-xml")
+            substitute module("org.codehaus.groovy:groovy-json") using project(":groovy-json")
+            substitute module("org.codehaus.groovy:groovy-groovydoc") using project(":groovy-groovydoc")
         }
 
         exclude module: 'groovy-all'
@@ -322,7 +322,7 @@ afterEvaluate {
 }
 
 @CompileStatic
-Configuration createConsumableConfiguration(ObjectFactory objects,
+static Configuration createConsumableConfiguration(ObjectFactory objects,
                                             TaskContainer tasks,
                                             ConfigurationContainer container,
                                             String name,
diff --git a/build-logic/src/main/groovy/org.apache.groovy-published-library.gradle b/build-logic/src/main/groovy/org.apache.groovy-published-library.gradle
index 3acc6946fb..6b9a028c94 100644
--- a/build-logic/src/main/groovy/org.apache.groovy-published-library.gradle
+++ b/build-logic/src/main/groovy/org.apache.groovy-published-library.gradle
@@ -1,3 +1,5 @@
+import groovy.swing.SwingBuilder
+
 plugins {
     id 'maven-publish'
     id 'signing'
@@ -765,7 +767,7 @@ publishing {
                 licenses {
                     license {
                         name = 'The Apache Software License, Version 2.0'
-                        url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+                        url = 'https://www.apache.org/licenses/LICENSE-2.0.txt'
                         distribution = 'repo'
                     }
                 }
@@ -826,7 +828,7 @@ gradle.taskGraph.whenReady { taskGraph ->
 def promptUser(String prompt) {
     def response = ''
     if (System.console() == null) {
-        new groovy.swing.SwingBuilder().edt {
+        new SwingBuilder().edt {
             dialog(modal: true, // pause build
                     title: 'Response required', // dialog title
                     alwaysOnTop: true,
@@ -853,4 +855,4 @@ def promptUser(String prompt) {
         throw new InvalidUserDataException("Null response detected!")
     }
     response
-}
\ No newline at end of file
+}
diff --git a/build-logic/src/main/groovy/org.apache.groovy-tested.gradle b/build-logic/src/main/groovy/org.apache.groovy-tested.gradle
index 19ac5e7492..a3c9003546 100644
--- a/build-logic/src/main/groovy/org.apache.groovy-tested.gradle
+++ b/build-logic/src/main/groovy/org.apache.groovy-tested.gradle
@@ -106,7 +106,7 @@ Closure buildExcludeFilter(boolean legacyTestSuite) {
     def excludes = []
 
     // if no network available, disable Grapes
-    if (!providers.systemProperty('junit.network').forUseAtConfigurationTime().getOrNull()) {
+    if (!providers.systemProperty('junit.network').getOrNull()) {
         excludes << 'groovy/grape/'
     }
 
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 2bd7ea1380..864ea10fb3 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
@@ -41,7 +41,6 @@ import org.gradle.api.plugins.JavaPluginExtension
 import org.gradle.api.provider.ListProperty
 import org.gradle.api.provider.Property
 import org.gradle.api.tasks.TaskContainer
-import org.gradle.api.tasks.TaskProvider
 import org.gradle.api.tasks.bundling.Jar
 
 import javax.inject.Inject
@@ -107,7 +106,7 @@ class GroovyLibraryExtension {
     ) {
         grooid.set(true)
         def grooidJar = tasks.register("grooidJar", JarJarTask) {
-            TaskProvider<JarJarTask> jarjar = (TaskProvider<JarJarTask>) tasks.named("jarjar")
+            def jarjar = tasks.named("jarjar", JarJarTask)
             it.dependsOn(jarjar)
             it.from.set(jarjar.flatMap { it.outputFile })
             if (librariesToRepackage) {
@@ -126,7 +125,7 @@ class GroovyLibraryExtension {
             it.createManifest = false
             it.includedResources = resources
             it.outputFile.set(layout.buildDirectory.file(
-                    tasks.named('jar').map { Jar jar ->
+                    tasks.named('jar', Jar).map { jar ->
                         "libs/${jar.archiveBaseName.get()}-${jar.archiveVersion.get()}-grooid.jar"
                     }
             ))
diff --git a/build-logic/src/main/groovy/org/apache/groovy/gradle/JarJarTask.groovy b/build-logic/src/main/groovy/org/apache/groovy/gradle/JarJarTask.groovy
index 369fdf21a4..8b274ffd4f 100644
--- a/build-logic/src/main/groovy/org/apache/groovy/gradle/JarJarTask.groovy
+++ b/build-logic/src/main/groovy/org/apache/groovy/gradle/JarJarTask.groovy
@@ -32,6 +32,7 @@ import org.gradle.api.tasks.InputFile
 import org.gradle.api.tasks.InputFiles
 import org.gradle.api.tasks.Internal
 import org.gradle.api.tasks.OutputFile
+import org.gradle.api.tasks.Optional
 import org.gradle.api.tasks.TaskAction
 
 import javax.inject.Inject
@@ -61,26 +62,26 @@ class JarJarTask extends DefaultTask {
 
     @InputFiles
     @Classpath
-    @org.gradle.api.tasks.Optional
+    @Optional
     List<String> untouchedFiles = []
 
     @Input
-    @org.gradle.api.tasks.Optional
+    @Optional
     List<String> excludes = []
 
     @Input
     Map<String, String> patterns
 
     @Input
-    @org.gradle.api.tasks.Optional
+    @Optional
     Map<String, List<String>> excludesPerLibrary = [:]
 
     @Input
-    @org.gradle.api.tasks.Optional
+    @Optional
     Map<String, List<String>> includesPerLibrary = [:]
 
     @Input
-    @org.gradle.api.tasks.Optional
+    @Optional
     Map<String, String> includedResources = [:]
 
     @OutputFile
@@ -191,5 +192,4 @@ class JarJarTask extends DefaultTask {
     private static String baseName(File file) {
         file.name.substring(0, file.name.lastIndexOf('-'))
     }
-
-}
\ No newline at end of file
+}
diff --git a/build-logic/src/main/groovy/org/apache/groovy/gradle/ReleaseInfoGenerator.groovy b/build-logic/src/main/groovy/org/apache/groovy/gradle/ReleaseInfoGenerator.groovy
index b553fb3971..a367ea2faf 100644
--- a/build-logic/src/main/groovy/org/apache/groovy/gradle/ReleaseInfoGenerator.groovy
+++ b/build-logic/src/main/groovy/org/apache/groovy/gradle/ReleaseInfoGenerator.groovy
@@ -87,4 +87,4 @@ BuildTime=$time
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/build-logic/src/main/groovy/org/apache/groovy/gradle/SharedConfiguration.groovy b/build-logic/src/main/groovy/org/apache/groovy/gradle/SharedConfiguration.groovy
index b03304642e..81e6aca9fc 100644
--- a/build-logic/src/main/groovy/org/apache/groovy/gradle/SharedConfiguration.groovy
+++ b/build-logic/src/main/groovy/org/apache/groovy/gradle/SharedConfiguration.groovy
@@ -60,20 +60,20 @@ class SharedConfiguration {
                         Logger logger,
                         StartParameter startParameter
     ) {
-        groovyVersion = providers.gradleProperty("groovyVersion").forUseAtConfigurationTime()
-        groovyBundleVersion = providers.gradleProperty("groovyBundleVersion").forUseAtConfigurationTime()
-        javacMaxMemory = providers.gradleProperty("javacMain_mx").forUseAtConfigurationTime()
-        groovycMaxMemory = providers.gradleProperty("groovycMain_mx").forUseAtConfigurationTime()
-        javadocMaxMemory = providers.gradleProperty("javaDoc_mx").forUseAtConfigurationTime()
-        isReleaseVersion = groovyVersion.map { !it.toLowerCase().contains("snapshot") }
+        groovyVersion = providers.gradleProperty("groovyVersion")
+        groovyBundleVersion = providers.gradleProperty("groovyBundleVersion")
+        javacMaxMemory = providers.gradleProperty("javacMain_mx")
+        groovycMaxMemory = providers.gradleProperty("groovycMain_mx")
+        javadocMaxMemory = providers.gradleProperty("javaDoc_mx")
+        isReleaseVersion = groovyVersion.map { !it.toLowerCase().contains("snapshot") } as Provider<Boolean>
         buildDate = isReleaseVersion.map { it ? new Date() : new Date(0) }
         installationDirectory = providers.gradleProperty("groovy_installPath")
                 .orElse(providers.systemProperty("installDirectory"))
         isRunningOnCI = detectCi(rootProjectDirectory, logger)
         artifactory = new Artifactory(layout, providers, logger)
         signing = new Signing(this, objects, providers)
-        binaryCompatibilityBaselineVersion = providers.gradleProperty("binaryCompatibilityBaseline").forUseAtConfigurationTime()
-        hasCodeCoverage = providers.gradleProperty("coverage").forUseAtConfigurationTime()
+        binaryCompatibilityBaselineVersion = providers.gradleProperty("binaryCompatibilityBaseline")
+        hasCodeCoverage = providers.gradleProperty("coverage")
                 .map { Boolean.valueOf(it) }
                 .orElse(
                         providers.provider { startParameter.taskNames.any { it =~ /jacoco/ } }
@@ -81,9 +81,9 @@ class SharedConfiguration {
                 .orElse(false)
         targetJavaVersion = providers.gradleProperty("targetJavaVersion")
         groovyTargetBytecodeVersion = providers.gradleProperty("groovyTargetBytecodeVersion")
-        File javaHome = new File(providers.systemProperty('java.home').forUseAtConfigurationTime().get())
-        String javaVersion = providers.systemProperty('java.version').forUseAtConfigurationTime().get()
-        String userdir = providers.systemProperty('user.dir').forUseAtConfigurationTime().get()
+        File javaHome = new File(providers.systemProperty('java.home').get())
+        String javaVersion = providers.systemProperty('java.version').get()
+        String userdir = providers.systemProperty('user.dir').get()
         logger.lifecycle "Using Java from $javaHome (version ${javaVersion})"
         logger.lifecycle "user.dir: ${userdir}"
     }
@@ -102,7 +102,7 @@ class SharedConfiguration {
         final Provider<String> repoKey
 
         Artifactory(ProjectLayout layout, ProviderFactory providers, Logger logger) {
-            def artifactoryProperties = providers.fileContents(artifactoryFile(providers, layout)).asText.forUseAtConfigurationTime().map {
+            def artifactoryProperties = providers.fileContents(artifactoryFile(providers, layout)).asText.map {
                 def props = new Properties()
                 props.load(new StringReader(it))
                 props
@@ -114,7 +114,7 @@ class SharedConfiguration {
             logger.lifecycle "ArtifactoryUser user: ${username.getOrElse("not defined")}"
         }
 
-        private Provider<RegularFile> artifactoryFile(ProviderFactory providers, ProjectLayout layout) {
+        private static Provider<RegularFile> artifactoryFile(ProviderFactory providers, ProjectLayout layout) {
             providers.provider {
                 // try to read artifactory.properties
                 Directory base = layout.projectDirectory
@@ -127,9 +127,9 @@ class SharedConfiguration {
             }
         }
 
-        private Provider<String> provider(ProviderFactory providers, Provider<Properties> properties, String propertyName, String gradlePropertyName, String envVarName) {
-            return providers.gradleProperty(gradlePropertyName).forUseAtConfigurationTime()
-                    .orElse(providers.environmentVariable(envVarName).forUseAtConfigurationTime())
+        private static Provider<String> provider(ProviderFactory providers, Provider<Properties> properties, String propertyName, String gradlePropertyName, String envVarName) {
+            return providers.gradleProperty(gradlePropertyName)
+                    .orElse(providers.environmentVariable(envVarName))
                     .orElse(properties.map { it.getProperty(propertyName) })
         }
     }
@@ -154,11 +154,11 @@ class SharedConfiguration {
                     providers.gradleProperty("signing.password")
             )
             useGpgCmd = providers.gradleProperty("usegpg")
-                    .forUseAtConfigurationTime().map { Boolean.valueOf(it) }.orElse(false)
+                    .map { Boolean.valueOf(it) }.orElse(false)
             forceSign = providers.gradleProperty("forceSign")
-                    .forUseAtConfigurationTime().map { Boolean.valueOf(it) }.orElse(false)
+                    .map { Boolean.valueOf(it) }.orElse(false)
             trySign = providers.gradleProperty("trySign")
-                    .forUseAtConfigurationTime().map { Boolean.valueOf(it) }.orElse(false)
+                    .map { Boolean.valueOf(it) }.orElse(false)
             this.config = config
         }
 
diff --git a/build-logic/src/main/groovy/org/apache/groovy/gradle/Versions.groovy b/build-logic/src/main/groovy/org/apache/groovy/gradle/Versions.groovy
index de16ce23cf..96db820d86 100644
--- a/build-logic/src/main/groovy/org/apache/groovy/gradle/Versions.groovy
+++ b/build-logic/src/main/groovy/org/apache/groovy/gradle/Versions.groovy
@@ -33,7 +33,7 @@ class Versions {
     @Inject
     Versions(SharedConfiguration sharedConfiguration, ProviderFactory providers, ProjectLayout layout) {
         versions = providers.fileContents(layout.projectDirectory.file("versions.properties"))
-                .asText.forUseAtConfigurationTime()
+                .asText
                 .map({
                     Properties props = new Properties()
                     props.put("groovy", sharedConfiguration.groovyVersion.get())