From e95062119fc91132d3a9ebb006400c4728114929 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Sat, 8 Apr 2023 18:46:01 +0200 Subject: [PATCH] Added the Shared package for the libraries that would be shared between the Locations and Wikipedia targets. --- DeepLinking.xcodeproj/project.pbxproj | 2 ++ Shared/Package.swift | 28 ++++++++++++++++++++++ Shared/Sources/Shared/Shared.swift | 6 +++++ Shared/Tests/SharedTests/SharedTests.swift | 11 +++++++++ 4 files changed, 47 insertions(+) create mode 100644 Shared/Package.swift create mode 100644 Shared/Sources/Shared/Shared.swift create mode 100644 Shared/Tests/SharedTests/SharedTests.swift diff --git a/DeepLinking.xcodeproj/project.pbxproj b/DeepLinking.xcodeproj/project.pbxproj index 555dd37..1e01566 100644 --- a/DeepLinking.xcodeproj/project.pbxproj +++ b/DeepLinking.xcodeproj/project.pbxproj @@ -122,6 +122,7 @@ 46EB332929E1CE05001D5EAF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 46EB332B29E1CE05001D5EAF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 46EB333229E1CFD9001D5EAF /* Libraries */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = Libraries; sourceTree = ""; }; + 46EB333429E1D158001D5EAF /* Shared */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = Shared; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -138,6 +139,7 @@ 46EB325029E1BBD1001D5EAF = { isa = PBXGroup; children = ( + 46EB333429E1D158001D5EAF /* Shared */, 46EB325729E1BCAB001D5EAF /* Apps */, 46EB32EE29E1CD20001D5EAF /* Products */, ); diff --git a/Shared/Package.swift b/Shared/Package.swift new file mode 100644 index 0000000..3a0e8a8 --- /dev/null +++ b/Shared/Package.swift @@ -0,0 +1,28 @@ +// swift-tools-version: 5.8 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "Shared", + products: [ + // Products define the executables and libraries a package produces, and make them visible to other packages. + .library( + name: "Shared", + targets: ["Shared"]), + ], + 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 this package depends on. + .target( + name: "Shared", + dependencies: []), + .testTarget( + name: "SharedTests", + dependencies: ["Shared"]), + ] +) diff --git a/Shared/Sources/Shared/Shared.swift b/Shared/Sources/Shared/Shared.swift new file mode 100644 index 0000000..630f234 --- /dev/null +++ b/Shared/Sources/Shared/Shared.swift @@ -0,0 +1,6 @@ +public struct Shared { + public private(set) var text = "Hello, World!" + + public init() { + } +} diff --git a/Shared/Tests/SharedTests/SharedTests.swift b/Shared/Tests/SharedTests/SharedTests.swift new file mode 100644 index 0000000..2462aa2 --- /dev/null +++ b/Shared/Tests/SharedTests/SharedTests.swift @@ -0,0 +1,11 @@ +import XCTest +@testable import Shared + +final class SharedTests: 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. + XCTAssertEqual(Shared().text, "Hello, World!") + } +}