Merged SDWebImage iOS + SDWebImage OSX + SDWebImage tvOS + SDWebImage watchOS targets into SDWebImage target (supports all platforms)

Merged SDWebImage iOS static + SDWebImage watchOS static targets into SDWebImage static target (supports all platforms)
Created dedicated SDWebImageMapKit target
All this is done for:
- ability to install via Carthage without MapKit dependency now we generate SDWebImage.framework and SDWebImageMapKit.framework so the users can choose to link against core or core+MapKit.
- simpler management of targets (no need to duplicate effort).
Replacement for #2078

Merged SDWebImage iOS + SDWebImage OSX + SDWebImage tvOS + SDWebImage watchOS targets into SDWebImage target (supports all platforms)
Merged SDWebImage iOS static + SDWebImage watchOS static targets into SDWebImage static target (supports all platforms)
Created dedicated SDWebImageMapKit target
All this is done for:
- ability to install via Carthage without MapKit dependency now we generate SDWebImage.framework and SDWebImageMapKit.framework so the users can choose to link against core or core+MapKit.
- simpler management of targets (no need to duplicate effort).
Replacement for #2078
This commit is contained in:
Bogdan Poplauschi 2018-09-07 16:54:18 +03:00
parent 88142019b7
commit ae552f9350
11 changed files with 237 additions and 1519 deletions

View File

@ -29,17 +29,17 @@ script:
- pod lib lint --allow-warnings
- echo Build as static library
- xcodebuild build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage iOS static' -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Debug | xcpretty -c
- xcodebuild build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage watchOS static' -sdk watchsimulator -configuration Debug | xcpretty -c
- xcodebuild build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage static' -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Debug | xcpretty -c
- xcodebuild build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage static' -sdk watchsimulator -configuration Debug | xcpretty -c
- echo Build as dynamic framework
- xcodebuild build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage OSX' -sdk macosx -configuration Debug | xcpretty -c
- xcodebuild build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage iOS' -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Debug | xcpretty -c
- xcodebuild build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage tvOS' -sdk appletvsimulator -configuration Debug | xcpretty -c
- xcodebuild build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage watchOS' -sdk watchsimulator -configuration Debug | xcpretty -c
- echo Clean DerivedData
- rm -rf ~/Library/Developer/Xcode/DerivedData
- echo Build as dynamic frameworks
- xcodebuild build clean -workspace SDWebImage.xcworkspace -scheme 'SDWebImage' -sdk macosx -configuration Debug | xcpretty -c
- xcodebuild build clean -workspace SDWebImage.xcworkspace -scheme 'SDWebImage' -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Debug | xcpretty -c
- xcodebuild build clean -workspace SDWebImage.xcworkspace -scheme 'SDWebImage' -sdk appletvsimulator -configuration Debug | xcpretty -c
- xcodebuild build clean -workspace SDWebImage.xcworkspace -scheme 'SDWebImage' -sdk watchsimulator -configuration Debug | xcpretty -c
- xcodebuild build clean -workspace SDWebImage.xcworkspace -scheme 'SDWebImageMapKit' -sdk macosx -configuration Debug | xcpretty -c
- xcodebuild build clean -workspace SDWebImage.xcworkspace -scheme 'SDWebImageMapKit' -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Debug | xcpretty -c
- xcodebuild build clean -workspace SDWebImage.xcworkspace -scheme 'SDWebImageMapKit' -sdk appletvsimulator -configuration Debug | xcpretty -c
- echo Build the Demo apps
- pod install --project-directory=Examples
@ -48,9 +48,7 @@ script:
- xcodebuild build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage TV Demo' -sdk appletvsimulator -configuration Debug | xcpretty -c
- xcodebuild build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage Watch Demo' -configuration Debug -destination 'name=iPhone 8' | xcpretty -c
- echo Clean DerivedData
- mkdir DerivedData
- rm -rf ~/Library/Developer/Xcode/DerivedData
- echo Run the tests
- pod install --project-directory=Tests

View File

@ -17,7 +17,7 @@
BlueprintIdentifier = "53761294155AB74D005750A4"
BuildableName = "SDWebImage iOS Demo.app"
BlueprintName = "SDWebImage iOS Demo"
ReferencedContainer = "container:Examples/SDWebImage Demo.xcodeproj">
ReferencedContainer = "container:SDWebImage Demo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@ -35,7 +35,7 @@
BlueprintIdentifier = "53761294155AB74D005750A4"
BuildableName = "SDWebImage iOS Demo.app"
BlueprintName = "SDWebImage iOS Demo"
ReferencedContainer = "container:Examples/SDWebImage Demo.xcodeproj">
ReferencedContainer = "container:SDWebImage Demo.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
@ -58,7 +58,7 @@
BlueprintIdentifier = "53761294155AB74D005750A4"
BuildableName = "SDWebImage iOS Demo.app"
BlueprintName = "SDWebImage iOS Demo"
ReferencedContainer = "container:Examples/SDWebImage Demo.xcodeproj">
ReferencedContainer = "container:SDWebImage Demo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<EnvironmentVariables>
@ -84,7 +84,7 @@
BlueprintIdentifier = "53761294155AB74D005750A4"
BuildableName = "SDWebImage iOS Demo.app"
BlueprintName = "SDWebImage iOS Demo"
ReferencedContainer = "container:Examples/SDWebImage Demo.xcodeproj">
ReferencedContainer = "container:SDWebImage Demo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>

