build(fdroid): drop unused foojay toolchain resolver; release v2.7.4
All checks were successful
CI / ci (pull_request) Successful in 8m50s

F-Droid's official build scanner rejects the foojay-resolver-convention
plugin because it can fetch a JDK over the network during the offline,
reproducible build. The plugin was inert here (no toolchain block ever
invoked it), so removing it leaves the app functionally identical to
2.7.3 and still reproducible byte-for-byte from source.

Bumps versionName to 2.7.4 (the release trigger) and retargets the
official fdroiddata recipe draft at v2.7.4, plus two recipe corrections
the fdroiddata CI caught on the v2.7.3 submission (MR !40967):
- Categories: 'Time' (retired in the current taxonomy) -> 'Calendar & Agenda'
- AutoUpdateMode: 'Version v%v' (invalid per schema) -> 'Version'

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-21 20:09:31 +02:00
parent f27811d215
commit ac572da40a
5 changed files with 32 additions and 19 deletions

View File

@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [2.7.4] — 2026-06-21
### Changed
- Build cleanup that lets Calendula ship in the official F-Droid repository:
removed an unused Gradle toolchain-resolver plugin, which F-Droid's offline,
reproducible build process disallows. No functional or visible changes — this
is the same app as 2.7.3.
## [2.7.3] — 2026-06-21 ## [2.7.3] — 2026-06-21
### Fixed ### Fixed

View File

@@ -28,8 +28,8 @@ android {
// which builds this version and then creates the matching vX.Y.Z tag + // which builds this version and then creates the matching vX.Y.Z tag +
// release itself (versionCode is pinned to MAJOR*10000 + MINOR*100 + // release itself (versionCode is pinned to MAJOR*10000 + MINOR*100 +
// PATCH from versionName, e.g. 2.7.2 -> 20702). See docs/RELEASING.md. // PATCH from versionName, e.g. 2.7.2 -> 20702). See docs/RELEASING.md.
versionCode = 20703 versionCode = 20704
versionName = "2.7.3" versionName = "2.7.4"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
} }

View File

@@ -15,7 +15,7 @@
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
Categories: Categories:
- Time - Calendar & Agenda
License: MIT License: MIT
AuthorName: Jean-Luc Makiola AuthorName: Jean-Luc Makiola
SourceCode: https://gitea.jeanlucmakiola.de/makiolaj/calendula SourceCode: https://gitea.jeanlucmakiola.de/makiolaj/calendula
@@ -27,16 +27,18 @@ AutoName: Calendula
RepoType: git RepoType: git
Repo: https://gitea.jeanlucmakiola.de/makiolaj/calendula.git Repo: https://gitea.jeanlucmakiola.de/makiolaj/calendula.git
# First build entry = v2.7.3, the first release with `vcsInfo { include = false }`. # First build entry = v2.7.4, the first release that BOTH disables AGP VCS-info
# VERIFIED reproducible (2026-06-21): a clean from-source build of tag v2.7.3 # (`vcsInfo { include = false }`, since v2.7.3) AND drops the unused Gradle
# matched the published calendula_v2.7.3.apk byte-for-byte across all 1382 zip # foojay toolchain-resolver plugin, which F-Droid's offline build scanner rejects
# entries (only the signature block differs, which F-Droid copies). v2.7.2 and # (it can fetch a JDK over the network). The plugin was inert here (no toolchain
# earlier embed META-INF/version-control-info.textproto and will NOT verify — do # block invoked it), so v2.7.4 is functionally identical to v2.7.3 and reproduces
# not target them. Subsequent versions are added automatically (AutoUpdateMode). # byte-for-byte from source. v2.7.3 and earlier either embed
# META-INF/version-control-info.textproto or trip the foojay scanner — do not
# target them. Subsequent versions are added automatically (AutoUpdateMode).
Builds: Builds:
- versionName: 2.7.3 - versionName: 2.7.4
versionCode: 20703 versionCode: 20704
commit: v2.7.3 commit: v2.7.4
subdir: app subdir: app
gradle: gradle:
- yes - yes
@@ -49,13 +51,13 @@ Builds:
AllowedAPKSigningKeys: 5cdaee8eb31cb0df9157c646ae3ec8b3dc43b5bb72624e088c9ddea0c4eb5ec1 AllowedAPKSigningKeys: 5cdaee8eb31cb0df9157c646ae3ec8b3dc43b5bb72624e088c9ddea0c4eb5ec1
# Our own developer-signed APK for reproducible-build verification. %v -> the # Our own developer-signed APK for reproducible-build verification. %v -> the
# versionName, so v2.7.3 resolves to calendula_v2.7.3.apk on the self-hosted repo. # versionName, so v2.7.4 resolves to calendula_v2.7.4.apk on the self-hosted repo.
Binaries: https://apps.dev.jeanlucmakiola.de/dev/fdroid/repo/calendula_v%v.apk Binaries: https://apps.dev.jeanlucmakiola.de/dev/fdroid/repo/calendula_v%v.apk
# After this one-time submission F-Droid auto-tracks new vX.Y.Z tags and creates # After this one-time submission F-Droid auto-tracks new vX.Y.Z tags and creates
# build entries itself — no manual recipe edits per release. The tag regex keeps # build entries itself — no manual recipe edits per release. The tag regex keeps
# it to release tags only. # it to release tags only.
AutoUpdateMode: Version v%v AutoUpdateMode: Version
UpdateCheckMode: Tags ^v[0-9.]+$ UpdateCheckMode: Tags ^v[0-9.]+$
CurrentVersion: 2.7.3 CurrentVersion: 2.7.4
CurrentVersionCode: 20703 CurrentVersionCode: 20704

View File

@@ -0,0 +1,6 @@
### Changed
- Build cleanup that lets Calendula ship in the official F-Droid repository:
removed an unused Gradle toolchain-resolver plugin, which F-Droid's offline,
reproducible build process disallows. No functional or visible changes — this
is the same app as 2.7.3.

View File

@@ -11,9 +11,6 @@ pluginManagement {
gradlePluginPortal() gradlePluginPortal()
} }
} }
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
}
dependencyResolutionManagement { dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)