Skip to content

Request: cut a maintenance release of the 3.x branch (Groovy 5 support + buildability) #61

Description

@royteeuwen

Summary

Please consider cutting a maintenance release from the 3.x line (main-v3).
The last published 3.x tag is 3.0.2; main-v3 sits at an unreleased 3.0.3.
There is currently no released 3.x artifact that (a) builds from source today, or
(b) runs on Groovy 5.

Why 3.x still matters

4.x is a full rewrite (Gradle → Maven) that dropped the moco and wiremock
modules
. Teams that depend on the moco/wiremock stub servers have no upgrade
path to 4.x
, so the 3.x line is still their only option.

Problems on the current 3.x

  1. It no longer builds. buildSrc depends on com.neva.gradle:fork-plugin,
    whose transitive com.neva.commons:gitignore-file-filter:1.0.0 was only ever
    published to JCenter/Bintray (shut down 2021). It is absent from Maven Central
    and the Gradle Plugin Portal, and 7.0.11 is the latest fork-plugin release, so
    there's no version to move to. ./gradlew fails at
    :buildSrc:pluginUnderTestMetadata before any project code compiles.

  2. It doesn't run on Groovy 5. The bundles compile against Groovy 4 and let
    bnd derive Import-Package: groovy.*;version="[4.0,5)". On a Groovy 5 runtime
    the mandatory groovy import in the core bundle falls outside that range, so
    core stays Installed/unresolved and AEM Stubs is dead:

    ERROR: groovy.lang,version=[4.0,5) -- Cannot be resolved
    

    (Groovy 4 works; Groovy 5 breaks. The Groovy runtime is, for example, supplied
    by aem-groovy-console, which I'd like to update to Groovy 5 as well.)

Request

Cut a 3.x maintenance release that at minimum:

  • restores buildability (resolve/replace the dead fork-plugin dependency), and
  • widens the Groovy import range so the bundles resolve on Groovy 4, 5 (and 6).

Offer

I have these fixes prepared and validated against Groovy 4.0.32, 5.0.6
and a 6.0.0-alpha-1 runtime — core+moco resolve and all sample stubs return
200 on all three. I will open PRs against main-v3:

  1. Groovy 4/5/6 support + build fix — widen the groovy import range to [4,7)
    in core/moco/wiremock; drop the dead JCenter-only fork-plugin.
  2. (Optional follow-up) Upgrade embedded moco 1.1.0 → 1.6.1 (newer
    Netty/Guava/Freemarker) plus OSGi-wiring hardening so the moco server can't
    silently fail to start. Backward-compatible for existing .json/.groovy
    stubs (only edge case: xml() changed from a request-matcher to a
    content-resource).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions