From 555c434a7d64ad7de9907bb0f0baf8f6cca685f9 Mon Sep 17 00:00:00 2001 From: Thomas Van Lenten Date: Thu, 15 Nov 2018 09:35:41 -0500 Subject: Project modernization. - Create shared scheme to use. - Let Xcode (9.4.1) update the project files and add some warnings. - Remove -finalize (GC days are gone) - Add some more pragmas to compile cleanly. - The iOS targets had a mix of 7.0 and 8.0 min versions, so make them all 8. --- AppKit/GTMWindowSheetController.m | 8 -- Foundation/GTMFileSystemKQueue.m | 6 ++ Foundation/GTMRegex.m | 1 + Foundation/GTMSignalHandler.m | 6 ++ Foundation/GTMSystemVersion.m | 6 ++ Foundation/GTMURLBuilder.m | 6 ++ GTM.xcodeproj/project.pbxproj | 18 +++- .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++ GTM.xcodeproj/xcshareddata/xcschemes/GTM.xcscheme | 119 +++++++++++++++++++++ GTMiPhone.xcodeproj/project.pbxproj | 16 ++- .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++ .../xcshareddata/xcschemes/GTMiPhone.xcscheme | 99 +++++++++++++++++ GoogleToolboxForMac.podspec | 4 +- 13 files changed, 291 insertions(+), 14 deletions(-) create mode 100644 GTM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 GTM.xcodeproj/xcshareddata/xcschemes/GTM.xcscheme create mode 100644 GTMiPhone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 GTMiPhone.xcodeproj/xcshareddata/xcschemes/GTMiPhone.xcscheme diff --git a/AppKit/GTMWindowSheetController.m b/AppKit/GTMWindowSheetController.m index b8bacff..350403e 100644 --- a/AppKit/GTMWindowSheetController.m +++ b/AppKit/GTMWindowSheetController.m @@ -130,14 +130,6 @@ willPositionSheet:(NSWindow*)sheet return self; } -- (void)finalize { - _GTMDevAssert([sheets_ count] == 0, - @"Finalizing a controller with sheets still active!"); - [[NSNotificationCenter defaultCenter] removeObserver:self]; - - [super finalize]; -} - - (void)dealloc { _GTMDevAssert([sheets_ count] == 0, @"Deallocing a controller with sheets still active!"); diff --git a/Foundation/GTMFileSystemKQueue.m b/Foundation/GTMFileSystemKQueue.m index 7ed2f4e..a1b7094 100644 --- a/Foundation/GTMFileSystemKQueue.m +++ b/Foundation/GTMFileSystemKQueue.m @@ -22,6 +22,10 @@ #import "GTMDebugSelectorValidation.h" #import "GTMTypeCasting.h" +#pragma clang diagnostic push +// Ignore all of the deprecation warnings for GTMFileSystemKQueue +#pragma clang diagnostic ignored "-Wdeprecated-implementations" + // File descriptor for the kqueue that will hold all of our file system events. static int gFileSystemKQueueFileDescriptor = 0; @@ -274,3 +278,5 @@ static void SocketCallBack(CFSocketRef socketref, CFSocketCallBackType type, } @end + +#pragma clang diagnostic pop diff --git a/Foundation/GTMRegex.m b/Foundation/GTMRegex.m index 5649156..878d352 100644 --- a/Foundation/GTMRegex.m +++ b/Foundation/GTMRegex.m @@ -23,6 +23,7 @@ #pragma clang diagnostic push // Ignore all of the deprecation warnings for GTMRegex #pragma clang diagnostic ignored "-Wdeprecated-declarations" +#pragma clang diagnostic ignored "-Wdeprecated-implementations" // This is the pattern to use for walking replacement text when doing // substitutions. diff --git a/Foundation/GTMSignalHandler.m b/Foundation/GTMSignalHandler.m index 4d4f3e2..322aa77 100644 --- a/Foundation/GTMSignalHandler.m +++ b/Foundation/GTMSignalHandler.m @@ -22,6 +22,10 @@ #import #import "GTMDebugSelectorValidation.h" +#pragma clang diagnostic push +// Ignore all of the deprecation warnings for GTMSignalHandler +#pragma clang diagnostic ignored "-Wdeprecated-implementations" + // Simplifying assumption: No more than one handler for a particular signal is // alive at a time. When the second signal is registered, kqueue just updates // the info about the first signal, which makes -dealloc time complicated (what @@ -98,3 +102,5 @@ } @end + +#pragma clang diagnostic pop diff --git a/Foundation/GTMSystemVersion.m b/Foundation/GTMSystemVersion.m index 6519902..06bf8ef 100644 --- a/Foundation/GTMSystemVersion.m +++ b/Foundation/GTMSystemVersion.m @@ -18,6 +18,10 @@ #import "GTMSystemVersion.h" +#pragma clang diagnostic push +// Ignore all of the deprecation warnings for GTMSystemVersion.h +#pragma clang diagnostic ignored "-Wdeprecated-implementations" + #import #if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10 && \ MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 @@ -285,3 +289,5 @@ static NSString *const kSystemVersionPlistPath = @"/System/Library/CoreServices/ } @end + +#pragma clang diagnostic pop diff --git a/Foundation/GTMURLBuilder.m b/Foundation/GTMURLBuilder.m index 4f1a419..fd04c49 100644 --- a/Foundation/GTMURLBuilder.m +++ b/Foundation/GTMURLBuilder.m @@ -23,6 +23,10 @@ #import "GTMNSDictionary+URLArguments.h" #import "GTMNSString+URLArguments.h" +#pragma clang diagnostic push +// Ignore all of the deprecation warnings for GTMURLBuilder +#pragma clang diagnostic ignored "-Wdeprecated-implementations" + @implementation GTMURLBuilder @synthesize baseURLString = baseURLString_; @@ -136,3 +140,5 @@ } @end + +#pragma clang diagnostic push diff --git a/GTM.xcodeproj/project.pbxproj b/GTM.xcodeproj/project.pbxproj index 6f56b9d..363f2a1 100644 --- a/GTM.xcodeproj/project.pbxproj +++ b/GTM.xcodeproj/project.pbxproj @@ -949,7 +949,7 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = NO; - LastUpgradeCheck = 0900; + LastUpgradeCheck = 0940; }; buildConfigurationList = 1DEB918108733D990010E9CD /* Build configuration list for PBXProject "GTM" */; compatibilityVersion = "Xcode 3.1"; @@ -1260,11 +1260,13 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; @@ -1287,6 +1289,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = F48FE2430D197F9A009257D2 /* LoadableBundle.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1301,6 +1304,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = F48FE2420D197F9A009257D2 /* DebugUnittest.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(DEVELOPER_FRAMEWORKS_DIR_QUOTED)", @@ -1317,6 +1321,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = F48FE2420D197F9A009257D2 /* DebugUnittest.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; FRAMEWORK_SEARCH_PATHS = ( "$(value)", "$(DEVELOPER_FRAMEWORKS_DIR_QUOTED)", @@ -1332,6 +1337,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = F48FE2420D197F9A009257D2 /* DebugUnittest.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; FRAMEWORK_SEARCH_PATHS = ( "$(value)", "$(DEVELOPER_FRAMEWORKS_DIR_QUOTED)", @@ -1345,6 +1351,7 @@ F4CC9F2F148E5DEB00B7D68C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; PRODUCT_NAME = GTMServiceManagementTestingHarness; }; name = Debug; @@ -1352,6 +1359,7 @@ F4CC9F30148E5DEB00B7D68C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; INFOPLIST_FILE = UnitTesting/GTMUIUnitTestingHarness/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.google.GTMUIUnitTestingHarness; PRODUCT_NAME = GTMUIUnitTestingHarness; @@ -1366,11 +1374,13 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; @@ -1391,6 +1401,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = F48FE2430D197F9A009257D2 /* LoadableBundle.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1405,6 +1416,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = F48FE2450D197F9A009257D2 /* ReleaseUnittest.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(DEVELOPER_FRAMEWORKS_DIR_QUOTED)", @@ -1421,6 +1433,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = F48FE2450D197F9A009257D2 /* ReleaseUnittest.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; FRAMEWORK_SEARCH_PATHS = ( "$(value)", "$(DEVELOPER_FRAMEWORKS_DIR_QUOTED)", @@ -1436,6 +1449,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = F48FE2450D197F9A009257D2 /* ReleaseUnittest.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; FRAMEWORK_SEARCH_PATHS = ( "$(value)", "$(DEVELOPER_FRAMEWORKS_DIR_QUOTED)", @@ -1449,6 +1463,7 @@ F4CC9F3A148E5DF700B7D68C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; PRODUCT_NAME = GTMServiceManagementTestingHarness; }; name = Release; @@ -1456,6 +1471,7 @@ F4CC9F3B148E5DF700B7D68C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; INFOPLIST_FILE = UnitTesting/GTMUIUnitTestingHarness/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.google.GTMUIUnitTestingHarness; PRODUCT_NAME = GTMUIUnitTestingHarness; diff --git a/GTM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/GTM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/GTM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/GTM.xcodeproj/xcshareddata/xcschemes/GTM.xcscheme b/GTM.xcodeproj/xcshareddata/xcschemes/GTM.xcscheme new file mode 100644 index 0000000..77656fe --- /dev/null +++ b/GTM.xcodeproj/xcshareddata/xcschemes/GTM.xcscheme @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GTMiPhone.xcodeproj/project.pbxproj b/GTMiPhone.xcodeproj/project.pbxproj index b417ab4..c290630 100644 --- a/GTMiPhone.xcodeproj/project.pbxproj +++ b/GTMiPhone.xcodeproj/project.pbxproj @@ -539,7 +539,7 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0900; + LastUpgradeCheck = 0940; TargetAttributes = { 8B82CEF51D9C17DE007182AA = { CreatedOnToolsVersion = 8.0; @@ -692,6 +692,7 @@ buildSettings = { "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; PRODUCT_NAME = GTM; }; name = Debug; @@ -700,6 +701,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = F4A0A95F140438B90010B64B /* ReleaseiOS.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; PRODUCT_NAME = GTM; }; name = Release; @@ -710,6 +712,7 @@ buildSettings = { "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; GTM_HOST_OTHER_LDFLAGS = "-ObjC -lz"; INFOPLIST_FILE = "UnitTest-Info.plist"; @@ -723,6 +726,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = F4A0A95F140438B90010B64B /* ReleaseiOS.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; GTM_HOST_OTHER_LDFLAGS = "-ObjC -lz"; INFOPLIST_FILE = "UnitTest-Info.plist"; @@ -742,11 +746,13 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; @@ -760,7 +766,7 @@ GCC_WARN_SHADOW = YES; GTM_EXTRA_WARNING_OVERRIDE_CFLAGS = "-Wno-unused-parameter"; GTM_HOST_GCC_PREPROCESSOR_DEFINITIONS = "GTM_USING_XCTEST=1"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_NO_PIE = YES; ONLY_ACTIVE_ARCH = YES; }; @@ -769,6 +775,7 @@ F4A0A964140438D50010B64B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; GTM_HOST_GCC_PREPROCESSOR_DEFINITIONS = "GTM_USING_XCTEST=0 GTM_IPHONE_USE_SENTEST=0"; INFOPLIST_FILE = "GTMiPhone-Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = com.google.GTMiPhone; @@ -784,11 +791,13 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; @@ -801,7 +810,7 @@ GCC_WARN_SHADOW = YES; GTM_EXTRA_WARNING_OVERRIDE_CFLAGS = "-Wno-unused-parameter"; GTM_HOST_GCC_PREPROCESSOR_DEFINITIONS = "GTM_USING_XCTEST=1"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_NO_PIE = YES; }; name = Release; @@ -809,6 +818,7 @@ F4A0A96E140438ED0010B64B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; GTM_HOST_GCC_PREPROCESSOR_DEFINITIONS = "GTM_USING_XCTEST=0 GTM_IPHONE_USE_SENTEST=0"; INFOPLIST_FILE = "GTMiPhone-Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = com.google.GTMiPhone; diff --git a/GTMiPhone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/GTMiPhone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/GTMiPhone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/GTMiPhone.xcodeproj/xcshareddata/xcschemes/GTMiPhone.xcscheme b/GTMiPhone.xcodeproj/xcshareddata/xcschemes/GTMiPhone.xcscheme new file mode 100644 index 0000000..cc7d3f2 --- /dev/null +++ b/GTMiPhone.xcodeproj/xcshareddata/xcschemes/GTMiPhone.xcscheme @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GoogleToolboxForMac.podspec b/GoogleToolboxForMac.podspec index 1accd5d..f7eb497 100644 --- a/GoogleToolboxForMac.podspec +++ b/GoogleToolboxForMac.podspec @@ -12,8 +12,8 @@ Pod::Spec.new do |s| to developers working on iOS or OS X projects. DESC - s.osx.deployment_target = '10.6' - s.ios.deployment_target = '5.0' + s.osx.deployment_target = '10.7' + s.ios.deployment_target = '8.0' s.tvos.deployment_target = '9.0' s.requires_arc = false -- cgit v1.2.3