From cd5b0c6bf41df0df72fcac638598369ba2d8e4b1 Mon Sep 17 00:00:00 2001 From: Yosuke Ishikawa Date: Sat, 21 Feb 2015 20:19:25 +0900 Subject: [PATCH 1/6] fix project to support project without dynamic framework --- APIKit.xcodeproj/project.pbxproj | 4 ++++ APIKit/APIKit.swift | 3 +++ APIKit/RequestBodyBuilder.swift | 3 +++ APIKit/ResponseBodyParser.swift | 3 +++ 4 files changed, 13 insertions(+) diff --git a/APIKit.xcodeproj/project.pbxproj b/APIKit.xcodeproj/project.pbxproj index 6f331503..f70b66eb 100644 --- a/APIKit.xcodeproj/project.pbxproj +++ b/APIKit.xcodeproj/project.pbxproj @@ -726,6 +726,7 @@ INFOPLIST_FILE = APIKit/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_SWIFT_FLAGS = "-DDYNAMIC_FRAMEWORK"; PRODUCT_NAME = "$(PROJECT_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -747,6 +748,7 @@ INFOPLIST_FILE = APIKit/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_SWIFT_FLAGS = "-DDYNAMIC_FRAMEWORK"; PRODUCT_NAME = "$(PROJECT_NAME)"; SKIP_INSTALL = YES; }; @@ -774,6 +776,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; + OTHER_SWIFT_FLAGS = "-DDYNAMIC_FRAMEWORK"; PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -800,6 +803,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; + OTHER_SWIFT_FLAGS = "-DDYNAMIC_FRAMEWORK"; PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = macosx; SKIP_INSTALL = YES; diff --git a/APIKit/APIKit.swift b/APIKit/APIKit.swift index 84274a72..158f1bb5 100644 --- a/APIKit/APIKit.swift +++ b/APIKit/APIKit.swift @@ -1,5 +1,8 @@ import Foundation + +#if DYNAMIC_FRAMEWORK import LlamaKit +#endif public let APIKitErrorDomain = "APIKitErrorDomain" diff --git a/APIKit/RequestBodyBuilder.swift b/APIKit/RequestBodyBuilder.swift index 0911119b..0b939b11 100644 --- a/APIKit/RequestBodyBuilder.swift +++ b/APIKit/RequestBodyBuilder.swift @@ -1,5 +1,8 @@ import Foundation + +#if DYNAMIC_FRAMEWORK import LlamaKit +#endif public let APIKitRequestBodyBuidlerErrorDomain = "APIKitRequestBodyBuidlerErrorDomain" diff --git a/APIKit/ResponseBodyParser.swift b/APIKit/ResponseBodyParser.swift index d268f510..09d2de59 100644 --- a/APIKit/ResponseBodyParser.swift +++ b/APIKit/ResponseBodyParser.swift @@ -1,5 +1,8 @@ import Foundation + +#if DYNAMIC_FRAMEWORK import LlamaKit +#endif public enum ResponseBodyParser { case JSON(NSJSONReadingOptions) From 04e76f8f9e74b50394b4be13c5aa418eec04d725 Mon Sep 17 00:00:00 2001 From: Yosuke Ishikawa Date: Sat, 21 Feb 2015 20:19:34 +0900 Subject: [PATCH 2/6] add podspec --- APIKit.podspec | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 APIKit.podspec diff --git a/APIKit.podspec b/APIKit.podspec new file mode 100644 index 00000000..92f3d6a1 --- /dev/null +++ b/APIKit.podspec @@ -0,0 +1,29 @@ +Pod::Spec.new do |s| + s.name = "APIKit" + s.version = "0.1.0" + s.summary = "A networking library for building type safe web API client in Swift. " + s.homepage = "https://github.com/ishkawa/APIKit" + s.author = { + "Yosuke Ishikawa" => "y@ishkawa.oef" + } + + s.ios.deployment_target = "7.0" + s.osx.deployment_target = "10.9" + + s.source_files = "APIKit/*.swift", "Carthage/Checkouts/LlamaKit/LlamaKit/*.swift" + s.source = { + :git => "https://github.com/ishkawa/APIKit.git", + :tag => "#{s.version}", + :submodules => true, + } + + s.license = { + :type => 'MIT', + :text => <<-LICENSE + Copyright (c) 2015 Yosuke Ishikawa + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + LICENSE + } +end From 894a9c2fea27a9803a097a1f3049619df2470d43 Mon Sep 17 00:00:00 2001 From: Yosuke Ishikawa Date: Sat, 21 Feb 2015 20:30:42 +0900 Subject: [PATCH 3/6] LlamaKit as subspec --- APIKit.podspec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/APIKit.podspec b/APIKit.podspec index 92f3d6a1..cc110875 100644 --- a/APIKit.podspec +++ b/APIKit.podspec @@ -10,7 +10,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = "7.0" s.osx.deployment_target = "10.9" - s.source_files = "APIKit/*.swift", "Carthage/Checkouts/LlamaKit/LlamaKit/*.swift" + s.source_files = "APIKit/*.swift" s.source = { :git => "https://github.com/ishkawa/APIKit.git", :tag => "#{s.version}", @@ -26,4 +26,8 @@ Pod::Spec.new do |s| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. LICENSE } + + s.subspec 'LlamaKit' do |ss| + ss.source_files = "Carthage/Checkouts/LlamaKit/LlamaKit/*.swift" + end end From f586556a886818782df28f0c2652362ea6784491 Mon Sep 17 00:00:00 2001 From: Yosuke Ishikawa Date: Sat, 21 Feb 2015 20:34:21 +0900 Subject: [PATCH 4/6] Revert "LlamaKit as subspec" This reverts commit 894a9c2fea27a9803a097a1f3049619df2470d43. --- APIKit.podspec | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/APIKit.podspec b/APIKit.podspec index cc110875..92f3d6a1 100644 --- a/APIKit.podspec +++ b/APIKit.podspec @@ -10,7 +10,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = "7.0" s.osx.deployment_target = "10.9" - s.source_files = "APIKit/*.swift" + s.source_files = "APIKit/*.swift", "Carthage/Checkouts/LlamaKit/LlamaKit/*.swift" s.source = { :git => "https://github.com/ishkawa/APIKit.git", :tag => "#{s.version}", @@ -26,8 +26,4 @@ Pod::Spec.new do |s| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. LICENSE } - - s.subspec 'LlamaKit' do |ss| - ss.source_files = "Carthage/Checkouts/LlamaKit/LlamaKit/*.swift" - end end From e7d074b8787cd3cc49722d572e4e49fbd21f80cd Mon Sep 17 00:00:00 2001 From: Yosuke Ishikawa Date: Sat, 21 Feb 2015 21:04:35 +0900 Subject: [PATCH 5/6] fix podspec --- APIKit.podspec | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/APIKit.podspec b/APIKit.podspec index 92f3d6a1..484e9e45 100644 --- a/APIKit.podspec +++ b/APIKit.podspec @@ -3,11 +3,12 @@ Pod::Spec.new do |s| s.version = "0.1.0" s.summary = "A networking library for building type safe web API client in Swift. " s.homepage = "https://github.com/ishkawa/APIKit" + s.author = { "Yosuke Ishikawa" => "y@ishkawa.oef" } - s.ios.deployment_target = "7.0" + s.ios.deployment_target = "8.0" s.osx.deployment_target = "10.9" s.source_files = "APIKit/*.swift", "Carthage/Checkouts/LlamaKit/LlamaKit/*.swift" @@ -17,13 +18,13 @@ Pod::Spec.new do |s| :submodules => true, } - s.license = { - :type => 'MIT', - :text => <<-LICENSE + s.license = { + :type => "MIT", + :text => <<-LICENSE Copyright (c) 2015 Yosuke Ishikawa Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - LICENSE + LICENSE } end From 53b457ef8b5d1eee905fd37a09ebdb7e75db8133 Mon Sep 17 00:00:00 2001 From: Yosuke Ishikawa Date: Sat, 21 Feb 2015 22:29:42 +0900 Subject: [PATCH 6/6] fix name of other swift flags --- APIKit.xcodeproj/project.pbxproj | 8 ++++---- APIKit/APIKit.swift | 2 +- APIKit/RequestBodyBuilder.swift | 2 +- APIKit/ResponseBodyParser.swift | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/APIKit.xcodeproj/project.pbxproj b/APIKit.xcodeproj/project.pbxproj index f70b66eb..cae5280c 100644 --- a/APIKit.xcodeproj/project.pbxproj +++ b/APIKit.xcodeproj/project.pbxproj @@ -726,7 +726,7 @@ INFOPLIST_FILE = APIKit/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-DDYNAMIC_FRAMEWORK"; + OTHER_SWIFT_FLAGS = "-DAPIKIT_DYNAMIC_FRAMEWORK"; PRODUCT_NAME = "$(PROJECT_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -748,7 +748,7 @@ INFOPLIST_FILE = APIKit/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-DDYNAMIC_FRAMEWORK"; + OTHER_SWIFT_FLAGS = "-DAPIKIT_DYNAMIC_FRAMEWORK"; PRODUCT_NAME = "$(PROJECT_NAME)"; SKIP_INSTALL = YES; }; @@ -776,7 +776,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; - OTHER_SWIFT_FLAGS = "-DDYNAMIC_FRAMEWORK"; + OTHER_SWIFT_FLAGS = "-DAPIKIT_DYNAMIC_FRAMEWORK"; PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -803,7 +803,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; - OTHER_SWIFT_FLAGS = "-DDYNAMIC_FRAMEWORK"; + OTHER_SWIFT_FLAGS = "-DAPIKIT_DYNAMIC_FRAMEWORK"; PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = macosx; SKIP_INSTALL = YES; diff --git a/APIKit/APIKit.swift b/APIKit/APIKit.swift index 158f1bb5..c1bfbfa0 100644 --- a/APIKit/APIKit.swift +++ b/APIKit/APIKit.swift @@ -1,6 +1,6 @@ import Foundation -#if DYNAMIC_FRAMEWORK +#if APIKIT_DYNAMIC_FRAMEWORK import LlamaKit #endif diff --git a/APIKit/RequestBodyBuilder.swift b/APIKit/RequestBodyBuilder.swift index 0b939b11..85705dcd 100644 --- a/APIKit/RequestBodyBuilder.swift +++ b/APIKit/RequestBodyBuilder.swift @@ -1,6 +1,6 @@ import Foundation -#if DYNAMIC_FRAMEWORK +#if APIKIT_DYNAMIC_FRAMEWORK import LlamaKit #endif diff --git a/APIKit/ResponseBodyParser.swift b/APIKit/ResponseBodyParser.swift index 09d2de59..8db90748 100644 --- a/APIKit/ResponseBodyParser.swift +++ b/APIKit/ResponseBodyParser.swift @@ -1,6 +1,6 @@ import Foundation -#if DYNAMIC_FRAMEWORK +#if APIKIT_DYNAMIC_FRAMEWORK import LlamaKit #endif