Skip to content

Commit 93fffb5

Browse files
committed
feat: add support for SPM
1 parent 2273cfb commit 93fffb5

21 files changed

+65
-824
lines changed

.gitignore

+8
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,16 @@ node_modules
55
# iOS files
66
Pods
77
Podfile.lock
8+
Package.resolved
89
Build
910
xcuserdata
11+
/.build
12+
/Packages
13+
xcuserdata/
14+
DerivedData/
15+
.swiftpm/configuration/registries.json
16+
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
17+
.netrc
1018

1119
# macOS files
1220
.DS_Store

CapacitorCommunityGenericOAuth2.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Pod::Spec.new do |s|
1010
s.homepage = package['repository']['url']
1111
s.author = package['author']
1212
s.source = { :git => package['repository']['url'], :tag => s.version.to_s }
13-
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
13+
s.source_files = 'ios/Sources/**/*.{swift,h,m,c,cc,mm,cpp}'
1414
s.ios.deployment_target = '13.0'
1515
s.dependency 'Capacitor'
1616
s.dependency 'OAuthSwift', '2.2.0'

Package.swift

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// swift-tools-version: 5.9
2+
import PackageDescription
3+
4+
let package = Package(
5+
name: "CapacitorCommunityGenericOauth2",
6+
platforms: [.iOS(.v13)],
7+
products: [
8+
.library(
9+
name: "CapacitorCommunityGenericOauth2",
10+
targets: ["GenericOAuth2Plugin"])
11+
],
12+
dependencies: [
13+
.package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "6.0.0"),
14+
.package(url: "https://github.com/OAuthSwift/OAuthSwift.git", from: "2.2.0")
15+
],
16+
targets: [
17+
.target(
18+
name: "GenericOAuth2Plugin",
19+
dependencies: [
20+
.product(name: "Capacitor", package: "capacitor-swift-pm"),
21+
.product(name: "Cordova", package: "capacitor-swift-pm"),
22+
.product(name: "OAuthSwift", package: "OAuthSwift")
23+
],
24+
path: "ios/Sources"
25+
),
26+
.testTarget(
27+
name: "GenericOAuth2PluginTests",
28+
dependencies: ["GenericOAuth2Plugin"],
29+
path: "ios/Tests"
30+
)
31+
]
32+
)

ios/.gitignore

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.DS_Store
2+
/.build
3+
/Packages
4+
xcuserdata/
5+
DerivedData/
6+
.swiftpm/configuration/registries.json
7+
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
8+
.netrc

ios/Plugin.xcodeproj/project.pbxproj

-581
This file was deleted.

ios/Plugin.xcodeproj/project.xcworkspace/contents.xcworkspacedata

-7
This file was deleted.

ios/Plugin.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

-8
This file was deleted.

ios/Plugin.xcodeproj/xcshareddata/xcschemes/Plugin.xcscheme

-77
This file was deleted.

ios/Plugin.xcodeproj/xcshareddata/xcschemes/PluginTests.xcscheme

-68
This file was deleted.

ios/Plugin.xcworkspace/contents.xcworkspacedata

-10
This file was deleted.

ios/Plugin.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

-8
This file was deleted.

ios/Plugin/GenericOAuth2Plugin.h

-10
This file was deleted.

ios/Plugin/GenericOAuth2Plugin.m

-10
This file was deleted.

ios/PluginTests/Info.plist

-22
This file was deleted.

ios/Podfile

-17
This file was deleted.

ios/Plugin/GenericOAuth2Plugin.swift renamed to ios/Sources/GenericOAuth2Plugin.swift

+11-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@ typealias JSObject = [String: Any]
1111
* here: https://capacitorjs.com/docs/plugins/ios
1212
*/
1313
@objc(GenericOAuth2Plugin)
14-
public class GenericOAuth2Plugin: CAPPlugin {
15-
14+
public class GenericOAuth2Plugin: CAPPlugin, CAPBridgedPlugin {
15+
16+
public let identifier = "GenericOAuth2Plugin"
17+
public let jsName = "GenericOAuth2"
18+
19+
public let pluginMethods: [CAPPluginMethod] = [
20+
CAPPluginMethod(name: "refreshToken", returnType: CAPPluginReturnPromise),
21+
CAPPluginMethod(name: "authenticate", returnType: CAPPluginReturnPromise),
22+
CAPPluginMethod(name: "logout", returnType: CAPPluginReturnPromise),
23+
]
24+
1625
var savedPluginCall: CAPPluginCall?
1726

1827
let JSON_KEY_ACCESS_TOKEN = "access_token"
File renamed without changes.

ios/PluginTests/GenericOAuth2Tests.swift renamed to ios/Tests/GenericOAuth2PluginTests.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import XCTest
22
@testable import Plugin
33

4-
class GenericOAuth2Tests: XCTestCase {
4+
class GenericOAuth2PluginTests: XCTestCase {
55
override func setUp() {
66
super.setUp()
77
// Put setup code here. This method is called before the invocation of each test method in the class.

package.json

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
"android/src/main/",
1111
"android/build.gradle",
1212
"dist/",
13-
"ios/Plugin/",
13+
"ios/Sources",
14+
"ios/Tests",
15+
"Package.swift",
1416
"CapacitorCommunityGenericOAuth2.podspec"
1517
],
1618
"author": "",
@@ -31,7 +33,7 @@
3133
],
3234
"scripts": {
3335
"verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
34-
"verify:ios": "cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..",
36+
"verify:ios": "xcodebuild build -scheme CapacitorCommunityGenericOAuth2 -destination generic/platform=iOS",
3537
"verify:android": "cd android && ./gradlew clean build test && cd ..",
3638
"verify:web": "npm run build",
3739
"lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",

0 commit comments

Comments
 (0)