Skip to content

Commit 9cd6535

Browse files
committed
Support SwiftPM
1 parent f173266 commit 9cd6535

File tree

6 files changed

+74
-7
lines changed

6 files changed

+74
-7
lines changed

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,8 @@ fastlane/test_output
6464
# After new code Injection tools there's a generated folder /iOSInjectionProject
6565
# https://github.com/johnno1962/injectionforxcode
6666

67-
iOSInjectionProject/
67+
iOSInjectionProject/
68+
69+
# SwiftPM
70+
.swiftpm
71+
.build

Package.resolved

Lines changed: 25 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// swift-tools-version:5.0
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "SDWebImageWebPCoder",
8+
platforms: [
9+
.macOS(.v10_13), .iOS(.v8), .tvOS(.v10)
10+
],
11+
products: [
12+
// Products define the executables and libraries produced by a package, and make them visible to other packages.
13+
.library(
14+
name: "SDWebImageWebPCoder",
15+
targets: ["SDWebImageWebPCoder"]),
16+
],
17+
dependencies: [
18+
// Dependencies declare other packages that this package depends on.
19+
// .package(url: /* package url */, from: "1.0.0"),
20+
.package(url: "https://github.com/SDWebImage/SDWebImage.git", from: "5.1.0"),
21+
.package(url: "https://github.com/SDWebImage/libwebp-Xcode.git", from: Version(1, 1, 0, prereleaseIdentifiers: ["-rc.2"]))
22+
],
23+
targets: [
24+
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
25+
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
26+
.target(
27+
name: "SDWebImageWebPCoder",
28+
dependencies: ["SDWebImage", "libwebp"],
29+
path: ".",
30+
sources: ["SDWebImageWebPCoder/Classes"],
31+
publicHeadersPath: "SDWebImageWebPCoder/Classes"
32+
)
33+
]
34+
)

SDWebImageWebPCoder/Classes/SDImageWebPCoder.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
* file that was distributed with this source code.
77
*/
88

9+
#if __has_include(<SDWebImage/SDWebImage.h>)
910
#import <SDWebImage/SDWebImage.h>
11+
#else
12+
@import SDWebImage;
13+
#endif
1014

1115
/**
1216
Built in coder that supports WebP and animated WebP

SDWebImageWebPCoder/Classes/SDImageWebPCoder.m

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@
77
*/
88

99
#import "SDImageWebPCoder.h"
10-
#import <SDWebImage/SDImageCoderHelper.h>
11-
#if __has_include(<SDWebImage/NSImage+Compatibility.h>)
12-
#import <SDWebImage/NSImage+Compatibility.h>
13-
#endif
14-
#import <SDWebImage/UIImage+Metadata.h>
15-
#import <SDWebImage/UIImage+ForceDecode.h>
1610

1711
#if __has_include("webp/decode.h") && __has_include("webp/encode.h") && __has_include("webp/demux.h") && __has_include("webp/mux.h")
1812
#import "webp/decode.h"
@@ -24,6 +18,8 @@
2418
#import <libwebp/encode.h>
2519
#import <libwebp/demux.h>
2620
#import <libwebp/mux.h>
21+
#else
22+
@import libwebp;
2723
#endif
2824

2925
#import <Accelerate/Accelerate.h>

SDWebImageWebPCoder/Classes/UIImage+WebP.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
* file that was distributed with this source code.
77
*/
88

9+
#if __has_include(<SDWebImage/SDWebImage.h>)
910
#import <SDWebImage/SDWebImage.h>
11+
#else
12+
@import SDWebImage;
13+
#endif
1014

1115
// This category is just use as a convenience method. For more detail control, use methods in `UIImage+MultiFormat.h` or directlly use `SDImageCoder`
1216
@interface UIImage (WebP)

0 commit comments

Comments
 (0)