Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix: conform CFBundleVersion to documentation#167

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
ethanndickson merged 3 commits intomainfromethan/cfbundleversion-fix
May 28, 2025
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletionsCoder-Desktop/Coder-Desktop/About.swift
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,11 +31,18 @@ enum About {
return coder
}

private static var version: NSString {
let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown"
let commitHash = Bundle.main.infoDictionary?["CommitHash"] as? String ?? "Unknown"
return "Version \(version) - \(commitHash)" as NSString
}

@MainActor
static func open() {
appActivate()
NSApp.orderFrontStandardAboutPanel(options: [
.credits: credits,
.applicationVersion: version,
])
}
}
4 changes: 3 additions & 1 deletionCoder-Desktop/Coder-Desktop/Info.plist
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -32,6 +32,8 @@
<string>$(TeamIdentifierPrefix)com.coder.Coder-Desktop.VPN</string>
</dict>
<key>SUPublicEDKey</key>
<string>Ae2oQLTcx89/a73XrpOt+IVvqdo+fMTjo3UKEm77VdA=</string>
<string>Ae2oQLTcx89/a73XrpOt+IVvqdo+fMTjo3UKEm77VdA=</string>
<key>CommitHash</key>
<string>$(GIT_COMMIT_HASH)</string>
</dict>
</plist>
1 change: 1 addition & 0 deletionsCoder-Desktop/project.yml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,6 +13,7 @@ settings:
base:
MARKETING_VERSION: ${MARKETING_VERSION} # Sets the version number.
CURRENT_PROJECT_VERSION: ${CURRENT_PROJECT_VERSION} # Sets the build number.
GIT_COMMIT_HASH: ${GIT_COMMIT_HASH}

ALWAYS_SEARCH_USER_PATHS: NO
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS: YES
Expand Down
15 changes: 13 additions & 2 deletionsMakefile
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -32,19 +32,29 @@ $(error MUTAGEN_VERSION must be a valid version)
endif

ifndef CURRENT_PROJECT_VERSION
CURRENT_PROJECT_VERSION:=$(shell git describe --match 'v[0-9]*' --dirty='.devel' --always --tags)
# Must be X.Y.Z[.N]
CURRENT_PROJECT_VERSION:=$(shell ./scripts/version.sh)
endif
ifeq ($(strip $(CURRENT_PROJECT_VERSION)),)
$(error CURRENT_PROJECT_VERSION cannot be empty)
endif

ifndef MARKETING_VERSION
MARKETING_VERSION:=$(shell git describe --match 'v[0-9]*' --tags --abbrev=0 | sed 's/^v//' | sed 's/-.*$$//')
# Must be X.Y.Z
MARKETING_VERSION:=$(shell ./scripts/version.sh --short)
endif
ifeq ($(strip $(MARKETING_VERSION)),)
$(error MARKETING_VERSION cannot be empty)
endif

ifndef GIT_COMMIT_HASH
# Must be a valid git commit hash
GIT_COMMIT_HASH := $(shell ./scripts/version.sh --hash)
endif
ifeq ($(strip $(GIT_COMMIT_HASH)),)
$(error GIT_COMMIT_HASH cannot be empty)
endif

# Define the keychain file name first
KEYCHAIN_FILE := app-signing.keychain-db
# Use shell to get the absolute path only if the file exists
Expand All@@ -70,6 +80,7 @@ $(XCPROJECT): $(PROJECT)/project.yml
EXT_PROVISIONING_PROFILE_ID=${EXT_PROVISIONING_PROFILE_ID} \
CURRENT_PROJECT_VERSION=$(CURRENT_PROJECT_VERSION) \
MARKETING_VERSION=$(MARKETING_VERSION) \
GIT_COMMIT_HASH=$(GIT_COMMIT_HASH) \
xcodegen

$(PROJECT)/VPNLib/vpn.pb.swift: $(PROJECT)/VPNLib/vpn.proto
Expand Down
60 changes: 60 additions & 0 deletionsscripts/version.sh
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
#!/usr/bin/env bash
set -euo pipefail

usage() {
echo "Usage: $0 [--short] [--hash]"
echo " --short Output a CFBundleShortVersionString compatible version (X.Y.Z)"
echo " --hash Output only the commit hash"
echo " -h, --help Display this help message"
echo ""
echo "With no flags, outputs: X.Y.Z[.N]"
}

SHORT=false
HASH_ONLY=false

while [[ "$#" -gt 0 ]]; do
case $1 in
--short)
SHORT=true
shift
;;
--hash)
HASH_ONLY=true
shift
;;
-h | --help)
usage
exit 0
;;
*)
echo "Unknown parameter passed: $1"
usage
exit 1
;;
esac
done

if [[ "$HASH_ONLY" == true ]]; then
current_hash=$(git rev-parse --short=7 HEAD)
echo "$current_hash"
exit 0
fi

describe_output=$(git describe --tags)

# Of the form `vX.Y.Z-N-gHASH`
if [[ $describe_output =~ ^v([0-9]+\.[0-9]+\.[0-9]+)(-([0-9]+)-g[a-f0-9]+)?$ ]]; then
version=${BASH_REMATCH[1]} # X.Y.Z
commits=${BASH_REMATCH[3]} # number of commits since tag

if [[ "$SHORT" == true ]]; then
echo "$version"
exit 0
fi

echo "${version}.${commits}"
else
echo "Error: Could not parse git describe output: $describe_output" >&2
exit 1
fi
Loading

[8]ページ先頭

©2009-2025 Movatter.jp