From 7a96257a1f99ff5a07f03752dc6ca59703e26c1f Mon Sep 17 00:00:00 2001 From: Nunzio Giulio Caggegi Date: Mon, 5 May 2025 11:26:32 +0200 Subject: [PATCH] Fixes SPM support --- Package.swift | 29 +++++++++++------- .../NSURLSessionConfiguration+Wormholy.m | 7 +++-- .../WormholyConstructor.m | 0 .../WormholyMethodSwizzling.m | 0 .../NSURLSessionConfiguration+Wormholy.h | 0 Sources/{ => WormholyObjC/include}/Wormholy.h | 0 .../include}/WormholyMethodSwizzling.h | 0 Sources/{ => WormholyObjC}/module.modulemap | 0 .../CustomHTTPProtocol.swift | 0 .../Models/Postman/Postman.swift | 0 .../Postman/Postman_demo_collection.json | 0 .../Models/RequestModel.swift | 0 .../{ => WormholySwift}/Models/Section.swift | 0 Sources/{ => WormholySwift}/Storage.swift | 0 .../Subclasses/CustomActivity.swift | 0 .../Subclasses/WHBaseViewController.swift | 0 .../Subclasses/WHBundle.swift | 0 .../Subclasses/WHCollectionView.swift | 0 .../Subclasses/WHDate.swift | 0 .../Subclasses/WHLabel.swift | 0 .../Subclasses/WHNavigationController.swift | 0 .../Subclasses/WHString.swift | 0 .../Subclasses/WHTableView.swift | 0 .../Subclasses/WHTextView.swift | 0 .../Subclasses/WHView.swift | 0 .../Assets.xcassets/Contents.json | 0 .../activity_icon.imageset/Contents.json | 0 .../activity_icon.imageset/black-hole.pdf | Bin .../Support Files/Colors.swift | 0 .../Support Files/Config.swift | 0 .../UI/BodyDetailViewController.swift | 0 .../UI/Cells/ActionableTableViewCell.swift | 0 .../UI/Cells/ActionableTableViewCell.xib | 0 .../UI/Cells/RequestCell.swift | 0 .../UI/Cells/RequestCell.xib | 0 .../UI/Cells/TextTableViewCell.swift | 0 .../UI/Cells/TextTableViewCell.xib | 0 .../{ => WormholySwift}/UI/Flow.storyboard | 0 .../UI/RequestDetailViewController.swift | 0 .../UI/RequestsViewController.swift | 0 .../UI/Sections/RequestTitleSectionView.swift | 0 .../UI/Sections/RequestTitleSectionView.xib | 0 .../Utils/FileHandler.swift | 0 .../Utils/InputStream+Utils.swift | 0 .../Utils/RequestModelBeautifier.swift | 0 .../Utils/RequestResponseExportOption.swift | 0 .../Utils/ShareUtils.swift | 1 + Sources/{ => WormholySwift}/Wormholy.swift | 0 Tests/WormholyTests/WormholyTests.swift | 1 - 49 files changed, 23 insertions(+), 15 deletions(-) rename Sources/{Objc => WormholyObjC}/NSURLSessionConfiguration+Wormholy.m (96%) rename Sources/{Objc => WormholyObjC}/WormholyConstructor.m (100%) rename Sources/{Objc => WormholyObjC}/WormholyMethodSwizzling.m (100%) rename Sources/{Objc => WormholyObjC/include}/NSURLSessionConfiguration+Wormholy.h (100%) rename Sources/{ => WormholyObjC/include}/Wormholy.h (100%) rename Sources/{Objc => WormholyObjC/include}/WormholyMethodSwizzling.h (100%) rename Sources/{ => WormholyObjC}/module.modulemap (100%) rename Sources/{ => WormholySwift}/CustomHTTPProtocol.swift (100%) rename Sources/{ => WormholySwift}/Models/Postman/Postman.swift (100%) rename Sources/{ => WormholySwift}/Models/Postman/Postman_demo_collection.json (100%) rename Sources/{ => WormholySwift}/Models/RequestModel.swift (100%) rename Sources/{ => WormholySwift}/Models/Section.swift (100%) rename Sources/{ => WormholySwift}/Storage.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/CustomActivity.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/WHBaseViewController.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/WHBundle.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/WHCollectionView.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/WHDate.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/WHLabel.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/WHNavigationController.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/WHString.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/WHTableView.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/WHTextView.swift (100%) rename Sources/{ => WormholySwift}/Subclasses/WHView.swift (100%) rename Sources/{ => WormholySwift}/Support Files/Assets.xcassets/Contents.json (100%) rename Sources/{ => WormholySwift}/Support Files/Assets.xcassets/activity_icon.imageset/Contents.json (100%) rename Sources/{ => WormholySwift}/Support Files/Assets.xcassets/activity_icon.imageset/black-hole.pdf (100%) rename Sources/{ => WormholySwift}/Support Files/Colors.swift (100%) rename Sources/{ => WormholySwift}/Support Files/Config.swift (100%) rename Sources/{ => WormholySwift}/UI/BodyDetailViewController.swift (100%) rename Sources/{ => WormholySwift}/UI/Cells/ActionableTableViewCell.swift (100%) rename Sources/{ => WormholySwift}/UI/Cells/ActionableTableViewCell.xib (100%) rename Sources/{ => WormholySwift}/UI/Cells/RequestCell.swift (100%) rename Sources/{ => WormholySwift}/UI/Cells/RequestCell.xib (100%) rename Sources/{ => WormholySwift}/UI/Cells/TextTableViewCell.swift (100%) rename Sources/{ => WormholySwift}/UI/Cells/TextTableViewCell.xib (100%) rename Sources/{ => WormholySwift}/UI/Flow.storyboard (100%) rename Sources/{ => WormholySwift}/UI/RequestDetailViewController.swift (100%) rename Sources/{ => WormholySwift}/UI/RequestsViewController.swift (100%) rename Sources/{ => WormholySwift}/UI/Sections/RequestTitleSectionView.swift (100%) rename Sources/{ => WormholySwift}/UI/Sections/RequestTitleSectionView.xib (100%) rename Sources/{ => WormholySwift}/Utils/FileHandler.swift (100%) rename Sources/{ => WormholySwift}/Utils/InputStream+Utils.swift (100%) rename Sources/{ => WormholySwift}/Utils/RequestModelBeautifier.swift (100%) rename Sources/{ => WormholySwift}/Utils/RequestResponseExportOption.swift (100%) rename Sources/{ => WormholySwift}/Utils/ShareUtils.swift (99%) rename Sources/{ => WormholySwift}/Wormholy.swift (100%) diff --git a/Package.swift b/Package.swift index 53acb38..fcc7d36 100644 --- a/Package.swift +++ b/Package.swift @@ -1,28 +1,35 @@ -// swift-tools-version:4.0 -// The swift-tools-version declares the minimum version of Swift required to build this package. +// swift-tools-version:5.7 import PackageDescription let package = Package( name: "Wormholy", + platforms: [.iOS(.v11)], products: [ - // Products define the executables and libraries produced by a package, and make them visible to other packages. .library( name: "Wormholy", - targets: ["Wormholy"]), + targets: ["WormholySwift", "WormholyObjC"]), ], 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: "Wormholy", - dependencies: []), + name: "WormholySwift", + dependencies: [], + resources: [ + .process("Support Files/Assets.xcassets") + ] + ), + .target( + name: "WormholyObjC", + dependencies: [ + "WormholySwift" + ]), .testTarget( name: "WormholyTests", - dependencies: ["Wormholy"]), + dependencies: [ + "WormholySwift", + "WormholyObjC" + ]), ] ) diff --git a/Sources/Objc/NSURLSessionConfiguration+Wormholy.m b/Sources/WormholyObjC/NSURLSessionConfiguration+Wormholy.m similarity index 96% rename from Sources/Objc/NSURLSessionConfiguration+Wormholy.m rename to Sources/WormholyObjC/NSURLSessionConfiguration+Wormholy.m index eb565bb..cd13f1d 100644 --- a/Sources/Objc/NSURLSessionConfiguration+Wormholy.m +++ b/Sources/WormholyObjC/NSURLSessionConfiguration+Wormholy.m @@ -8,10 +8,11 @@ #import "NSURLSessionConfiguration+Wormholy.h" #import "WormholyMethodSwizzling.h" -#if __has_include() -#import + +#if SWIFT_PACKAGE +@import WormholySwift; #else -#import "Wormholy-Swift.h" +#import #endif typedef NSURLSessionConfiguration*(*SessionConfigConstructor)(id,SEL); diff --git a/Sources/Objc/WormholyConstructor.m b/Sources/WormholyObjC/WormholyConstructor.m similarity index 100% rename from Sources/Objc/WormholyConstructor.m rename to Sources/WormholyObjC/WormholyConstructor.m diff --git a/Sources/Objc/WormholyMethodSwizzling.m b/Sources/WormholyObjC/WormholyMethodSwizzling.m similarity index 100% rename from Sources/Objc/WormholyMethodSwizzling.m rename to Sources/WormholyObjC/WormholyMethodSwizzling.m diff --git a/Sources/Objc/NSURLSessionConfiguration+Wormholy.h b/Sources/WormholyObjC/include/NSURLSessionConfiguration+Wormholy.h similarity index 100% rename from Sources/Objc/NSURLSessionConfiguration+Wormholy.h rename to Sources/WormholyObjC/include/NSURLSessionConfiguration+Wormholy.h diff --git a/Sources/Wormholy.h b/Sources/WormholyObjC/include/Wormholy.h similarity index 100% rename from Sources/Wormholy.h rename to Sources/WormholyObjC/include/Wormholy.h diff --git a/Sources/Objc/WormholyMethodSwizzling.h b/Sources/WormholyObjC/include/WormholyMethodSwizzling.h similarity index 100% rename from Sources/Objc/WormholyMethodSwizzling.h rename to Sources/WormholyObjC/include/WormholyMethodSwizzling.h diff --git a/Sources/module.modulemap b/Sources/WormholyObjC/module.modulemap similarity index 100% rename from Sources/module.modulemap rename to Sources/WormholyObjC/module.modulemap diff --git a/Sources/CustomHTTPProtocol.swift b/Sources/WormholySwift/CustomHTTPProtocol.swift similarity index 100% rename from Sources/CustomHTTPProtocol.swift rename to Sources/WormholySwift/CustomHTTPProtocol.swift diff --git a/Sources/Models/Postman/Postman.swift b/Sources/WormholySwift/Models/Postman/Postman.swift similarity index 100% rename from Sources/Models/Postman/Postman.swift rename to Sources/WormholySwift/Models/Postman/Postman.swift diff --git a/Sources/Models/Postman/Postman_demo_collection.json b/Sources/WormholySwift/Models/Postman/Postman_demo_collection.json similarity index 100% rename from Sources/Models/Postman/Postman_demo_collection.json rename to Sources/WormholySwift/Models/Postman/Postman_demo_collection.json diff --git a/Sources/Models/RequestModel.swift b/Sources/WormholySwift/Models/RequestModel.swift similarity index 100% rename from Sources/Models/RequestModel.swift rename to Sources/WormholySwift/Models/RequestModel.swift diff --git a/Sources/Models/Section.swift b/Sources/WormholySwift/Models/Section.swift similarity index 100% rename from Sources/Models/Section.swift rename to Sources/WormholySwift/Models/Section.swift diff --git a/Sources/Storage.swift b/Sources/WormholySwift/Storage.swift similarity index 100% rename from Sources/Storage.swift rename to Sources/WormholySwift/Storage.swift diff --git a/Sources/Subclasses/CustomActivity.swift b/Sources/WormholySwift/Subclasses/CustomActivity.swift similarity index 100% rename from Sources/Subclasses/CustomActivity.swift rename to Sources/WormholySwift/Subclasses/CustomActivity.swift diff --git a/Sources/Subclasses/WHBaseViewController.swift b/Sources/WormholySwift/Subclasses/WHBaseViewController.swift similarity index 100% rename from Sources/Subclasses/WHBaseViewController.swift rename to Sources/WormholySwift/Subclasses/WHBaseViewController.swift diff --git a/Sources/Subclasses/WHBundle.swift b/Sources/WormholySwift/Subclasses/WHBundle.swift similarity index 100% rename from Sources/Subclasses/WHBundle.swift rename to Sources/WormholySwift/Subclasses/WHBundle.swift diff --git a/Sources/Subclasses/WHCollectionView.swift b/Sources/WormholySwift/Subclasses/WHCollectionView.swift similarity index 100% rename from Sources/Subclasses/WHCollectionView.swift rename to Sources/WormholySwift/Subclasses/WHCollectionView.swift diff --git a/Sources/Subclasses/WHDate.swift b/Sources/WormholySwift/Subclasses/WHDate.swift similarity index 100% rename from Sources/Subclasses/WHDate.swift rename to Sources/WormholySwift/Subclasses/WHDate.swift diff --git a/Sources/Subclasses/WHLabel.swift b/Sources/WormholySwift/Subclasses/WHLabel.swift similarity index 100% rename from Sources/Subclasses/WHLabel.swift rename to Sources/WormholySwift/Subclasses/WHLabel.swift diff --git a/Sources/Subclasses/WHNavigationController.swift b/Sources/WormholySwift/Subclasses/WHNavigationController.swift similarity index 100% rename from Sources/Subclasses/WHNavigationController.swift rename to Sources/WormholySwift/Subclasses/WHNavigationController.swift diff --git a/Sources/Subclasses/WHString.swift b/Sources/WormholySwift/Subclasses/WHString.swift similarity index 100% rename from Sources/Subclasses/WHString.swift rename to Sources/WormholySwift/Subclasses/WHString.swift diff --git a/Sources/Subclasses/WHTableView.swift b/Sources/WormholySwift/Subclasses/WHTableView.swift similarity index 100% rename from Sources/Subclasses/WHTableView.swift rename to Sources/WormholySwift/Subclasses/WHTableView.swift diff --git a/Sources/Subclasses/WHTextView.swift b/Sources/WormholySwift/Subclasses/WHTextView.swift similarity index 100% rename from Sources/Subclasses/WHTextView.swift rename to Sources/WormholySwift/Subclasses/WHTextView.swift diff --git a/Sources/Subclasses/WHView.swift b/Sources/WormholySwift/Subclasses/WHView.swift similarity index 100% rename from Sources/Subclasses/WHView.swift rename to Sources/WormholySwift/Subclasses/WHView.swift diff --git a/Sources/Support Files/Assets.xcassets/Contents.json b/Sources/WormholySwift/Support Files/Assets.xcassets/Contents.json similarity index 100% rename from Sources/Support Files/Assets.xcassets/Contents.json rename to Sources/WormholySwift/Support Files/Assets.xcassets/Contents.json diff --git a/Sources/Support Files/Assets.xcassets/activity_icon.imageset/Contents.json b/Sources/WormholySwift/Support Files/Assets.xcassets/activity_icon.imageset/Contents.json similarity index 100% rename from Sources/Support Files/Assets.xcassets/activity_icon.imageset/Contents.json rename to Sources/WormholySwift/Support Files/Assets.xcassets/activity_icon.imageset/Contents.json diff --git a/Sources/Support Files/Assets.xcassets/activity_icon.imageset/black-hole.pdf b/Sources/WormholySwift/Support Files/Assets.xcassets/activity_icon.imageset/black-hole.pdf similarity index 100% rename from Sources/Support Files/Assets.xcassets/activity_icon.imageset/black-hole.pdf rename to Sources/WormholySwift/Support Files/Assets.xcassets/activity_icon.imageset/black-hole.pdf diff --git a/Sources/Support Files/Colors.swift b/Sources/WormholySwift/Support Files/Colors.swift similarity index 100% rename from Sources/Support Files/Colors.swift rename to Sources/WormholySwift/Support Files/Colors.swift diff --git a/Sources/Support Files/Config.swift b/Sources/WormholySwift/Support Files/Config.swift similarity index 100% rename from Sources/Support Files/Config.swift rename to Sources/WormholySwift/Support Files/Config.swift diff --git a/Sources/UI/BodyDetailViewController.swift b/Sources/WormholySwift/UI/BodyDetailViewController.swift similarity index 100% rename from Sources/UI/BodyDetailViewController.swift rename to Sources/WormholySwift/UI/BodyDetailViewController.swift diff --git a/Sources/UI/Cells/ActionableTableViewCell.swift b/Sources/WormholySwift/UI/Cells/ActionableTableViewCell.swift similarity index 100% rename from Sources/UI/Cells/ActionableTableViewCell.swift rename to Sources/WormholySwift/UI/Cells/ActionableTableViewCell.swift diff --git a/Sources/UI/Cells/ActionableTableViewCell.xib b/Sources/WormholySwift/UI/Cells/ActionableTableViewCell.xib similarity index 100% rename from Sources/UI/Cells/ActionableTableViewCell.xib rename to Sources/WormholySwift/UI/Cells/ActionableTableViewCell.xib diff --git a/Sources/UI/Cells/RequestCell.swift b/Sources/WormholySwift/UI/Cells/RequestCell.swift similarity index 100% rename from Sources/UI/Cells/RequestCell.swift rename to Sources/WormholySwift/UI/Cells/RequestCell.swift diff --git a/Sources/UI/Cells/RequestCell.xib b/Sources/WormholySwift/UI/Cells/RequestCell.xib similarity index 100% rename from Sources/UI/Cells/RequestCell.xib rename to Sources/WormholySwift/UI/Cells/RequestCell.xib diff --git a/Sources/UI/Cells/TextTableViewCell.swift b/Sources/WormholySwift/UI/Cells/TextTableViewCell.swift similarity index 100% rename from Sources/UI/Cells/TextTableViewCell.swift rename to Sources/WormholySwift/UI/Cells/TextTableViewCell.swift diff --git a/Sources/UI/Cells/TextTableViewCell.xib b/Sources/WormholySwift/UI/Cells/TextTableViewCell.xib similarity index 100% rename from Sources/UI/Cells/TextTableViewCell.xib rename to Sources/WormholySwift/UI/Cells/TextTableViewCell.xib diff --git a/Sources/UI/Flow.storyboard b/Sources/WormholySwift/UI/Flow.storyboard similarity index 100% rename from Sources/UI/Flow.storyboard rename to Sources/WormholySwift/UI/Flow.storyboard diff --git a/Sources/UI/RequestDetailViewController.swift b/Sources/WormholySwift/UI/RequestDetailViewController.swift similarity index 100% rename from Sources/UI/RequestDetailViewController.swift rename to Sources/WormholySwift/UI/RequestDetailViewController.swift diff --git a/Sources/UI/RequestsViewController.swift b/Sources/WormholySwift/UI/RequestsViewController.swift similarity index 100% rename from Sources/UI/RequestsViewController.swift rename to Sources/WormholySwift/UI/RequestsViewController.swift diff --git a/Sources/UI/Sections/RequestTitleSectionView.swift b/Sources/WormholySwift/UI/Sections/RequestTitleSectionView.swift similarity index 100% rename from Sources/UI/Sections/RequestTitleSectionView.swift rename to Sources/WormholySwift/UI/Sections/RequestTitleSectionView.swift diff --git a/Sources/UI/Sections/RequestTitleSectionView.xib b/Sources/WormholySwift/UI/Sections/RequestTitleSectionView.xib similarity index 100% rename from Sources/UI/Sections/RequestTitleSectionView.xib rename to Sources/WormholySwift/UI/Sections/RequestTitleSectionView.xib diff --git a/Sources/Utils/FileHandler.swift b/Sources/WormholySwift/Utils/FileHandler.swift similarity index 100% rename from Sources/Utils/FileHandler.swift rename to Sources/WormholySwift/Utils/FileHandler.swift diff --git a/Sources/Utils/InputStream+Utils.swift b/Sources/WormholySwift/Utils/InputStream+Utils.swift similarity index 100% rename from Sources/Utils/InputStream+Utils.swift rename to Sources/WormholySwift/Utils/InputStream+Utils.swift diff --git a/Sources/Utils/RequestModelBeautifier.swift b/Sources/WormholySwift/Utils/RequestModelBeautifier.swift similarity index 100% rename from Sources/Utils/RequestModelBeautifier.swift rename to Sources/WormholySwift/Utils/RequestModelBeautifier.swift diff --git a/Sources/Utils/RequestResponseExportOption.swift b/Sources/WormholySwift/Utils/RequestResponseExportOption.swift similarity index 100% rename from Sources/Utils/RequestResponseExportOption.swift rename to Sources/WormholySwift/Utils/RequestResponseExportOption.swift diff --git a/Sources/Utils/ShareUtils.swift b/Sources/WormholySwift/Utils/ShareUtils.swift similarity index 99% rename from Sources/Utils/ShareUtils.swift rename to Sources/WormholySwift/Utils/ShareUtils.swift index 2116bfd..0f4221d 100644 --- a/Sources/Utils/ShareUtils.swift +++ b/Sources/WormholySwift/Utils/ShareUtils.swift @@ -7,6 +7,7 @@ // import Foundation +import UIKit final class ShareUtils { diff --git a/Sources/Wormholy.swift b/Sources/WormholySwift/Wormholy.swift similarity index 100% rename from Sources/Wormholy.swift rename to Sources/WormholySwift/Wormholy.swift diff --git a/Tests/WormholyTests/WormholyTests.swift b/Tests/WormholyTests/WormholyTests.swift index 267df6a..52f718c 100644 --- a/Tests/WormholyTests/WormholyTests.swift +++ b/Tests/WormholyTests/WormholyTests.swift @@ -8,7 +8,6 @@ import Foundation import XCTest -import Wormholy class WormholyTests: XCTestCase { func testExample() {