Skip to content

Wire central catalog refresh - #1

Closed
riccardobl wants to merge 1 commit into
masterfrom
codex/catalog-refresh-202605291929
Closed

riccardobl wants to merge 1 commit into
masterfrom
codex/catalog-refresh-202605291929

Conversation

@riccardobl

Copy link
Copy Markdown
Member

Summary

  • Replace the local Gradle version catalog with the centralized NostrGameEngine catalog.
  • Add a refreshCatalog Gradle task that downloads NostrGameEngine/libs.catalog.
  • Add a manual refresh-catalog.yml workflow that opens a PR only when the refreshed catalog changes.
  • Add or update the existing snapshot publishing workflow schedule where this repository publishes snapshots.

Verification

  • Parsed all updated TOML catalogs with tomllib.
  • Parsed updated workflow YAML with Ruby YAML.load_file.
  • Ran ./gradlew --no-daemon -q refreshCatalog successfully in bech32 as the representative Groovy Gradle task.

Note: local Kotlin-task execution in cap-cache-generator was blocked before task execution because the machine ran out of disk space while the Gradle wrapper tried to install Gradle 8.4.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request registers a new Gradle task 'refreshCatalog' in 'build.gradle' to download the central NostrGameEngine version catalog, and adds the initial 'gradle/libs.versions.toml' catalog file. Feedback suggests replacing 'outputs.file(outputFile)' with 'outputs.upToDateWhen { false }' to prevent Gradle from incorrectly skipping the task as up-to-date when the catalog file already exists.

Comment thread build.gradle
.orElse('https://raw.githubusercontent.com/NostrGameEngine/libs.catalog/main/libs.versions.toml')
def outputFile = layout.projectDirectory.file('gradle/libs.versions.toml')

outputs.file(outputFile)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Declaring outputs.file(outputFile) without any corresponding inputs causes Gradle's up-to-date check to skip this task if the gradle/libs.versions.toml file already exists. Since the purpose of this task is to refresh/download the latest catalog, it should always run. Replacing this with outputs.upToDateWhen { false } ensures the task is never skipped as up-to-date.

    outputs.upToDateWhen { false }

@riccardobl riccardobl closed this May 29, 2026
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