From f3ce5116e7e1bbd0581c93a6079d952c789441b7 Mon Sep 17 00:00:00 2001 From: Daniel Jalkut Date: Fri, 6 Sep 2019 14:52:03 -0400 Subject: [PATCH] Factor out the common build settings from Mac targets into a new shared xcconfig file, which includee the shared marketing version and bundle version for NetNewsWire and any extensions that may be built. --- Mac/Resources/Info.plist | 4 ++-- Mac/SafariExtension/Info.plist | 4 ++-- NetNewsWire.xcodeproj/project.pbxproj | 4 +++- xcconfig/NetNewsWire_macapp_target.xcconfig | 4 +--- xcconfig/NetNewsWire_safariextension_target.xcconfig | 6 +----- xcconfig/README.txt | 1 + xcconfig/common/NetNewsWire_mac_target_common.xcconfig | 10 ++++++++++ 7 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 xcconfig/README.txt create mode 100644 xcconfig/common/NetNewsWire_mac_target_common.xcconfig diff --git a/Mac/Resources/Info.plist b/Mac/Resources/Info.plist index e9f17ce85..31bd46543 100644 --- a/Mac/Resources/Info.plist +++ b/Mac/Resources/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 5.0.1d1 + $(MARKETING_VERSION) CFBundleURLTypes @@ -33,7 +33,7 @@ CFBundleVersion - 2611 + $(CURRENT_PROJECT_VERSION) LSApplicationCategoryType public.app-category.news LSMinimumSystemVersion diff --git a/Mac/SafariExtension/Info.plist b/Mac/SafariExtension/Info.plist index 88f5872a0..5f4fa8c03 100644 --- a/Mac/SafariExtension/Info.plist +++ b/Mac/SafariExtension/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 1.0 + $(MARKETING_VERSION) CFBundleVersion - 2 + $(CURRENT_PROJECT_VERSION) LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSExtension diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 5ca775c33..d8e02479c 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -786,6 +786,7 @@ 55E15BCA229D65A900D6602A /* AccountsReaderAPIWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountsReaderAPIWindowController.swift; sourceTree = ""; }; 5F323808231DF9F000706F6B /* NNWTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NNWTableViewCell.swift; sourceTree = ""; }; 6581C73320CED60000F4AD34 /* Subscribe to Feed.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Subscribe to Feed.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6543108B2322D90900658221 /* common */ = {isa = PBXFileReference; lastKnownFileType = folder; path = common; sourceTree = ""; }; 6581C73420CED60100F4AD34 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 6581C73720CED60100F4AD34 /* SafariExtensionHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariExtensionHandler.swift; sourceTree = ""; }; 6581C73920CED60100F4AD34 /* SafariExtensionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariExtensionViewController.swift; sourceTree = ""; }; @@ -1911,6 +1912,7 @@ D5907CDF2002F0F9005947E5 /* NetNewsWireTests_target.xcconfig */, D519E74722EE553300923F27 /* NetNewsWire_safariextension_target.xcconfig */, 51121AA12265430A00BC0EC1 /* NetNewsWire_iOSapp_target.xcconfig */, + 6543108B2322D90900658221 /* common */, ); path = xcconfig; sourceTree = ""; @@ -2388,7 +2390,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "# See https://blog.curtisherbert.com/automated-build-numbers/\n\n#git=`sh /etc/profile; which git`\n#branch_name=`$git symbolic-ref HEAD | sed -e 's,.*/\\\\(.*\\\\),\\\\1,'`\n#git_count=`$git rev-list $branch_name |wc -l | sed 's/^ *//;s/ *$//'`\n#simple_branch_name=`$git rev-parse --abbrev-ref HEAD`\n\n#build_number=\"$git_count\"\n#if [ $CONFIGURATION != \"Release\" ]; then\n#build_number+=\"-$simple_branch_name\"\n#fi\n\n#plist=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\n#dsym_plist=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n#/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$plist\"\n#if [ -f \"$DSYM_INFO_PLIST\" ] ; then\n#/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$dsym_plist\"\n#fi\n"; + shellScript = "# See https://blog.curtisherbert.com/automated-build-numbers/\n\n# WARNING: If automated build numbers are restored then take \n# care to ensure any app extensions are versioned the same as the app.\n# ask Daniel (jalkut@red-sweater.com) if in doubt about this. \n#git=`sh /etc/profile; which git`\n#branch_name=`$git symbolic-ref HEAD | sed -e 's,.*/\\\\(.*\\\\),\\\\1,'`\n#git_count=`$git rev-list $branch_name |wc -l | sed 's/^ *//;s/ *$//'`\n#simple_branch_name=`$git rev-parse --abbrev-ref HEAD`\n\n#build_number=\"$git_count\"\n#if [ $CONFIGURATION != \"Release\" ]; then\n#build_number+=\"-$simple_branch_name\"\n#fi\n\n#plist=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\n#dsym_plist=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n#/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$plist\"\n#if [ -f \"$DSYM_INFO_PLIST\" ] ; then\n#/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$dsym_plist\"\n#fi\n"; }; D519E77022EE5B4100923F27 /* Run Script: Verify No Build Settings */ = { isa = PBXShellScriptBuildPhase; diff --git a/xcconfig/NetNewsWire_macapp_target.xcconfig b/xcconfig/NetNewsWire_macapp_target.xcconfig index 9903ba238..3d350b080 100644 --- a/xcconfig/NetNewsWire_macapp_target.xcconfig +++ b/xcconfig/NetNewsWire_macapp_target.xcconfig @@ -30,14 +30,12 @@ PROVISIONING_PROFILE_SPECIFIER = // #include? "../../SharedXcodeSettings/DeveloperSettings.xcconfig" +#include "./common/NetNewsWire_mac_target_common.xcconfig" ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon CODE_SIGN_ENTITLEMENTS = Mac/Resources/NetNewsWire.entitlements -COMBINE_HIDPI_IMAGES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) $(PROJECT_DIR)/Frameworks/Vendor INFOPLIST_FILE = Mac/Resources/Info.plist LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks -MACOSX_DEPLOYMENT_TARGET = 10.14.4 PRODUCT_BUNDLE_IDENTIFIER = com.ranchero.NetNewsWire-Evergreen PRODUCT_NAME = NetNewsWire diff --git a/xcconfig/NetNewsWire_safariextension_target.xcconfig b/xcconfig/NetNewsWire_safariextension_target.xcconfig index f814da328..a56af953f 100644 --- a/xcconfig/NetNewsWire_safariextension_target.xcconfig +++ b/xcconfig/NetNewsWire_safariextension_target.xcconfig @@ -30,15 +30,11 @@ PROVISIONING_PROFILE_SPECIFIER = // #include? "../../SharedXcodeSettings/DeveloperSettings.xcconfig" +#include "./common/NetNewsWire_mac_target_common.xcconfig" -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO -ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon CODE_SIGN_ENTITLEMENTS = Mac/SafariExtension/Subscribe_to_Feed.entitlements -COMBINE_HIDPI_IMAGES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) $(PROJECT_DIR)/Frameworks/Vendor INFOPLIST_FILE = Mac/SafariExtension/Info.plist LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @executable_path/../../../../Frameworks -MACOSX_DEPLOYMENT_TARGET = 10.14.4 PRODUCT_BUNDLE_IDENTIFIER = com.ranchero.NetNewsWire-Evergreen.Subscribe-to-Feed PRODUCT_NAME = $(TARGET_NAME) diff --git a/xcconfig/README.txt b/xcconfig/README.txt new file mode 100644 index 000000000..06f4ef27a --- /dev/null +++ b/xcconfig/README.txt @@ -0,0 +1 @@ +Configuration files at this level are intended to be set on projects and targets, while the configuration files within "common" are intended only to be used as imports to other config files. diff --git a/xcconfig/common/NetNewsWire_mac_target_common.xcconfig b/xcconfig/common/NetNewsWire_mac_target_common.xcconfig new file mode 100644 index 000000000..b2da183e4 --- /dev/null +++ b/xcconfig/common/NetNewsWire_mac_target_common.xcconfig @@ -0,0 +1,10 @@ + +// High Level Settings common to both the Mac application and any extensions we bundle with it +MARKETING_VERSION = 5.0.1d1 +CURRENT_PROJECT_VERSION = 2611 + +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +COMBINE_HIDPI_IMAGES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PROJECT_DIR)/Frameworks/Vendor +MACOSX_DEPLOYMENT_TARGET = 10.14.4