Apple frameworks: stamp CFBundleShortVersionString from $(MARKETING_VERSION)#970
Draft
armahnii2000 wants to merge 1 commit intomicrosoft:mainfrom
Draft
Conversation
…ERSION) Replace hardcoded literal '1.0' for CFBundleShortVersionString with $(MARKETING_VERSION) in the four static Info.plist files used by libHttpClient's Apple framework targets. CFBundleVersion was already wired to $(CURRENT_PROJECT_VERSION). After this change, xcodebuild CLI overrides for MARKETING_VERSION/CURRENT_PROJECT_VERSION flow into both keys of the produced framework's Info.plist. Affects: - Utilities/FrameworkResources/Info_iOS.plist - Utilities/FrameworkResources/Info_mac.plist - Utilities/FrameworkResources/Info_NOWEBSOCKETS_iOS.plist - Utilities/FrameworkResources/Info_NOWEBSOCKETS_macOS.plist Default xcodeproj MARKETING_VERSION (1.0) is unchanged, so developer Xcode builds without an override behave exactly as today. Driven by the PlayFab Unified SDK Apple V2 release pipeline change to stamp consumer-readable versions on shipped frameworks.
Author
|
@microsoft-github-policy-service agree |
Author
|
cc @rgomez391 @yuehanlin — flagging for review. CLA cleared. One-line-per-file plist edit unblocking Apple V2 release-pipeline version stamping; full context in the description above. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Today, when libHttpClient's Apple framework targets are built with
xcodebuild MARKETING_VERSION=X.Y.Zon the command line, the produced framework still ships withCFBundleShortVersionString=1.0in itsInfo.plist. The reason: the static plist files have1.0written as a literal, not as a$(MARKETING_VERSION)reference, so Xcode has nothing to substitute. This PR replaces the literals with the variable so xcodebuild's CLI override actually flows through to the framework.What changes
The same one-line edit in four files — only
CFBundleShortVersionString:Utilities/FrameworkResources/Info_iOS.plistUtilities/FrameworkResources/Info_mac.plistUtilities/FrameworkResources/Info_NOWEBSOCKETS_iOS.plistUtilities/FrameworkResources/Info_NOWEBSOCKETS_macOS.plistCFBundleVersionis already wired to$(CURRENT_PROJECT_VERSION)in these files, so this is a one-line nudge per plist.Local verification
xcodebuild -workspace Build/libHttpClient.Apple.C/libHttpClient.xcworkspace \ -scheme libHttpClientFramework_iOS -sdk iphonesimulator -configuration Release \ MARKETING_VERSION=2.3.1 CURRENT_PROJECT_VERSION=2.3.1 build /usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' \ <DerivedData>/Build/Products/Release-iphonesimulator/HttpClient.framework/Info.plistBefore this PR:
1.0. After this PR:2.3.1.