From ea89adeb45a10afc6dcbc705c663f3809d521250 Mon Sep 17 00:00:00 2001 From: DreamPiggy Date: Fri, 14 Jun 2019 17:47:24 +0800 Subject: [PATCH 1/3] Add support for Swift Package Manager --- Package.swift | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Package.swift diff --git a/Package.swift b/Package.swift new file mode 100644 index 00000000..cb7489c7 --- /dev/null +++ b/Package.swift @@ -0,0 +1,52 @@ +// swift-tools-version:5.0 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "SDWebImage", + platforms: [ + .macOS(.v10_10), + .iOS(.v8), + .tvOS(.v9), + .watchOS(.v2) + ], + products: [ + // Products define the executables and libraries produced by a package, and make them visible to other packages. + .library( + name: "SDWebImage", + targets: ["SDWebImage"]), + .library( + name: "SDWebImageMapKit", + targets: ["SDWebImageMapKit"]) + ], + dependencies: [ + // Dependencies declare other packages that this package depends on. + // .package(url: /* package url */, from: "1.0.0"), + ], + targets: [ + // Targets are the basic building blocks of a package. A target can define a module or a test suite. + // Targets can depend on other targets in this package, and on products in packages which this package depends on. + .target( + name: "SDWebImage", + dependencies: [], + path: "SDWebImage", + exclude: ["Private", "MapKit"], + cSettings: [ + .headerSearchPath("."), + .headerSearchPath("Private") + ] + ), + .target( + name: "SDWebImageMapKit", + dependencies: ["SDWebImage"], + path: "SDWebImage", + sources: ["MapKit/MKAnnotationView+WebCache.h", "MapKit/MKAnnotationView+WebCache.m"], + publicHeadersPath: "MapKit", + cSettings: [ + .headerSearchPath("."), + .headerSearchPath("Private") + ] + ) + ] +) From ddcf5d255de82d95001fd7f9171e4c2851d20de7 Mon Sep 17 00:00:00 2001 From: DreamPiggy Date: Fri, 14 Jun 2019 18:29:33 +0800 Subject: [PATCH 2/3] Add the SwiftPM build steps in travis-CI --- .gitignore | 3 +++ .travis.yml | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/.gitignore b/.gitignore index 5888fc63..8d02b18b 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,6 @@ DerivedData # Pods/ Podfile.lock + +# SwiftPM +.build \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index cff3cf52..381791dc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,6 +35,10 @@ script: - echo Check if the library described by the podspec can be built - pod lib lint --allow-warnings --skip-tests # Will run test below + - echo Build the SwiftPM + - swift build + - rm -rf ~/.build + - echo Build as static library - 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 From 72ec3ebd40807c5eb297147652220b0e41589a4c Mon Sep 17 00:00:00 2001 From: DreamPiggy Date: Fri, 14 Jun 2019 18:43:42 +0800 Subject: [PATCH 3/3] Update the SwiftPM declaration for MapKit --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index cb7489c7..34839d9c 100644 --- a/Package.swift +++ b/Package.swift @@ -41,7 +41,7 @@ let package = Package( name: "SDWebImageMapKit", dependencies: ["SDWebImage"], path: "SDWebImage", - sources: ["MapKit/MKAnnotationView+WebCache.h", "MapKit/MKAnnotationView+WebCache.m"], + sources: ["MapKit"], publicHeadersPath: "MapKit", cSettings: [ .headerSearchPath("."),