Moqui 4.0 - Update Gradle latest version

@taher has agreed to do this. If you need assistance, ask @f.karim @newmannhu @rahulnama @shahbaz @zhangwei.

When it’s ready to test, let’s have those mentioned here test it on their setups.

Biggest things to do:

  • upgrade to latest gradle version (may have some backwards incompatible changes)
  • Default Docker containers and gradle wrapper to the chosen version
1 Like

OK on it, this is probably related to minimum java version and possibly also groovy version. I might also stumble into issues in gradle plugins and / or libraries. Gradle just touches everything so I’ll have to upgrade and then put out the fires one by one. I’ll do it on my fork

2 Likes

I encountered a download issue when building the project due to the use of http://cdnjs.cloudflare.com/ajax/libs/ in the base-component/webroot/build.gradle. After changing it to https://cdnjs.cloudflare.com/ajax/libs/, the issue was resolved.

1 Like

The first thing that I encountered is a warning that the latest gradle version 8.14.1 deprecates Java (which I’m working on). However, the warning is:

Executing Gradle on JVM versions 16 and lower has been deprecated. (1)

In addition, I got like 35 problems (listed below) and that’s just on the cleanAll task. I can address all of them, but I highly recommend we default or jump to Java 21 (another task) and also those on Java 11 might face issues or warnings. I have to test on all Java versions but giving heads up and welcome opinions.

Warnings:

Executing Gradle on JVM versions 16 and lower has been deprecated. (1)
    - [warn]  Executing Gradle on JVM versions 16 and lower has been deprecated.
- [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated. (15)
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
    - [warn]  Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.
16 more problems have been skipped
- [warn]  The org.gradle.api.plugins.JavaPluginConvention type has been deprecated. (2)
    - [warn]  The org.gradle.api.plugins.JavaPluginConvention type has been deprecated.
    - [warn]  The org.gradle.api.plugins.JavaPluginConvention type has been deprecated.
- [warn]  The org.gradle.api.plugins.BasePluginConvention type has been deprecated. (1)
    - [warn]  The org.gradle.api.plugins.BasePluginConvention type has been deprecated.
- [warn]  The BasePluginExtension.archivesBaseName property has been deprecated. (1)
    - [warn]  The BasePluginExtension.archivesBaseName property has been deprecated.
- [warn]  Declaring client module dependencies has been deprecated. (8)
    - [warn]  Declaring client module dependencies has been deprecated.
    - [warn]  Declaring client module dependencies has been deprecated.
    - [warn]  Declaring client module dependencies has been deprecated.
    - [warn]  Declaring client module dependencies has been deprecated.
    - [warn]  Declaring client module dependencies has been deprecated.
    - [warn]  Declaring client module dependencies has been deprecated.
    - [warn]  Declaring client module dependencies has been deprecated.
    - [warn]  Declaring client module dependencies has been deprecated.
- [warn]  The AbstractArchiveTask.archivePath property has been deprecated. (1)
    - [warn]  The AbstractArchiveTask.archivePath property has been deprecated.
- [warn]  The JavaExecSpec.main property has been deprecated. (6)
    - [warn]  The JavaExecSpec.main property has been deprecated.
    - [warn]  The JavaExecSpec.main property has been deprecated.
    - [warn]  The JavaExecSpec.main property has been deprecated.
    - [warn]  The JavaExecSpec.main property has been deprecated.
    - [warn]  The JavaExecSpec.main property has been deprecated.
    - [warn]  The JavaExecSpec.main property has been deprecated.

I also realized I need to patch up almost all community components. So I will prepare multiple PRs for multiple repos.