← Back to issue list

feat: 'self-contained' builds for Maven plugins

View original Github issue

Metadata

Project
craft-parts
Number
#1145
Type
pull request
State
merged
Author
tigarmo
Labels
PR: Squash
Created
Updated
Closed

Current evaluation

Merged PR #1145 (commit 25d7598e) adds a 'self-contained' build-attribute for maven/maven-use plugins, always rewriting Maven source versions from backstage and /usr/share/maven-repo artifacts; backstage discovery is now default.

Resolution: closed resolved

Reason: The PR itself was merged into craft-parts main as commit 25d7598e ('feat: \'self-contained\' builds for Maven plugins'), approved by two reviewers with all CI checks passing. Follow-up work extended the same attribute to gradle_plugin (#1425), npm (#1448) and Ruby (#1407).

Evaluated by: mr-cal-bot

No scores available.

Issue body

This commit introduces the "self-contained" build-attribute. This introduction only applies to Maven-based ("maven" and "maven-use") plugins for now, and when enabled causes the plugins to *always* rewrite the required version of Maven sources based on those artifacts available in the backstage (produced by maven-use parts) and in /usr/share/maven-repo (produced by Maven-related archive packages). A side effect of this is that Maven builds now *always* discovers artifacts in the backstage. This is desirable as a default behavior anyway, as the expectation is that parts will consume from the shared "stage" (and now also the backstage) when building. Note that if the build isn't self-contained, the discovery of the artifacts in the backstage doesn't mean that they said artifacts *will* be used, just that they *can* be used. - [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)? -----

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #1145 (commit 25d7598e) adds a 'self-contained' build-attribute for maven/maven-use plugins, always rewriting Maven source versions from backstage and /usr/share/maven-repo artifacts; backstage discovery is now default.
stealth/space-bunny-alpha — closed resolved Merged self-contained builds for Maven plugins, enabling required-version rewriting from backstage and /usr/share/maven-repo artifacts and backstage discovery by default.
qwen/qwen3.6-35b-a3b — — Merged via squash after passing all CI checks and receiving two approvals. Introduces a self-contained build attribute for Maven plugins that forces rewriting Maven source versions from backstage artifacts and enables automatic backstage artifact discovery.
qwen3.6-35b-a3b-mtp-q6 — — Merged squashed PR adding a self-contained build attribute for Maven plugins. It rewrites Maven source versions using backstage artifacts and enforces backstage discovery during builds, standardizing shared stage consumption for Maven-based plugins.

Update history

No update history recorded yet.

Related work

  • Related To: craft-parts#1148 (confidence 85%)

    Follow-up merged PR (9f4e255d) adding plugin-constrained build attributes and self-contained support for maven plugins.

  • Related To: craft-parts#1425 (confidence 70%)

    Later PR (ef17116e) extending self-contained attribute support to the gradle_plugin.

  • Related To: craft-parts#1448 (confidence 70%)

    Later PR (b654a77f) adding self-contained support for the npm plugin.

  • Related To: craft-parts#1407 (confidence 65%)

    Later PR (39956a46) adding Ruby plugin self-contained mode.

Related issues

Issue Project State Summary Similarity
#1148 feat: Plugin-constrained build-attributes craft-parts merged Merged PR #1148 in commit 9f4e255d, introducing plugin-gated build attributes and self-contained support for the maven and maven-use plugins.
80%
#1425 feat(gradle_plugin): add self-contained attribute support craft-parts merged Merged as commit ef17116e, adding Gradle self-contained support with offline local-Maven resolution, maven-use publishing, and builds without a Gradle wrapper.
74%