listless

A simple list app for Apple platforms
Log | Files | Refs | README | LICENSE

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:
MListless.xcodeproj/project.pbxproj | 53+++++++++++++++++++++++++++++++++++++++++++----------
Mproject.yml | 14++++++++++++++
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