docs: change the way the version is set

This commit is contained in:
Stefan Hausotte 2026-03-08 20:02:12 +01:00
parent 18d61c4b18
commit f5849f4b69
3 changed files with 27 additions and 20 deletions

View file

@ -20,24 +20,19 @@ just test-ui
## 1. Bump the version ## 1. Bump the version
In Xcode, select the project → target **Forji****General****Identity**: Check the current version:
- **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:
```bash ```bash
# Check current versions just version
agvtool what-marketing-version
agvtool what-version
# Set new versions
agvtool new-marketing-version 1.1
agvtool new-version -all 1.1
``` ```
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 ## 2. Archive

View file

@ -454,7 +454,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.Forji; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.Forji;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES;
@ -490,7 +490,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.Forji; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.Forji;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES;
@ -513,7 +513,7 @@
DEVELOPMENT_TEAM = RVT2M7QTD4; DEVELOPMENT_TEAM = RVT2M7QTD4;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 26.2; IPHONEOS_DEPLOYMENT_TARGET = 26.2;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiTests; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiTests;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO; STRING_CATALOG_GENERATE_SYMBOLS = NO;
@ -536,7 +536,7 @@
DEVELOPMENT_TEAM = RVT2M7QTD4; DEVELOPMENT_TEAM = RVT2M7QTD4;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 26.2; IPHONEOS_DEPLOYMENT_TARGET = 26.2;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiTests; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiTests;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO; STRING_CATALOG_GENERATE_SYMBOLS = NO;
@ -557,7 +557,7 @@
CURRENT_PROJECT_VERSION = 1.1; CURRENT_PROJECT_VERSION = 1.1;
DEVELOPMENT_TEAM = RVT2M7QTD4; DEVELOPMENT_TEAM = RVT2M7QTD4;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiUITests; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiUITests;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO; STRING_CATALOG_GENERATE_SYMBOLS = NO;
@ -578,7 +578,7 @@
CURRENT_PROJECT_VERSION = 1.1; CURRENT_PROJECT_VERSION = 1.1;
DEVELOPMENT_TEAM = RVT2M7QTD4; DEVELOPMENT_TEAM = RVT2M7QTD4;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiUITests; PRODUCT_BUNDLE_IDENTIFIER = de.hausotte.ForjiUITests;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO; STRING_CATALOG_GENERATE_SYMBOLS = NO;

View file

@ -28,6 +28,18 @@ lint:
format: format:
swiftformat Forji/Forji 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 build artifacts
clean: clean:
xcodebuild -project Forji/Forji.xcodeproj -scheme Forji clean 2>&1 | xcbeautify xcodebuild -project Forji/Forji.xcodeproj -scheme Forji clean 2>&1 | xcbeautify