commit 87a0bbf90e0b3d1bb693c7cda6035c486994e831
parent 754a85d44b2f535c1954eba9b4e040127aec683f
Author: Michael Camilleri <[email protected]>
Date: Thu, 26 Feb 2026 09:06:03 +0900
Add build number script to project settings
Diffstat:
2 files changed, 57 insertions(+), 10 deletions(-)
diff --git a/Listless.xcodeproj/project.pbxproj b/Listless.xcodeproj/project.pbxproj
@@ -125,7 +125,6 @@
C71466C5CD1A5BA984352F8D /* Listless iOS Unit Tests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = "Listless iOS Unit Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
C9B14DC786A336008AAB78EE /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = "<group>"; };
CB43816B8E7F083A2AD07F28 /* TaskListView+Toolbar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TaskListView+Toolbar.swift"; sourceTree = "<group>"; };
- D10B5491A53E77C80F8F75CD /* .gitkeep */ = {isa = PBXFileReference; path = .gitkeep; sourceTree = "<group>"; };
D2C018476BD91B73870244B9 /* TaskListViewProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskListViewProtocol.swift; sourceTree = "<group>"; };
D2D9CDDA8913CD116FB4DA74 /* TaskListView+PullGestures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TaskListView+PullGestures.swift"; sourceTree = "<group>"; };
D57C3CC81C4380EFAE4DB910 /* TaskRowDragGesture.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskRowDragGesture.swift; sourceTree = "<group>"; };
@@ -185,7 +184,6 @@
children = (
A1A9B54C4CBA03BEE12B34A9 /* Extensions */,
78E0184C210B140892690CD4 /* Helpers */,
- AA563E991F69ED14DCD9A1AB /* Infrastructure */,
8656EEF3161BE20196B8042E /* Models */,
E98EF3B4638A9E8473EA62FA /* Sync */,
);
@@ -260,14 +258,6 @@
path = Extensions;
sourceTree = "<group>";
};
- AA563E991F69ED14DCD9A1AB /* Infrastructure */ = {
- isa = PBXGroup;
- children = (
- D10B5491A53E77C80F8F75CD /* .gitkeep */,
- );
- path = Infrastructure;
- sourceTree = "<group>";
- };
D12ECC901ABED96B86CC85B5 /* Views */ = {
isa = PBXGroup;
children = (
@@ -354,6 +344,7 @@
buildPhases = (
409D108909CBEC2F69B56D0E /* Sources */,
6BCB6F65428622E5AA66936D /* Resources */,
+ AB71BC51B745C8453D165362 /* Set Build Number */,
);
buildRules = (
);
@@ -372,6 +363,7 @@
buildPhases = (
67F773566AF3BC117AA393B9 /* Sources */,
EC5CE716D5948EC163595BF2 /* Resources */,
+ 2AF6CF799FE78291393A6F88 /* Set Build Number */,
);
buildRules = (
);
@@ -465,6 +457,47 @@
};
/* End PBXResourcesBuildPhase section */
+/* Begin PBXShellScriptBuildPhase section */
+ 2AF6CF799FE78291393A6F88 /* Set Build Number */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Set Build Number";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "buildYear=`xcrun git log -1 --format=%cd --date=format:%Y`\nbuildVersion=`xcrun git rev-list HEAD | wc -l | tr -d ' '`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $buildYear.$buildVersion\" \"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\n";
+ };
+ AB71BC51B745C8453D165362 /* Set Build Number */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Set Build Number";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "buildYear=`xcrun git log -1 --format=%cd --date=format:%Y`\nbuildVersion=`xcrun git rev-list HEAD | wc -l | tr -d ' '`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $buildYear.$buildVersion\" \"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\n";
+ };
+/* End PBXShellScriptBuildPhase section */
+
/* Begin PBXSourcesBuildPhase section */
409D108909CBEC2F69B56D0E /* Sources */ = {
isa = PBXSourcesBuildPhase;
diff --git a/project.yml b/project.yml
@@ -51,6 +51,13 @@ targets:
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
CODE_SIGN_STYLE: Automatic
DEVELOPMENT_TEAM: 7TD7PZBNXP
+ postBuildScripts:
+ - name: Set Build Number
+ basedOnDependencyAnalysis: false
+ script: |
+ buildYear=`xcrun git log -1 --format=%cd --date=format:%Y`
+ buildVersion=`xcrun git rev-list HEAD | wc -l | tr -d ' '`
+ /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildYear.$buildVersion" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
Listless macOS:
type: application
@@ -83,6 +90,13 @@ targets:
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
CODE_SIGN_STYLE: Automatic
DEVELOPMENT_TEAM: 7TD7PZBNXP
+ postBuildScripts:
+ - name: Set Build Number
+ basedOnDependencyAnalysis: false
+ script: |
+ buildYear=`xcrun git log -1 --format=%cd --date=format:%Y`
+ buildVersion=`xcrun git rev-list HEAD | wc -l | tr -d ' '`
+ /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildYear.$buildVersion" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
Listless iOS Unit Tests:
type: bundle.unit-test