chore: create presentation layer project

Signed-off-by: Alan Brault <alan.brault@visus.io>
This commit is contained in:
2026-08-08 07:26:19 -04:00
parent 5893b9f99e
commit 4d790cfadb
5 changed files with 119 additions and 0 deletions
@@ -0,0 +1,8 @@
.DS_Store
/.build
/Packages
xcuserdata/
DerivedData/
.swiftpm/configuration/registries.json
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
.netrc
@@ -0,0 +1,36 @@
// swift-tools-version: 6.3
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "TempestasPresentation",
platforms: [
.macOS(.v14)
],
products: [
// Products define the executables and libraries a package produces, making them visible to other packages.
.library(
name: "TempestasPresentation",
targets: ["TempestasPresentation"]
),
],
dependencies: [
.package(path: "../TempestasDomain")
],
targets: [
// Targets are the basic building blocks of a package, defining a module or a test suite.
// Targets can depend on other targets in this package and products from dependencies.
.target(
name: "TempestasPresentation",
dependencies: [
"TempestasDomain"
],
),
.testTarget(
name: "TempestasPresentationTests",
dependencies: ["TempestasPresentation"]
),
],
swiftLanguageModes: [.v6]
)
@@ -0,0 +1,2 @@
// The Swift Programming Language
// https://docs.swift.org/swift-book
@@ -0,0 +1,8 @@
import Testing
@testable import TempestasPresentation
@Test func example() async throws {
// Write your test here and use APIs like `#expect(...)` to check expected conditions.
// Swift Testing Documentation
// https://developer.apple.com/documentation/testing
}
+65
View File
@@ -6,6 +6,12 @@
objectVersion = 77;
objects = {
/* Begin PBXBuildFile section */
F7F82E2B3027462900921C76 /* TempestasDomain in Frameworks */ = {isa = PBXBuildFile; productRef = F7F82E2A3027462900921C76 /* TempestasDomain */; };
F7F82E2D3027462D00921C76 /* TempestasInfrastructure in Frameworks */ = {isa = PBXBuildFile; productRef = F7F82E2C3027462D00921C76 /* TempestasInfrastructure */; };
F7F82E33302749BC00921C76 /* TempestasPresentation in Frameworks */ = {isa = PBXBuildFile; productRef = F7F82E32302749BC00921C76 /* TempestasPresentation */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
F78655B7302222BD00869803 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -52,6 +58,9 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
F7F82E2D3027462D00921C76 /* TempestasInfrastructure in Frameworks */,
F7F82E2B3027462900921C76 /* TempestasDomain in Frameworks */,
F7F82E33302749BC00921C76 /* TempestasPresentation in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -78,6 +87,7 @@
F78655A9302222BC00869803 /* Tempestas */,
F78655B9302222BD00869803 /* TempestasTests */,
F78655C3302222BD00869803 /* TempestasUITests */,
F7F82E293027462900921C76 /* Frameworks */,
F78655A8302222BC00869803 /* Products */,
);
sourceTree = "<group>";
@@ -92,6 +102,13 @@
name = Products;
sourceTree = "<group>";
};
F7F82E293027462900921C76 /* Frameworks */ = {
isa = PBXGroup;
children = (
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -112,6 +129,9 @@
);
name = Tempestas;
packageProductDependencies = (
F7F82E2A3027462900921C76 /* TempestasDomain */,
F7F82E2C3027462D00921C76 /* TempestasInfrastructure */,
F7F82E32302749BC00921C76 /* TempestasPresentation */,
);
productName = Tempestas;
productReference = F78655A7302222BC00869803 /* Tempestas.app */;
@@ -198,6 +218,7 @@
packageReferences = (
F78655D43022237700869803 /* XCLocalSwiftPackageReference "Packages/TempestasDomain" */,
F78655D53022240400869803 /* XCLocalSwiftPackageReference "Packages/TempestasInfrastructure" */,
F7F82E313027493A00921C76 /* XCLocalSwiftPackageReference "Packages/TempestasPresentation" */,
);
preferredProjectObjectVersion = 77;
productRefGroup = F78655A8302222BC00869803 /* Products */;
@@ -399,8 +420,19 @@
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
ENABLE_APP_SANDBOX = YES;
ENABLE_INCOMING_NETWORK_CONNECTIONS = NO;
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
ENABLE_PREVIEWS = YES;
ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = NO;
ENABLE_RESOURCE_ACCESS_BLUETOOTH = NO;
ENABLE_RESOURCE_ACCESS_CALENDARS = NO;
ENABLE_RESOURCE_ACCESS_CAMERA = NO;
ENABLE_RESOURCE_ACCESS_CONTACTS = NO;
ENABLE_RESOURCE_ACCESS_LOCATION = YES;
ENABLE_RESOURCE_ACCESS_PRINTING = NO;
ENABLE_RESOURCE_ACCESS_USB = NO;
ENABLE_USER_SELECTED_FILES = readonly;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
@@ -429,8 +461,19 @@
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
ENABLE_APP_SANDBOX = YES;
ENABLE_INCOMING_NETWORK_CONNECTIONS = NO;
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
ENABLE_PREVIEWS = YES;
ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = NO;
ENABLE_RESOURCE_ACCESS_BLUETOOTH = NO;
ENABLE_RESOURCE_ACCESS_CALENDARS = NO;
ENABLE_RESOURCE_ACCESS_CAMERA = NO;
ENABLE_RESOURCE_ACCESS_CONTACTS = NO;
ENABLE_RESOURCE_ACCESS_LOCATION = YES;
ENABLE_RESOURCE_ACCESS_PRINTING = NO;
ENABLE_RESOURCE_ACCESS_USB = NO;
ENABLE_USER_SELECTED_FILES = readonly;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
@@ -577,7 +620,29 @@
isa = XCLocalSwiftPackageReference;
relativePath = Packages/TempestasInfrastructure;
};
F7F82E313027493A00921C76 /* XCLocalSwiftPackageReference "Packages/TempestasPresentation" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = Packages/TempestasPresentation;
};
/* End XCLocalSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
F7F82E2A3027462900921C76 /* TempestasDomain */ = {
isa = XCSwiftPackageProductDependency;
package = F78655D43022237700869803 /* XCLocalSwiftPackageReference "Packages/TempestasDomain" */;
productName = TempestasDomain;
};
F7F82E2C3027462D00921C76 /* TempestasInfrastructure */ = {
isa = XCSwiftPackageProductDependency;
package = F78655D53022240400869803 /* XCLocalSwiftPackageReference "Packages/TempestasInfrastructure" */;
productName = TempestasInfrastructure;
};
F7F82E32302749BC00921C76 /* TempestasPresentation */ = {
isa = XCSwiftPackageProductDependency;
package = F7F82E313027493A00921C76 /* XCLocalSwiftPackageReference "Packages/TempestasPresentation" */;
productName = TempestasPresentation;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = F786559F302222BC00869803 /* Project object */;
}