Sync iOS app versions from gradle/libs.versions.toml - #78
Open
patrickunterwegs wants to merge 1 commit into
Open
Sync iOS app versions from gradle/libs.versions.toml#78patrickunterwegs wants to merge 1 commit into
patrickunterwegs wants to merge 1 commit into
Conversation
Generate each iOS app's MARKETING_VERSION and CURRENT_PROJECT_VERSION into a Version.xcconfig from appVersionString / appBuildNumber, the same single source of truth Android already uses. Config.xcconfig now #includes the generated file instead of hardcoding the version, so bumping the TOML updates Android and iOS together. A generateIosVersionConfig task per compose module writes the file (only when values change) and runs before embedAndSignAppleFrameworkForXcode; the root updateIosVersions task regenerates all three at once. This aligns iOS with Android at 1.0.41 / 41. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0173eTCarvivVN859UekPvjw
Member
Author
|
This was an attempt to simplify the release process, but the additional gradle tasks ad complexity. I'm afraid that things may break in the future and fixing them might get complicated. Keeping the existing solution for now (manually updating the TOML file as well as the 3 iOS configs). But also keeping this PR for future reference. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Establish a single source of truth for iOS app versioning by automatically generating xcconfig files from the Gradle version catalog, keeping iOS versions in sync with Android without manual duplication.
Key Changes
generateIosVersionConfigtask to each app module (composeJournalsApp, composeNotesApp, composeTasksApp) that readsappVersionStringandappBuildNumberfromgradle/libs.versions.tomland generatesVersion.xcconfigfilesVersion.xcconfigfiles for each iOS app iniosApp/*/Configuration/containingMARKETING_VERSIONandCURRENT_PROJECT_VERSIONConfig.xcconfigfiles to#include "Version.xcconfig"and removed hardcoded version valuesupdateIosVersionstask to regenerate all three iOS version files in one commandembedAndSignAppleFrameworkForXcodedepend ongenerateIosVersionConfigImplementation Details
gradle/libs.versions.tomlinstead./gradlew updateIosVersionsafter bumping versions in the cataloghttps://claude.ai/code/session_0173eTCarvivVN859UekPvjw