Skip to content

Generate single JSON file per channel - #334

Merged
alexarchambault merged 2 commits into
coursier:mainfrom
alexarchambault:no-maven-based-apps
Sep 3, 2026
Merged

Generate single JSON file per channel#334
alexarchambault merged 2 commits into
coursier:mainfrom
alexarchambault:no-maven-based-apps

Conversation

@alexarchambault

Copy link
Copy Markdown
Member

With the new Maven Central publishing limits, I'd prefer to switch to a mutable-JSON-on-GitHub model for the apps, rather than a static-JARs-on-Maven-Central one.

This PR prepares that by generating those JSON files automatically on the CI, and opening PRs that maintainers need to merge later on. That's basically the same model as coursier/jvm-index, where coursier consumes its JSON index from GitHub, and where I also disabled automated publishing on Maven Central (for the same reason as here).

Aggregate the app descriptors of each channel into listings/apps.json and
listings/apps-contrib.json in the repository, with a Scala CLI script
(.github/scripts/generate-channels.sc). Those files are meant to be consumed
by coursier as URL-based channels, in place of the io.get-coursier:apps and
io.get-coursier:apps-contrib JARs published on Maven Central.

A new update-channels workflow regenerates and commits them upon pushes to
main, and the build workflow runs the script on PRs to validate the app
descriptors.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Prevent pull requests from mixing generated listings/ changes with other file changes.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
@alexarchambault
alexarchambault marked this pull request as ready for review September 3, 2026 12:07
@alexarchambault
alexarchambault merged commit ce45a57 into coursier:main Sep 3, 2026
4 checks passed
@alexarchambault
alexarchambault deleted the no-maven-based-apps branch September 3, 2026 12:11
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.

1 participant