View File

@ -163,10 +163,13 @@ pod 'SDWebImage/MapKit'
To install with carthage, follow the instruction on [Carthage](https://github.com/Carthage/Carthage)
#### Cartfile
```
github "rs/SDWebImage"
```
Carthage users can point to this repository and use whichever generated framework they'd like: SDWebImage, SDWebImageMapKit or both.
Make the following entry in your Cartfile: `github "rs/SDWebImage"`
Then run `carthage update`
If this is your first time using Carthage in the project, you'll need to go through some additional steps as explained [over at Carthage](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application).
> NOTE: At this time, Carthage does not provide a way to build only specific repository subcomponents (or equivalent of CocoaPods's subspecs). All components and their dependencies will be built with the above command. However, you don't need to copy frameworks you aren't using into your project. For instance, if you aren't using `SDWebImageMapKit`, feel free to delete that framework from the Carthage Build directory after `carthage update` completes.
### Installation by cloning the repository
- see [Manual install](https://raw.githubusercontent.com/rs/SDWebImage/master/Docs/ManualInstallation.md)

File diff suppressed because it is too large Load Diff

View File

@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "53761307155AD0D5005750A4"
BuildableName = "libSDWebImage iOS static.a"
BlueprintName = "SDWebImage iOS static"
BuildableName = "libSDWebImage static.a"
BlueprintName = "SDWebImage static"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -46,8 +46,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "53761307155AD0D5005750A4"
BuildableName = "libSDWebImage iOS static.a"
BlueprintName = "SDWebImage iOS static"
BuildableName = "libSDWebImage static.a"
BlueprintName = "SDWebImage static"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>

View File

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "00733A4B1BC487C000A5A117"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage tvOS"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "00733A4B1BC487C000A5A117"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage tvOS"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "00733A4B1BC487C000A5A117"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage tvOS"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4314D11B1D0E0E3B004B36C9"
BuildableName = "libSDWebImage watchOS static.a"
BlueprintName = "SDWebImage watchOS static"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4314D11B1D0E0E3B004B36C9"
BuildableName = "libSDWebImage watchOS static.a"
BlueprintName = "SDWebImage watchOS static"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4314D11B1D0E0E3B004B36C9"
BuildableName = "libSDWebImage watchOS static.a"
BlueprintName = "SDWebImage watchOS static"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "431BB6891D06D2C1006A3455"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage watchOS"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "431BB6891D06D2C1006A3455"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage watchOS"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "431BB6891D06D2C1006A3455"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage watchOS"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -16,7 +16,7 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "4A2CADFE1AB4BB5300B6BC39"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage iOS"
BlueprintName = "SDWebImage"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -47,7 +47,7 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "4A2CADFE1AB4BB5300B6BC39"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage iOS"
BlueprintName = "SDWebImage"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>
@ -65,7 +65,7 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "4A2CADFE1AB4BB5300B6BC39"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage iOS"
BlueprintName = "SDWebImage"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>

View File

@ -14,9 +14,9 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4397D2761D0DDD8C00BB2784"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage OSX"
BlueprintIdentifier = "80B6DF862142B71600BCB334"
BuildableName = "SDWebImageMapKit.framework"
BlueprintName = "SDWebImageMapKit"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -45,9 +45,9 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4397D2761D0DDD8C00BB2784"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage OSX"
BlueprintIdentifier = "80B6DF862142B71600BCB334"
BuildableName = "SDWebImageMapKit.framework"
BlueprintName = "SDWebImageMapKit"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>
@ -63,9 +63,9 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4397D2761D0DDD8C00BB2784"
BuildableName = "SDWebImage.framework"
BlueprintName = "SDWebImage OSX"
BlueprintIdentifier = "80B6DF862142B71600BCB334"
BuildableName = "SDWebImageMapKit.framework"
BlueprintName = "SDWebImageMapKit"
ReferencedContainer = "container:SDWebImage.xcodeproj">
</BuildableReference>
</MacroExpansion>

View File

@ -0,0 +1,21 @@
/*
* This file is part of the SDWebImage package.
* (c) Olivier Poitrey <rs@dailymotion.com>
* (c) Florent Vilmart
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
#import <MapKit/MapKit.h>
//! Project version number for WebImage.
FOUNDATION_EXPORT double WebImageMapKitVersionNumber;
//! Project version string for WebImage.
FOUNDATION_EXPORT const unsigned char WebImageMapKitVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <SDWebImageMapKit/PublicHeader.h>
// MapKit
#import <SDWebImageMapKit/MKAnnotationView+WebCache.h>