Skip to content

Release 1.1.15

Choose a tag to compare

@github-actions github-actions released this 20 Feb 08:59
· 154 commits to main since this release
ffe5867
Skip project files download when SDK version is unchanged (#39)

* fix(project-files): handle network errors gracefully during sync

Catch IOException in DefaultProjectFilesService.syncProjectFiles() and
return SyncResult.Skipped instead of SyncResult.Failed. This prevents
Maven and Gradle plugin builds from failing when there is no internet
connection. Network errors (ConnectException, UnknownHostException,
HttpTimeoutException, etc.) now produce a warning and the build
continues normally.

GitHubApiException (HTTP errors like 404, 500) still produces
SyncResult.Failed as before since those indicate server-side issues.

* feat(project-files): skip download when SDK version and language are unchanged

Add a .fluxzero/.sync-version metadata file that records the last synced
"{version}:{language}" state. On subsequent builds, syncProjectFiles()
checks this file before making any network calls — if the version and
language match, it returns SyncResult.UpToDate immediately.

This eliminates redundant GitHub API calls on every build for both
Maven (which had no caching at all) and Gradle (belt-and-suspenders
with Gradle's own UP-TO-DATE mechanism). The forceUpdate parameter
bypasses the check when an explicit re-download is requested.

The .sync-version file lives inside .fluxzero/ so it gets cleaned up
naturally by cleanExistingFiles() before fresh extractions.