From 6a3cf2d759bc9228e62dc366a3ec90d2dc6be090 Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Sun, 17 May 2015 19:45:03 +0200 Subject: [PATCH] Fixes OSX unit test loading. --- RxCocoa/RxCocoa.xcodeproj/project.pbxproj | 93 ++++++++++++++++++++++- RxTests/RxTest.swift | 5 +- RxTests/RxTests copy-Info.plist | 24 ------ RxTests/RxTests.xcodeproj/project.pbxproj | 58 +++++++------- 4 files changed, 127 insertions(+), 53 deletions(-) delete mode 100644 RxTests/RxTests copy-Info.plist diff --git a/RxCocoa/RxCocoa.xcodeproj/project.pbxproj b/RxCocoa/RxCocoa.xcodeproj/project.pbxproj index cb9e53f3..20f16921 100644 --- a/RxCocoa/RxCocoa.xcodeproj/project.pbxproj +++ b/RxCocoa/RxCocoa.xcodeproj/project.pbxproj @@ -456,6 +456,94 @@ }; name = Release; }; + C8633AA01B0902D900375D60 /* Release-Tests */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + CURRENT_PROJECT_VERSION = 1; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = RxCocoa/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_SWIFT_FLAGS = "-D TRACE_RESOURCES"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = ""; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "Release-Tests"; + }; + C8633AA11B0902D900375D60 /* Release-Tests */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/Rx-cfkyozdvlaegqibzixjokeysigeo/Build/Products/Debug-iphoneos", + "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/Rx-cfkyozdvlaegqibzixjokeysigeo/Build/Products/Release-iphoneos", + "/Users/kzaher/Projects/Rx/RxSwift/build/Debug-iphoneos", + ); + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxCocoa; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = "Release-Tests"; + }; + C8633AA21B0902D900375D60 /* Release-Tests */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/Rx-cfkyozdvlaegqibzixjokeysigeo/Build/Products/Debug-iphoneos", + "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/Rx-cfkyozdvlaegqibzixjokeysigeo/Build/Products/Release-iphoneos", + "/Users/kzaher/Projects/Rx/RxSwift/build/Debug-iphoneos", + ); + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = RxCocoa; + SDKROOT = macosx; + SKIP_INSTALL = YES; + }; + name = "Release-Tests"; + }; C88BB88B1B07E6130064D411 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -473,7 +561,6 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-D DEBUG"; PRODUCT_NAME = RxCocoa; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -498,7 +585,6 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = ""; PRODUCT_NAME = RxCocoa; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -513,6 +599,7 @@ buildConfigurations = ( C81553F21A98AB4A00C63152 /* Debug */, C81553F31A98AB4A00C63152 /* Release */, + C8633AA01B0902D900375D60 /* Release-Tests */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -522,6 +609,7 @@ buildConfigurations = ( C81553F51A98AB4A00C63152 /* Debug */, C81553F61A98AB4A00C63152 /* Release */, + C8633AA11B0902D900375D60 /* Release-Tests */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -531,6 +619,7 @@ buildConfigurations = ( C88BB88B1B07E6130064D411 /* Debug */, C88BB88C1B07E6130064D411 /* Release */, + C8633AA21B0902D900375D60 /* Release-Tests */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/RxTests/RxTest.swift b/RxTests/RxTest.swift index 3225d893..9f1a6c72 100644 --- a/RxTests/RxTest.swift +++ b/RxTests/RxTest.swift @@ -6,9 +6,12 @@ // Copyright (c) 2015 Krunoslav Zaher. All rights reserved. // -import UIKit import XCTest import RxSwift +#if os(OSX) +// because otherwise OSX unit tests won't run +import AppKit +#endif typealias Time = Int diff --git a/RxTests/RxTests copy-Info.plist b/RxTests/RxTests copy-Info.plist deleted file mode 100644 index 7f80ab77..00000000 --- a/RxTests/RxTests copy-Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - Krunoslav-Zaher.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/RxTests/RxTests.xcodeproj/project.pbxproj b/RxTests/RxTests.xcodeproj/project.pbxproj index 592716f8..5bde96ac 100644 --- a/RxTests/RxTests.xcodeproj/project.pbxproj +++ b/RxTests/RxTests.xcodeproj/project.pbxproj @@ -76,7 +76,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - C81108201AF50E11001C13E4 /* RxTests-iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RxTests-iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + C81108201AF50E11001C13E4 /* RxTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RxTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; C81108241AF50E11001C13E4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; C811082B1AF50E2A001C13E4 /* NSNotificationCenterTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSNotificationCenterTests.swift; sourceTree = ""; }; C81108301AF50E2A001C13E4 /* ColdObservable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColdObservable.swift; sourceTree = ""; }; @@ -106,12 +106,11 @@ C811084A1AF50E2A001C13E4 /* Observable+TimeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Observable+TimeTest.swift"; sourceTree = ""; }; C811084B1AF50E2A001C13E4 /* QueueTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QueueTests.swift; sourceTree = ""; }; C811084C1AF50E2A001C13E4 /* RxTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTest.swift; sourceTree = SOURCE_ROOT; }; - C811086A1AF50E43001C13E4 /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = "../Debug-iphoneos/RxCocoa.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - C811086B1AF50E43001C13E4 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = "../Debug-iphoneos/RxSwift.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + C811086A1AF50E43001C13E4 /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C811086B1AF50E43001C13E4 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C814CEA21AF5622600E98087 /* VariableTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VariableTest.swift; sourceTree = ""; }; C814CEA61AF642D600E98087 /* UI+RxTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UI+RxTests.swift"; sourceTree = ""; }; - C88BB8B71B07E64B0064D411 /* RxTests copy.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RxTests copy.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - C88BB8B81B07E64C0064D411 /* RxTests copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "RxTests copy-Info.plist"; path = "/Users/kzaher/Projects/Rx/RxTests/RxTests copy-Info.plist"; sourceTree = ""; }; + C88BB8B71B07E64B0064D411 /* RxTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RxTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; C8B787F91AF55CDE00206D02 /* Observable+ConcurrencyTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Observable+ConcurrencyTest.swift"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -144,15 +143,14 @@ C811086B1AF50E43001C13E4 /* RxSwift.framework */, C81108221AF50E11001C13E4 /* Tests */, C81108211AF50E11001C13E4 /* Products */, - C88BB8B81B07E64C0064D411 /* RxTests copy-Info.plist */, ); sourceTree = ""; }; C81108211AF50E11001C13E4 /* Products */ = { isa = PBXGroup; children = ( - C81108201AF50E11001C13E4 /* RxTests-iOS.xctest */, - C88BB8B71B07E64B0064D411 /* RxTests copy.xctest */, + C81108201AF50E11001C13E4 /* RxTests.xctest */, + C88BB8B71B07E64B0064D411 /* RxTests.xctest */, ); name = Products; sourceTree = ""; @@ -269,7 +267,7 @@ ); name = "RxTests-iOS"; productName = Tests; - productReference = C81108201AF50E11001C13E4 /* RxTests-iOS.xctest */; + productReference = C81108201AF50E11001C13E4 /* RxTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; C88BB88F1B07E64B0064D411 /* RxTests-OSX */ = { @@ -286,7 +284,7 @@ ); name = "RxTests-OSX"; productName = Tests; - productReference = C88BB8B71B07E64B0064D411 /* RxTests copy.xctest */; + productReference = C88BB8B71B07E64B0064D411 /* RxTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -421,7 +419,12 @@ isa = XCBuildConfiguration; buildSettings = { INFOPLIST_FILE = Tests/Info.plist; + OTHER_LDFLAGS = ( + "-framework", + XCTest, + ); OTHER_SWIFT_FLAGS = "-D DEBUG -D TRACE_RESOURCES"; + PRODUCT_NAME = RxTests; }; name = Debug; }; @@ -429,7 +432,12 @@ isa = XCBuildConfiguration; buildSettings = { INFOPLIST_FILE = Tests/Info.plist; + OTHER_LDFLAGS = ( + "-framework", + XCTest, + ); OTHER_SWIFT_FLAGS = "-D RELEASE"; + PRODUCT_NAME = RxTests; }; name = Release; }; @@ -477,7 +485,6 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; @@ -520,7 +527,6 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; @@ -530,7 +536,12 @@ isa = XCBuildConfiguration; buildSettings = { INFOPLIST_FILE = Tests/Info.plist; + OTHER_LDFLAGS = ( + "-framework", + XCTest, + ); OTHER_SWIFT_FLAGS = "-D TRACE_RESOURCES"; + PRODUCT_NAME = RxTests; }; name = "Release-Tests"; }; @@ -571,7 +582,6 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; @@ -596,12 +606,12 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", + "$(DEVELOPER_FRAMEWORKS_DIR)", "$(inherited)", - "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/Rx-cfkyozdvlaegqibzixjokeysigeo/Build/Products/Debug-iphoneos", ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; @@ -612,9 +622,8 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = "RxTests copy"; SDKROOT = macosx; VALIDATE_PRODUCT = YES; }; @@ -639,11 +648,11 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", + "$(DEVELOPER_FRAMEWORKS_DIR)", "$(inherited)", - "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/Rx-cfkyozdvlaegqibzixjokeysigeo/Build/Products/Debug-iphoneos", ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; @@ -661,10 +670,8 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "RxTests copy"; SDKROOT = macosx; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; @@ -689,12 +696,12 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", + "$(DEVELOPER_FRAMEWORKS_DIR)", "$(inherited)", - "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/Rx-cfkyozdvlaegqibzixjokeysigeo/Build/Products/Debug-iphoneos", ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; @@ -705,9 +712,8 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.3; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = "RxTests copy"; SDKROOT = macosx; VALIDATE_PRODUCT = YES; };