diff --git a/.travis.yml b/.travis.yml index e28e673..cacd644 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,5 +3,7 @@ osx_image: xcode61 before_install: - gem install cocoapods - gem install xcpretty -script: xcodebuild -project Stencil.xcodeproj -scheme Stencil test | xcpretty -c; exit ${PIPESTATUS[0]} - +script: +- set -o pipefail +- xcodebuild -project Stencil.xcodeproj -scheme Stencil test | xcpretty -c +- xcodebuild -project Stencil.xcodeproj -scheme Stencil test -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO | xcpretty -c diff --git a/Configurations/UniversalFramework_Base.xcconfig b/Configurations/UniversalFramework_Base.xcconfig new file mode 100644 index 0000000..9248142 --- /dev/null +++ b/Configurations/UniversalFramework_Base.xcconfig @@ -0,0 +1,18 @@ +// +// UniversalFramework_Base.xcconfig +// Stencil +// +// Created by Marius Rackwitz on 29/11/14. +// Copyright (c) 2014 Marius Rackwitz. All rights reserved. +// + +// Make it universal +SUPPORTED_PLATFORMS = iphonesimulator iphoneos macosx +VALID_ARCHS[sdk=iphoneos*] = arm64 armv7 armv7s +VALID_ARCHS[sdk=iphonesimulator*] = arm64 armv7 armv7s +VALID_ARCHS[sdk=macosx*] = i386 x86_64 + +// Dynamic linking uses different default copy paths +LD_RUNPATH_SEARCH_PATHS[sdk=iphoneos*] = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +LD_RUNPATH_SEARCH_PATHS[sdk=iphonesimulator*] = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +LD_RUNPATH_SEARCH_PATHS[sdk=macosx*] = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' diff --git a/Configurations/UniversalFramework_Framework.xcconfig b/Configurations/UniversalFramework_Framework.xcconfig new file mode 100644 index 0000000..e957478 --- /dev/null +++ b/Configurations/UniversalFramework_Framework.xcconfig @@ -0,0 +1,18 @@ +// +// UniversalFramework_Framework.xcconfig +// Stencil +// +// Created by Marius Rackwitz on 29/11/14. +// Copyright (c) 2014 Marius Rackwitz. All rights reserved. +// + +#include "UniversalFramework_Base.xcconfig" + +// iOS-specific default settings +CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer +TARGETED_DEVICE_FAMILY[sdk=iphonesimulator*] = 1,2 +TARGETED_DEVICE_FAMILY[sdk=iphone*] = 1,2 + +// OSX-specific default settings +FRAMEWORK_VERSION[sdk=macosx*] = A +COMBINE_HIDPI_IMAGES[sdk=macosx*] = YES diff --git a/Configurations/UniversalFramework_Test.xcconfig b/Configurations/UniversalFramework_Test.xcconfig new file mode 100644 index 0000000..8230bed --- /dev/null +++ b/Configurations/UniversalFramework_Test.xcconfig @@ -0,0 +1,16 @@ +// +// UniversalFramework_Test.xcconfig +// Stencil +// +// Created by Marius Rackwitz on 29/11/14. +// Copyright (c) 2014 Marius Rackwitz. All rights reserved. +// + +#include "UniversalFramework_Base.xcconfig" + +FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*] = $(inherited) '$(SDKROOT)/Developer/Library/Frameworks' +FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*] = $(inherited) '$(SDKROOT)/Developer/Library/Frameworks' +FRAMEWORK_SEARCH_PATHS[sdk=macosx*] = $(inherited) '$(DEVELOPER_FRAMEWORKS_DIR)' + +// Yep. +LD_RUNPATH_SEARCH_PATHS[sdk=macosx*] = $(inherited) '@executable_path/../Frameworks' '@loader_path/../Frameworks' \ No newline at end of file diff --git a/Stencil.xcodeproj/project.pbxproj b/Stencil.xcodeproj/project.pbxproj index b7b5ea7..81e8202 100644 --- a/Stencil.xcodeproj/project.pbxproj +++ b/Stencil.xcodeproj/project.pbxproj @@ -7,6 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + 27E2138D1A4CD5F50073E063 /* UniversalFramework_Base.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 27E2138A1A4CD5F50073E063 /* UniversalFramework_Base.xcconfig */; }; + 27E2138E1A4CD5F50073E063 /* UniversalFramework_Framework.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 27E2138B1A4CD5F50073E063 /* UniversalFramework_Framework.xcconfig */; }; + 27E2138F1A4CD5F50073E063 /* UniversalFramework_Test.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 27E2138C1A4CD5F50073E063 /* UniversalFramework_Test.xcconfig */; }; 71CE4C0A19FD29D000B9E0C5 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71CE4C0919FD29D000B9E0C5 /* Result.swift */; }; 7725B3CB19F92B4F002CF74B /* VariableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7725B3CA19F92B4F002CF74B /* VariableTests.swift */; }; 7725B3CD19F92B61002CF74B /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7725B3CC19F92B61002CF74B /* Variable.swift */; }; @@ -37,6 +40,9 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 27E2138A1A4CD5F50073E063 /* UniversalFramework_Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = UniversalFramework_Base.xcconfig; sourceTree = ""; }; + 27E2138B1A4CD5F50073E063 /* UniversalFramework_Framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = UniversalFramework_Framework.xcconfig; sourceTree = ""; }; + 27E2138C1A4CD5F50073E063 /* UniversalFramework_Test.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = UniversalFramework_Test.xcconfig; sourceTree = ""; }; 71CE4C0919FD29D000B9E0C5 /* Result.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Result.swift; sourceTree = ""; }; 7725B3CA19F92B4F002CF74B /* VariableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VariableTests.swift; sourceTree = ""; }; 7725B3CC19F92B61002CF74B /* Variable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Variable.swift; sourceTree = ""; }; @@ -78,11 +84,22 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 27E213891A4CD5F50073E063 /* Configurations */ = { + isa = PBXGroup; + children = ( + 27E2138A1A4CD5F50073E063 /* UniversalFramework_Base.xcconfig */, + 27E2138B1A4CD5F50073E063 /* UniversalFramework_Framework.xcconfig */, + 27E2138C1A4CD5F50073E063 /* UniversalFramework_Test.xcconfig */, + ); + path = Configurations; + sourceTree = SOURCE_ROOT; + }; 77FAAE4819F91E480029DC5E = { isa = PBXGroup; children = ( 77FAAE5419F91E480029DC5E /* Stencil */, 77FAAE6119F91E480029DC5E /* StencilTests */, + 27E213891A4CD5F50073E063 /* Configurations */, 77FAAE5319F91E480029DC5E /* Products */, ); sourceTree = ""; @@ -234,6 +251,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 27E2138F1A4CD5F50073E063 /* UniversalFramework_Test.xcconfig in Resources */, + 27E2138E1A4CD5F50073E063 /* UniversalFramework_Framework.xcconfig in Resources */, + 27E2138D1A4CD5F50073E063 /* UniversalFramework_Base.xcconfig in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -370,6 +390,7 @@ }; 77FAAE6919F91E480029DC5E /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 27E2138B1A4CD5F50073E063 /* UniversalFramework_Framework.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; @@ -380,7 +401,6 @@ FRAMEWORK_VERSION = A; INFOPLIST_FILE = Stencil/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -389,6 +409,7 @@ }; 77FAAE6A19F91E480029DC5E /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 27E2138B1A4CD5F50073E063 /* UniversalFramework_Framework.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; @@ -399,7 +420,6 @@ FRAMEWORK_VERSION = A; INFOPLIST_FILE = Stencil/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; }; @@ -407,32 +427,24 @@ }; 77FAAE6C19F91E480029DC5E /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 27E2138C1A4CD5F50073E063 /* UniversalFramework_Test.xcconfig */; buildSettings = { COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); INFOPLIST_FILE = StencilTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; }; 77FAAE6D19F91E480029DC5E /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 27E2138C1A4CD5F50073E063 /* UniversalFramework_Test.xcconfig */; buildSettings = { COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); INFOPLIST_FILE = StencilTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; diff --git a/StencilTests/ContextTests.swift b/StencilTests/ContextTests.swift index 600f329..3e56091 100644 --- a/StencilTests/ContextTests.swift +++ b/StencilTests/ContextTests.swift @@ -1,4 +1,4 @@ -import Cocoa +import Foundation import XCTest import Stencil diff --git a/StencilTests/LexerTests.swift b/StencilTests/LexerTests.swift index 2691cbe..8409bf0 100644 --- a/StencilTests/LexerTests.swift +++ b/StencilTests/LexerTests.swift @@ -1,4 +1,4 @@ -import Cocoa +import Foundation import XCTest import Stencil diff --git a/StencilTests/NodeTests.swift b/StencilTests/NodeTests.swift index 975a360..9ffded4 100644 --- a/StencilTests/NodeTests.swift +++ b/StencilTests/NodeTests.swift @@ -1,4 +1,4 @@ -import Cocoa +import Foundation import XCTest import Stencil diff --git a/StencilTests/ParserTests.swift b/StencilTests/ParserTests.swift index 5f1966d..3cb399e 100644 --- a/StencilTests/ParserTests.swift +++ b/StencilTests/ParserTests.swift @@ -1,4 +1,4 @@ -import Cocoa +import Foundation import XCTest import Stencil diff --git a/StencilTests/StencilTests.swift b/StencilTests/StencilTests.swift index d913773..7c8f003 100644 --- a/StencilTests/StencilTests.swift +++ b/StencilTests/StencilTests.swift @@ -1,4 +1,4 @@ -import Cocoa +import Foundation import XCTest import Stencil diff --git a/StencilTests/TemplateTests.swift b/StencilTests/TemplateTests.swift index 3ab5b85..0646687 100644 --- a/StencilTests/TemplateTests.swift +++ b/StencilTests/TemplateTests.swift @@ -1,4 +1,4 @@ -import Cocoa +import Foundation import XCTest import Stencil diff --git a/StencilTests/VariableTests.swift b/StencilTests/VariableTests.swift index 4db7577..3b26323 100644 --- a/StencilTests/VariableTests.swift +++ b/StencilTests/VariableTests.swift @@ -1,4 +1,4 @@ -import Cocoa +import Foundation import XCTest import Stencil