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 diff --git a/Package.swift b/Package.swift new file mode 100644 index 00000000..34839d9c --- /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"], + publicHeadersPath: "MapKit", + cSettings: [ + .headerSearchPath("."), + .headerSearchPath("Private") + ] + ) + ] +)