Skip to content

Add linked builds support for cross-repo composite builds#932

Merged
JPercival merged 6 commits intomasterfrom
feature-linked-builds
Feb 24, 2026
Merged

Add linked builds support for cross-repo composite builds#932
JPercival merged 6 commits intomasterfrom
feature-linked-builds

Conversation

@JPercival
Copy link
Copy Markdown
Contributor

Introduces a settings plugin and CI convention plugin that enable
conditional Gradle composite builds across sibling repositories.
Developers set paths in local.properties; CI parses Depends-On
directives from PR descriptions to clone and include linked repos.

- Settings plugin (cqf.linked-builds) reads local.properties and calls includeBuild() with dependency substitutions
- CI plugin (cqf.ci-conventions) adds resolveLinkedBuilds task that parses PR descriptions and writes local.properties for the build
- LinkedBuildRegistry shared between both plugins as single source of truth for repo slugs, property keys, and substitution mappings
- check-pr.yaml runs resolveLinkedBuilds before build on ubuntu
- Claude Code skill documents the cross-repo PR workflow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

JPercival and others added 4 commits February 19, 2026 21:57
JUnit 5.10.2→5.14.3, SLF4J 2.0.4→2.0.17, Spring Security 6.4.12→6.4.13,
Picocli 4.6.1→4.7.7, JMH 1.36→1.37, Commons Compress 1.26.0→1.28.0,
Commons Codec 1.17.2→1.21.0, Mockito 5.5.0→5.21.0, Hamcrest 1.3→3.0
(hamcrest-all→hamcrest), JSONAssert 1.5.1→1.5.3, EqualsVerifier 3.15.6→4.3.1,
slf4j-test 3.0.1→3.0.3, JaCoCo 0.8.13→0.8.14, Palantir Format 2.50.0→2.88.0.
Fix javadoc warnings in PopulationDef.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    Introduces a settings plugin and CI convention plugin that enable
    conditional Gradle composite builds across sibling repositories.
    Developers set paths in local.properties; CI parses Depends-On
    directives from PR descriptions to clone and include linked repos.

    - Settings plugin (cqf.linked-builds) reads local.properties and
      calls includeBuild() with dependency substitutions
    - CI plugin (cqf.ci-conventions) adds resolveLinkedBuilds task that
      parses PR descriptions and writes local.properties for the build
    - LinkedBuildRegistry shared between both plugins as single source
      of truth for repo slugs, property keys, and substitution mappings
    - check-pr.yaml runs resolveLinkedBuilds before build on ubuntu
    - Claude Code skill documents the cross-repo PR workflow

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Formatting check succeeded!

Comment thread .vscode/settings.json
Copy link
Copy Markdown
Contributor

@lukedegruchy lukedegruchy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with one question

Base automatically changed from feature-gradle-2 to master February 23, 2026 22:16
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
3 Security Hotspots

See analysis details on SonarQube Cloud

@JPercival JPercival merged commit 098c1b7 into master Feb 24, 2026
7 of 9 checks passed
@JPercival JPercival deleted the feature-linked-builds branch February 24, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants