From 4962c32109209e159c90bbe93752ba4971ab56fe Mon Sep 17 00:00:00 2001 From: Ruslan Filistovich Date: Sat, 23 Apr 2022 12:40:53 +0300 Subject: [PATCH] BanubaVideoEditorSPM --- Package.resolved | 178 ++++++++++++++++++ Package.swift | 174 +++++++++++++++++ Sources/BNBLicenseUtilsPackage/File.swift | 8 + Sources/BanubaARCloudSDKPackage/File.swift | 8 + .../BanubaAudioBrowserSDKPackage/File.swift | 8 + Sources/BanubaEffectPlayerPackage/File.swift | 8 + .../File.swift | 8 + .../BanubaMusicEditorSDKPackage/File.swift | 8 + .../BanubaOverlayEditorSDKPackage/File.swift | 8 + Sources/BanubaSDKPackage/File.swift | 8 + Sources/BanubaSDKServicingPackage/File.swift | 8 + Sources/BanubaSDKSimplePackage/File.swift | 8 + .../BanubaTokenStorageSDKPackage/File.swift | 8 + Sources/BanubaUtilitiesPackage/File.swift | 8 + .../File.swift | 8 + .../BanubaVideoEditorSDKPackage/File.swift | 8 + Sources/BanubaVideoEditorSPM/main.swift | 1 + .../File.swift | 8 + Sources/VEEffectsSDKPackage/File.swift | 8 + Sources/VEExportSDKPackage/File.swift | 8 + Sources/VEPlaybackSDKPackage/File.swift | 8 + Sources/VideoEditorPackage/File.swift | 8 + .../BanubaVideoEditorSPMTests.swift | 47 +++++ 23 files changed, 552 insertions(+) create mode 100644 Package.resolved create mode 100644 Package.swift create mode 100644 Sources/BNBLicenseUtilsPackage/File.swift create mode 100644 Sources/BanubaARCloudSDKPackage/File.swift create mode 100644 Sources/BanubaAudioBrowserSDKPackage/File.swift create mode 100644 Sources/BanubaEffectPlayerPackage/File.swift create mode 100644 Sources/BanubaLicenseServicingSDKPackage/File.swift create mode 100644 Sources/BanubaMusicEditorSDKPackage/File.swift create mode 100644 Sources/BanubaOverlayEditorSDKPackage/File.swift create mode 100644 Sources/BanubaSDKPackage/File.swift create mode 100644 Sources/BanubaSDKServicingPackage/File.swift create mode 100644 Sources/BanubaSDKSimplePackage/File.swift create mode 100644 Sources/BanubaTokenStorageSDKPackage/File.swift create mode 100644 Sources/BanubaUtilitiesPackage/File.swift create mode 100644 Sources/BanubaVideoEditorGallerySDKPackage/File.swift create mode 100644 Sources/BanubaVideoEditorSDKPackage/File.swift create mode 100644 Sources/BanubaVideoEditorSPM/main.swift create mode 100644 Sources/BanubaVideoEditorTrimSDKPackage/File.swift create mode 100644 Sources/VEEffectsSDKPackage/File.swift create mode 100644 Sources/VEExportSDKPackage/File.swift create mode 100644 Sources/VEPlaybackSDKPackage/File.swift create mode 100644 Sources/VideoEditorPackage/File.swift create mode 100644 Tests/BanubaVideoEditorSPMTests/BanubaVideoEditorSPMTests.swift diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..dab1963 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,178 @@ +{ + "object": { + "pins": [ + { + "package": "BanubaARCloudSDK", + "repositoryURL": "https://github.com/Banuba/BanubaARCloudSDK-IOS.git", + "state": { + "branch": null, + "revision": "391ef20f95fd2377bcbfa0fa0b2c2e93c06c7722", + "version": "1.22.0" + } + }, + { + "package": "BanubaAudioBrowserSDK", + "repositoryURL": "https://github.com/Banuba/BanubaAudioBrowserSDK-iOS.git", + "state": { + "branch": null, + "revision": "ea5d0186cc320a8caf42baa75d118a5d86e4cde7", + "version": "1.22.0" + } + }, + { + "package": "BanubaEffectPlayer", + "repositoryURL": "https://github.com/Banuba/BanubaEffectPlayer-iOS.git", + "state": { + "branch": null, + "revision": "058e906e45072669af05475e59450fd86878854f", + "version": "1.22.0" + } + }, + { + "package": "BanubaLicenseServicingSDK", + "repositoryURL": "https://github.com/Banuba/BanubaLicenseServicingSDK.git", + "state": { + "branch": null, + "revision": "959f3c0dab9a01d623e0b854f6952382b9b04d5d", + "version": "1.22.0" + } + }, + { + "package": "BanubaMusicEditorSDK", + "repositoryURL": "https://github.com/Banuba/BanubaMusicEditorSDK-iOS.git", + "state": { + "branch": null, + "revision": "adf8c8226d209c531e4fbdf6a5d9e3bce91023f4", + "version": "1.22.0" + } + }, + { + "package": "BanubaOverlayEditorSDK", + "repositoryURL": "https://github.com/Banuba/BanubaOverlayEditorSDK-iOS.git", + "state": { + "branch": null, + "revision": "300ed0eeed2f6d11e3e306212e201a01b10cbcde", + "version": "1.22.0" + } + }, + { + "package": "BanubaSdk", + "repositoryURL": "https://github.com/Banuba/BanubaSDK-iOS.git", + "state": { + "branch": null, + "revision": "642cbde115cbb7a381e57fe75501a71664f03692", + "version": "1.22.0" + } + }, + { + "package": "BanubaSDKServicing", + "repositoryURL": "https://github.com/Banuba/BanubaSDKServicing-iOS.git", + "state": { + "branch": null, + "revision": "20e5a097fe9a4edae50a6c8f2e314af756c54c92", + "version": "1.22.0" + } + }, + { + "package": "BanubaSdkSimple", + "repositoryURL": "https://github.com/Banuba/BanubaSDKSimple-IOS.git", + "state": { + "branch": null, + "revision": "3aa31b4be5ba584be5e1518f976a039e81d32166", + "version": "1.22.0" + } + }, + { + "package": "BanubaTokenStorageSDK", + "repositoryURL": "https://github.com/Banuba/BanubaTokenStorageSDK-iOS.git", + "state": { + "branch": null, + "revision": "4cd1855ba23d723509c5a1219cd60bec02300615", + "version": "1.22.0" + } + }, + { + "package": "BanubaUtilities", + "repositoryURL": "https://github.com/Banuba/BanubaUtilities-iOS.git", + "state": { + "branch": null, + "revision": "cd7fe743102dd3d7b620f27cd0c69855807525ab", + "version": "1.22.0" + } + }, + { + "package": "BanubaVideoEditorGallerySDK", + "repositoryURL": "https://github.com/Banuba/BanubaVideoEditorGallerySDK.git", + "state": { + "branch": null, + "revision": "e6f308ebdab5c6e33b0f1dddb7365b51fd3b3d6a", + "version": "1.22.0" + } + }, + { + "package": "BanubaVideoEditorSDK", + "repositoryURL": "https://github.com/Banuba/BanubaVideoEditorSDK-iOS.git", + "state": { + "branch": null, + "revision": "ca76e6df122cdd8351715a9ec1b796880edf1586", + "version": "1.22.0" + } + }, + { + "package": "BanubaVideoEditorTrimSDK", + "repositoryURL": "https://github.com/Banuba/BanubaVideoEditorTrimSDK-iOS.git", + "state": { + "branch": null, + "revision": "656d9949c5832d2f9680106631e90d8554babbfa", + "version": "1.22.0" + } + }, + { + "package": "BNBLicenseUtils", + "repositoryURL": "https://github.com/Banuba/BNBLicenseUtils-iOS.git", + "state": { + "branch": null, + "revision": "8e9ebb9c24ab9a3f1b91d16f161fe8d9c136e33c", + "version": "1.22.0" + } + }, + { + "package": "VEEffectsSDK", + "repositoryURL": "https://github.com/Banuba/VEEffectsSDK-iOS.git", + "state": { + "branch": null, + "revision": "4497a5b3b1091c5f9e3fa13da29a713497290cb7", + "version": "1.22.0" + } + }, + { + "package": "VEExportSDK", + "repositoryURL": "https://github.com/Banuba/VEExportSDK-iOS.git", + "state": { + "branch": null, + "revision": "be07eb7006503f89e8b1b48cc6ed1e0411de2374", + "version": "1.22.0" + } + }, + { + "package": "VEPlaybackSDK", + "repositoryURL": "https://github.com/Banuba/VEPlaybackSDK-iOS.git", + "state": { + "branch": null, + "revision": "5339c8591b0e706d85e871a3d719f93770acd206", + "version": "1.22.0" + } + }, + { + "package": "VideoEditor", + "repositoryURL": "https://github.com/Banuba/VideoEditor-iOS.git", + "state": { + "branch": null, + "revision": "25155d21bb4b6203aa946db88230d7203d5b6246", + "version": "1.22.0" + } + } + ] + }, + "version": 1 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..b0b50f2 --- /dev/null +++ b/Package.swift @@ -0,0 +1,174 @@ + + // swift-tools-version:5.5 + // The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "BanubaVideoEditorSPM", + platforms: [.iOS(.v11)], + products: [ + .library(name: "BanubaVideoEditorSPM", targets: [ + "BanubaMusicEditorSDKPackage", + "BanubaVideoEditorSDKPackage", + "BanubaOverlayEditorSDKPackage", + "BanubaSDKServicingPackage", + "VideoEditorPackage", + "BanubaUtilitiesPackage", + "BanubaLicenseServicingSDKPackage", + "BanubaTokenStorageSDKPackage", + "BNBLicenseUtilsPackage", + "BanubaARCloudSDKPackage", + "BanubaAudioBrowserSDKPackage", + "BanubaVideoEditorGallerySDKPackage", + "BanubaEffectPlayerPackage", + "BanubaSDKPackage", + "BanubaVideoEditorTrimSDKPackage", + "BanubaSDKSimplePackage", + "VEPlaybackSDKPackage", + "VEEffectsSDKPackage", + "VEExportSDKPackage" + ]), + ], + + dependencies: [ + .package(url: "https://github.com/Banuba/VEEffectsSDK-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaOverlayEditorSDK-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaLicenseServicingSDK.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaVideoEditorSDK-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaMusicEditorSDK-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaSDKServicing-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaUtilities-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BNBLicenseUtils-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/VideoEditor-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaSDK-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaSDKSimple-IOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaARCloudSDK-IOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaEffectPlayer-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaAudioBrowserSDK-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaTokenStorageSDK-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaVideoEditorGallerySDK.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/BanubaVideoEditorTrimSDK-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/VEPlaybackSDK-iOS.git", .exact("1.22.0")), + .package(url: "https://github.com/Banuba/VEExportSDK-iOS.git", .exact("1.22.0")) + ], + targets: [ + .target( + name: "BanubaMusicEditorSDKPackage", + dependencies: [ + .product(name: "BanubaMusicEditorSDK", package: "BanubaMusicEditorSDK-iOS"), + ]), + + .target( + name: "BanubaVideoEditorSDKPackage", + dependencies: [ + .product(name: "BanubaVideoEditorSDK", package: "BanubaVideoEditorSDK-iOS"), + ]), + + .target( + name: "BanubaOverlayEditorSDKPackage", + dependencies: [ + .product(name: "BanubaOverlayEditorSDK", package: "BanubaOverlayEditorSDK-iOS"), + ]), + + .target( + name: "BanubaSDKServicingPackage", + dependencies: [ + .product(name: "BanubaSDKServicing", package: "BanubaSDKServicing-iOS"), + ]), + + .target( + name: "VideoEditorPackage", + dependencies: [ + .product(name: "VideoEditor", package: "VideoEditor-iOS") + ]), + + .target( + name: "BanubaUtilitiesPackage", + dependencies: [ + .product(name: "BanubaUtilities", package: "BanubaUtilities-iOS"), + ]), + + .target( + name: "BanubaLicenseServicingSDKPackage", + dependencies: [ + .product(name: "BanubaLicenseServicingSDK", package: "BanubaLicenseServicingSDK"), + ]), + + .target( + name: "BanubaTokenStorageSDKPackage", + dependencies: [ + .product(name: "BanubaTokenStorageSDK", package: "BanubaTokenStorageSDK-iOS"), + ]), + + .target( + name: "BNBLicenseUtilsPackage", + dependencies: [ + .product(name: "BNBLicenseUtils", package: "BNBLicenseUtils-iOS"), + ]), + + .target( + name: "BanubaARCloudSDKPackage", + dependencies: [ + .product(name: "BanubaARCloudSDK", package: "BanubaARCloudSDK-IOS"), + ]), + + .target( + name: "BanubaAudioBrowserSDKPackage", + dependencies: [ + .product(name: "BanubaAudioBrowserSDK", package: "BanubaAudioBrowserSDK-iOS"), + ]), + + .target( + name: "BanubaVideoEditorGallerySDKPackage", + dependencies: [ + .product(name: "BanubaVideoEditorGallerySDK", package: "BanubaVideoEditorGallerySDK"), + ]), + + .target( + name: "BanubaEffectPlayerPackage", + dependencies: [ + .product(name: "BanubaEffectPlayer", package: "BanubaEffectPlayer-iOS"), + ]), + + .target( + name: "BanubaSDKPackage", + dependencies: [ + .product(name: "BanubaSdk", package: "BanubaSDK-iOS"), + ]), + + .target( + name: "BanubaVideoEditorTrimSDKPackage", + dependencies: [ + .product(name: "BanubaVideoEditorTrimSDK", package: "BanubaVideoEditorTrimSDK-iOS"), + ]), + + .target( + name: "BanubaSDKSimplePackage", + dependencies: [ + .product(name: "BanubaSdkSimple", package: "BanubaSDKSimple-IOS"), + ]), + + .target( + name: "VEPlaybackSDKPackage", + dependencies: [ + .product(name: "VEPlaybackSDK", package: "VEPlaybackSDK-iOS"), + ]), + + .target( + name: "VEEffectsSDKPackage", + dependencies: [ + .product(name: "VEEffectsSDK", package: "VEEffectsSDK-iOS"), + ]), + + .target( + name: "VEExportSDKPackage", + dependencies: [ + .product(name: "VEExportSDK", package: "VEExportSDK-iOS"), + ]), + + .testTarget( + name: "BanubaVideoEditorSPMTests", + dependencies: ["VEEffectsSDKPackage"]), + ] +) diff --git a/Sources/BNBLicenseUtilsPackage/File.swift b/Sources/BNBLicenseUtilsPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BNBLicenseUtilsPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaARCloudSDKPackage/File.swift b/Sources/BanubaARCloudSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaARCloudSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaAudioBrowserSDKPackage/File.swift b/Sources/BanubaAudioBrowserSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaAudioBrowserSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaEffectPlayerPackage/File.swift b/Sources/BanubaEffectPlayerPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaEffectPlayerPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaLicenseServicingSDKPackage/File.swift b/Sources/BanubaLicenseServicingSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaLicenseServicingSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaMusicEditorSDKPackage/File.swift b/Sources/BanubaMusicEditorSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaMusicEditorSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaOverlayEditorSDKPackage/File.swift b/Sources/BanubaOverlayEditorSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaOverlayEditorSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaSDKPackage/File.swift b/Sources/BanubaSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaSDKServicingPackage/File.swift b/Sources/BanubaSDKServicingPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaSDKServicingPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaSDKSimplePackage/File.swift b/Sources/BanubaSDKSimplePackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaSDKSimplePackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaTokenStorageSDKPackage/File.swift b/Sources/BanubaTokenStorageSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaTokenStorageSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaUtilitiesPackage/File.swift b/Sources/BanubaUtilitiesPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaUtilitiesPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaVideoEditorGallerySDKPackage/File.swift b/Sources/BanubaVideoEditorGallerySDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaVideoEditorGallerySDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaVideoEditorSDKPackage/File.swift b/Sources/BanubaVideoEditorSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaVideoEditorSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/BanubaVideoEditorSPM/main.swift b/Sources/BanubaVideoEditorSPM/main.swift new file mode 100644 index 0000000..f7cf60e --- /dev/null +++ b/Sources/BanubaVideoEditorSPM/main.swift @@ -0,0 +1 @@ +print("Hello, world!") diff --git a/Sources/BanubaVideoEditorTrimSDKPackage/File.swift b/Sources/BanubaVideoEditorTrimSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/BanubaVideoEditorTrimSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/VEEffectsSDKPackage/File.swift b/Sources/VEEffectsSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/VEEffectsSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/VEExportSDKPackage/File.swift b/Sources/VEExportSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/VEExportSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/VEPlaybackSDKPackage/File.swift b/Sources/VEPlaybackSDKPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/VEPlaybackSDKPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Sources/VideoEditorPackage/File.swift b/Sources/VideoEditorPackage/File.swift new file mode 100644 index 0000000..9830042 --- /dev/null +++ b/Sources/VideoEditorPackage/File.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Ruslan Filistovich on 23.04.22. +// + +import Foundation diff --git a/Tests/BanubaVideoEditorSPMTests/BanubaVideoEditorSPMTests.swift b/Tests/BanubaVideoEditorSPMTests/BanubaVideoEditorSPMTests.swift new file mode 100644 index 0000000..3bc1dac --- /dev/null +++ b/Tests/BanubaVideoEditorSPMTests/BanubaVideoEditorSPMTests.swift @@ -0,0 +1,47 @@ +import XCTest +import class Foundation.Bundle + +final class BanubaVideoEditorSPMTests: XCTestCase { + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct + // results. + + // Some of the APIs that we use below are available in macOS 10.13 and above. + guard #available(macOS 10.13, *) else { + return + } + + // Mac Catalyst won't have `Process`, but it is supported for executables. + #if !targetEnvironment(macCatalyst) + + let fooBinary = productsDirectory.appendingPathComponent("BanubaVideoEditorSPM") + + let process = Process() + process.executableURL = fooBinary + + let pipe = Pipe() + process.standardOutput = pipe + + try process.run() + process.waitUntilExit() + + let data = pipe.fileHandleForReading.readDataToEndOfFile() + let output = String(data: data, encoding: .utf8) + + XCTAssertEqual(output, "Hello, world!\n") + #endif + } + + /// Returns path to the built products directory. + var productsDirectory: URL { + #if os(macOS) + for bundle in Bundle.allBundles where bundle.bundlePath.hasSuffix(".xctest") { + return bundle.bundleURL.deletingLastPathComponent() + } + fatalError("couldn't find the products directory") + #else + return Bundle.main.bundleURL + #endif + } +}