From f5849f4b69adad0149a3fa7c2ec0b6aef8223caa Mon Sep 17 00:00:00 2001 From: Stefan Hausotte Date: Sun, 8 Mar 2026 20:02:12 +0100 Subject: [PATCH] docs: change the way the version is set --- DISTRIBUTE.md | 23 +++++++++-------------- Forji/Forji.xcodeproj/project.pbxproj | 12 ++++++------ justfile | 12 ++++++++++++ 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/DISTRIBUTE.md b/DISTRIBUTE.md index 09f22a7..b860912 100644 --- a/DISTRIBUTE.md +++ b/DISTRIBUTE.md @@ -20,24 +20,19 @@ just test-ui ## 1. Bump the version -In Xcode, select the project → target **Forji** → **General** → **Identity**: - -- **Version** — increment the marketing version (e.g. `1.0` → `1.1`) -- **Build** — increment the build number (must be unique per App Store upload) - -Or use the CLI from the `Forji/` directory: +Check the current version: ```bash -# Check current versions -agvtool what-marketing-version -agvtool what-version - -# Set new versions -agvtool new-marketing-version 1.1 -agvtool new-version -all 1.1 +just version ``` -For simlicity we keep the two version the same. +Set the new version: + +```bash +just set-version 1.2 +``` + +For simplicity we keep `MARKETING_VERSION` and `CURRENT_PROJECT_VERSION` the same. ## 2. Archive diff --git a/Forji/Forji.xcodeproj/project.pbxproj b/Forji/Forji.xcodeproj/project.pbxproj index 7e075f1..ba27142 100644 --- a/Forji/Forji.xcodeproj/project.pbxproj +++ b/Forji/Forji.xcodeproj/project.pbxproj @@ -454,7 +454,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 1.1; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.Forji; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -490,7 +490,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 1.1; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.Forji; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -513,7 +513,7 @@ DEVELOPMENT_TEAM = RVT2M7QTD4; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.2; - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 1.1; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiTests; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = NO; @@ -536,7 +536,7 @@ DEVELOPMENT_TEAM = RVT2M7QTD4; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.2; - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 1.1; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiTests; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = NO; @@ -557,7 +557,7 @@ CURRENT_PROJECT_VERSION = 1.1; DEVELOPMENT_TEAM = RVT2M7QTD4; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 1.1; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiUITests; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = NO; @@ -578,7 +578,7 @@ CURRENT_PROJECT_VERSION = 1.1; DEVELOPMENT_TEAM = RVT2M7QTD4; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 1.1; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiUITests; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = NO; diff --git a/justfile b/justfile index 168740b..1dadd35 100644 --- a/justfile +++ b/justfile @@ -28,6 +28,18 @@ lint: format: swiftformat Forji/Forji +pbxproj := "Forji/Forji.xcodeproj/project.pbxproj" + +# Show current app version +version: + @grep -m1 'MARKETING_VERSION' {{pbxproj}} | sed 's/.*= *//;s/;.*//' + +# Set app version (updates both MARKETING_VERSION and CURRENT_PROJECT_VERSION) +set-version new_version: + sed -i '' 's/MARKETING_VERSION = [^;]*/MARKETING_VERSION = {{new_version}}/' {{pbxproj}} + sed -i '' 's/CURRENT_PROJECT_VERSION = [^;]*/CURRENT_PROJECT_VERSION = {{new_version}}/' {{pbxproj}} + @echo "Version set to {{new_version}}" + # Clean build artifacts clean: xcodebuild -project Forji/Forji.xcodeproj -scheme Forji clean 2>&1 | xcbeautify