Commits
Tarun Sukhani authored fa01253441f
fix: forward classifier from SettingsParser contains: list (release 1.12.12)
PF-59 — completes the partial fix shipped in 1.12.11. That release
extended SettingsParser's regex to ACCEPT classifier-bearing entries
("io.netty -> netty-codec-native-quic 4.2.12.Final osx-aarch_64") so
the parser stopped throwing "Unknown dependency format". But the
classifier was captured in m.group(4) and silently discarded — only
organisation/module/revision were copied into the attributes map that
IvySettings.addModuleConfiguration uses for resolution routing.
Effect: a require: line that asked for {org:name:rev:classifier}
matched the YamlParser regex correctly and produced a ModuleRevisionId
WITH the classifier extra-attribute, but the contains: declaration
registered only {org:name:rev} (no classifier). Ivy's matcher couldn't
find a configured resolver for the classifier-bearing request and fell
through to mavenCentral, which 404'd because Maven Central organizes
classifiers under a single artifact, not as separate Ivy modules.
This commit forwards group(4) into the attributes map under the
"classifier" key, mirroring what YamlParser does on the require: side.
With both parsers handling the classifier symmetrically, classifier-
bearing requests now route correctly to playCoreDependencies and
resolve from framework/lib/ as intended.
Verified end-to-end: `play deps --sync` from a project that pulls the
classifier-form netty-codec-native-quic deps now completes with
"~ Done!" instead of falling through to mavenCentral and 404ing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>