diff --git a/Piper.xcodeproj/project.pbxproj b/Piper.xcodeproj/project.pbxproj index bd37e63..4306b5c 100644 --- a/Piper.xcodeproj/project.pbxproj +++ b/Piper.xcodeproj/project.pbxproj @@ -7,14 +7,14 @@ objects = { /* Begin PBXContainerItemProxy section */ - 46D4BE8B2CB06ED500FCFB84 /* PBXContainerItemProxy */ = { + 46D4BED82CB07C7A00FCFB84 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 46D4BE6F2CB06ED300FCFB84 /* Project object */; proxyType = 1; remoteGlobalIDString = 46D4BE762CB06ED300FCFB84; remoteInfo = Piper; }; - 46D4BE952CB06ED500FCFB84 /* PBXContainerItemProxy */ = { + 46D4BEE82CB07CB600FCFB84 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 46D4BE6F2CB06ED300FCFB84 /* Project object */; proxyType = 1; @@ -25,24 +25,51 @@ /* Begin PBXFileReference section */ 46D4BE772CB06ED300FCFB84 /* Piper.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Piper.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 46D4BE8A2CB06ED500FCFB84 /* PiperTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PiperTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 46D4BE942CB06ED500FCFB84 /* PiperUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PiperUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 46D4BED42CB07C7A00FCFB84 /* UnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 46D4BEE22CB07CB600FCFB84 /* UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ + 46D4BEF62CB07CCB00FCFB84 /* Exceptions for "Tests" folder in "Piper" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + UITests/UITests.swift, + UITests/UITestsLaunchTests.swift, + UnitTests/UnitTests.swift, + ); + target = 46D4BE762CB06ED300FCFB84 /* Piper */; + }; + 46D4BEF72CB07CCB00FCFB84 /* Exceptions for "Tests" folder in "UnitTests" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + UnitTests/UnitTests.swift, + ); + target = 46D4BED32CB07C7A00FCFB84 /* UnitTests */; + }; + 46D4BEF82CB07CCB00FCFB84 /* Exceptions for "Tests" folder in "UITests" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + UITests/UITests.swift, + UITests/UITestsLaunchTests.swift, + ); + target = 46D4BEE12CB07CB600FCFB84 /* UITests */; + }; +/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ + /* Begin PBXFileSystemSynchronizedRootGroup section */ 46D4BE792CB06ED300FCFB84 /* Piper */ = { isa = PBXFileSystemSynchronizedRootGroup; path = Piper; sourceTree = ""; }; - 46D4BE8D2CB06ED500FCFB84 /* PiperTests */ = { + 46D4BEED2CB07CC100FCFB84 /* Tests */ = { isa = PBXFileSystemSynchronizedRootGroup; - path = PiperTests; - sourceTree = ""; - }; - 46D4BE972CB06ED500FCFB84 /* PiperUITests */ = { - isa = PBXFileSystemSynchronizedRootGroup; - path = PiperUITests; + exceptions = ( + 46D4BEF62CB07CCB00FCFB84 /* Exceptions for "Tests" folder in "Piper" target */, + 46D4BEF72CB07CCB00FCFB84 /* Exceptions for "Tests" folder in "UnitTests" target */, + 46D4BEF82CB07CCB00FCFB84 /* Exceptions for "Tests" folder in "UITests" target */, + ); + path = Tests; sourceTree = ""; }; /* End PBXFileSystemSynchronizedRootGroup section */ @@ -55,14 +82,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 46D4BE872CB06ED500FCFB84 /* Frameworks */ = { + 46D4BED12CB07C7A00FCFB84 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 46D4BE912CB06ED500FCFB84 /* Frameworks */ = { + 46D4BEDF2CB07CB600FCFB84 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -76,8 +103,7 @@ isa = PBXGroup; children = ( 46D4BE792CB06ED300FCFB84 /* Piper */, - 46D4BE8D2CB06ED500FCFB84 /* PiperTests */, - 46D4BE972CB06ED500FCFB84 /* PiperUITests */, + 46D4BEED2CB07CC100FCFB84 /* Tests */, 46D4BE782CB06ED300FCFB84 /* Products */, ); sourceTree = ""; @@ -86,8 +112,8 @@ isa = PBXGroup; children = ( 46D4BE772CB06ED300FCFB84 /* Piper.app */, - 46D4BE8A2CB06ED500FCFB84 /* PiperTests.xctest */, - 46D4BE942CB06ED500FCFB84 /* PiperUITests.xctest */, + 46D4BED42CB07C7A00FCFB84 /* UnitTests.xctest */, + 46D4BEE22CB07CB600FCFB84 /* UITests.xctest */, ); name = Products; sourceTree = ""; @@ -109,6 +135,7 @@ ); fileSystemSynchronizedGroups = ( 46D4BE792CB06ED300FCFB84 /* Piper */, + 46D4BEED2CB07CC100FCFB84 /* Tests */, ); name = Piper; packageProductDependencies = ( @@ -117,50 +144,44 @@ productReference = 46D4BE772CB06ED300FCFB84 /* Piper.app */; productType = "com.apple.product-type.application"; }; - 46D4BE892CB06ED500FCFB84 /* PiperTests */ = { + 46D4BED32CB07C7A00FCFB84 /* UnitTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 46D4BEA12CB06ED500FCFB84 /* Build configuration list for PBXNativeTarget "PiperTests" */; + buildConfigurationList = 46D4BEDA2CB07C7A00FCFB84 /* Build configuration list for PBXNativeTarget "UnitTests" */; buildPhases = ( - 46D4BE862CB06ED500FCFB84 /* Sources */, - 46D4BE872CB06ED500FCFB84 /* Frameworks */, - 46D4BE882CB06ED500FCFB84 /* Resources */, + 46D4BED02CB07C7A00FCFB84 /* Sources */, + 46D4BED12CB07C7A00FCFB84 /* Frameworks */, + 46D4BED22CB07C7A00FCFB84 /* Resources */, ); buildRules = ( ); dependencies = ( - 46D4BE8C2CB06ED500FCFB84 /* PBXTargetDependency */, + 46D4BED92CB07C7A00FCFB84 /* PBXTargetDependency */, ); - fileSystemSynchronizedGroups = ( - 46D4BE8D2CB06ED500FCFB84 /* PiperTests */, - ); - name = PiperTests; + name = UnitTests; packageProductDependencies = ( ); - productName = PiperTests; - productReference = 46D4BE8A2CB06ED500FCFB84 /* PiperTests.xctest */; + productName = UnitTests; + productReference = 46D4BED42CB07C7A00FCFB84 /* UnitTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 46D4BE932CB06ED500FCFB84 /* PiperUITests */ = { + 46D4BEE12CB07CB600FCFB84 /* UITests */ = { isa = PBXNativeTarget; - buildConfigurationList = 46D4BEA42CB06ED500FCFB84 /* Build configuration list for PBXNativeTarget "PiperUITests" */; + buildConfigurationList = 46D4BEEA2CB07CB600FCFB84 /* Build configuration list for PBXNativeTarget "UITests" */; buildPhases = ( - 46D4BE902CB06ED500FCFB84 /* Sources */, - 46D4BE912CB06ED500FCFB84 /* Frameworks */, - 46D4BE922CB06ED500FCFB84 /* Resources */, + 46D4BEDE2CB07CB600FCFB84 /* Sources */, + 46D4BEDF2CB07CB600FCFB84 /* Frameworks */, + 46D4BEE02CB07CB600FCFB84 /* Resources */, ); buildRules = ( ); dependencies = ( - 46D4BE962CB06ED500FCFB84 /* PBXTargetDependency */, + 46D4BEE92CB07CB600FCFB84 /* PBXTargetDependency */, ); - fileSystemSynchronizedGroups = ( - 46D4BE972CB06ED500FCFB84 /* PiperUITests */, - ); - name = PiperUITests; + name = UITests; packageProductDependencies = ( ); - productName = PiperUITests; - productReference = 46D4BE942CB06ED500FCFB84 /* PiperUITests.xctest */; + productName = UITests; + productReference = 46D4BEE22CB07CB600FCFB84 /* UITests.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; /* End PBXNativeTarget section */ @@ -170,17 +191,19 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; + CLASSPREFIX = ""; LastSwiftUpdateCheck = 1600; LastUpgradeCheck = 1600; + ORGANIZATIONNAME = "Röck+Cöde"; TargetAttributes = { 46D4BE762CB06ED300FCFB84 = { CreatedOnToolsVersion = 16.0; }; - 46D4BE892CB06ED500FCFB84 = { + 46D4BED32CB07C7A00FCFB84 = { CreatedOnToolsVersion = 16.0; TestTargetID = 46D4BE762CB06ED300FCFB84; }; - 46D4BE932CB06ED500FCFB84 = { + 46D4BEE12CB07CB600FCFB84 = { CreatedOnToolsVersion = 16.0; TestTargetID = 46D4BE762CB06ED300FCFB84; }; @@ -201,8 +224,8 @@ projectRoot = ""; targets = ( 46D4BE762CB06ED300FCFB84 /* Piper */, - 46D4BE892CB06ED500FCFB84 /* PiperTests */, - 46D4BE932CB06ED500FCFB84 /* PiperUITests */, + 46D4BED32CB07C7A00FCFB84 /* UnitTests */, + 46D4BEE12CB07CB600FCFB84 /* UITests */, ); }; /* End PBXProject section */ @@ -215,14 +238,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 46D4BE882CB06ED500FCFB84 /* Resources */ = { + 46D4BED22CB07C7A00FCFB84 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 46D4BE922CB06ED500FCFB84 /* Resources */ = { + 46D4BEE02CB07CB600FCFB84 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -239,14 +262,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 46D4BE862CB06ED500FCFB84 /* Sources */ = { + 46D4BED02CB07C7A00FCFB84 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 46D4BE902CB06ED500FCFB84 /* Sources */ = { + 46D4BEDE2CB07CB600FCFB84 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -256,15 +279,15 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 46D4BE8C2CB06ED500FCFB84 /* PBXTargetDependency */ = { + 46D4BED92CB07C7A00FCFB84 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 46D4BE762CB06ED300FCFB84 /* Piper */; - targetProxy = 46D4BE8B2CB06ED500FCFB84 /* PBXContainerItemProxy */; + targetProxy = 46D4BED82CB07C7A00FCFB84 /* PBXContainerItemProxy */; }; - 46D4BE962CB06ED500FCFB84 /* PBXTargetDependency */ = { + 46D4BEE92CB07CB600FCFB84 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 46D4BE762CB06ED300FCFB84 /* Piper */; - targetProxy = 46D4BE952CB06ED500FCFB84 /* PBXContainerItemProxy */; + targetProxy = 46D4BEE82CB07CB600FCFB84 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -392,15 +415,17 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = Piper/Piper.entitlements; + CODE_SIGN_ENTITLEMENTS = Piper/Resources/Entitlements/Piper.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"Piper/Preview Content\""; + DEVELOPMENT_ASSET_PATHS = Piper/Resources/Catalogs/Previews.xcassets; DEVELOPMENT_TEAM = 7FMNM89WKG; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = Piper; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -408,7 +433,7 @@ ); MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.app.Piper"; + PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.piper.app.macos"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; @@ -420,15 +445,17 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = Piper/Piper.entitlements; + CODE_SIGN_ENTITLEMENTS = Piper/Resources/Entitlements/Piper.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"Piper/Preview Content\""; + DEVELOPMENT_ASSET_PATHS = Piper/Resources/Catalogs/Previews.xcassets; DEVELOPMENT_TEAM = 7FMNM89WKG; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = Piper; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -436,14 +463,14 @@ ); MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.app.Piper"; + PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.piper.app.macos"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; }; name = Release; }; - 46D4BEA22CB06ED500FCFB84 /* Debug */ = { + 46D4BEDB2CB07C7A00FCFB84 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; @@ -451,9 +478,8 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 7FMNM89WKG; GENERATE_INFOPLIST_FILE = YES; - MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.app.PiperTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.piper.tests.unit"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; @@ -461,7 +487,7 @@ }; name = Debug; }; - 46D4BEA32CB06ED500FCFB84 /* Release */ = { + 46D4BEDC2CB07C7A00FCFB84 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; @@ -469,9 +495,8 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 7FMNM89WKG; GENERATE_INFOPLIST_FILE = YES; - MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.app.PiperTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.piper.tests.unit"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; @@ -479,7 +504,7 @@ }; name = Release; }; - 46D4BEA52CB06ED500FCFB84 /* Debug */ = { + 46D4BEEB2CB07CB600FCFB84 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; @@ -487,7 +512,7 @@ DEVELOPMENT_TEAM = 7FMNM89WKG; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.app.PiperUITests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.piper.tests.ui"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; @@ -495,7 +520,7 @@ }; name = Debug; }; - 46D4BEA62CB06ED500FCFB84 /* Release */ = { + 46D4BEEC2CB07CB600FCFB84 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; @@ -503,7 +528,7 @@ DEVELOPMENT_TEAM = 7FMNM89WKG; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.app.PiperUITests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.piper.tests.ui"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; @@ -532,20 +557,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 46D4BEA12CB06ED500FCFB84 /* Build configuration list for PBXNativeTarget "PiperTests" */ = { + 46D4BEDA2CB07C7A00FCFB84 /* Build configuration list for PBXNativeTarget "UnitTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 46D4BEA22CB06ED500FCFB84 /* Debug */, - 46D4BEA32CB06ED500FCFB84 /* Release */, + 46D4BEDB2CB07C7A00FCFB84 /* Debug */, + 46D4BEDC2CB07C7A00FCFB84 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 46D4BEA42CB06ED500FCFB84 /* Build configuration list for PBXNativeTarget "PiperUITests" */ = { + 46D4BEEA2CB07CB600FCFB84 /* Build configuration list for PBXNativeTarget "UITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 46D4BEA52CB06ED500FCFB84 /* Debug */, - 46D4BEA62CB06ED500FCFB84 /* Release */, + 46D4BEEB2CB07CB600FCFB84 /* Debug */, + 46D4BEEC2CB07CB600FCFB84 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Piper.xcodeproj/xcshareddata/xcschemes/Piper.xcscheme b/Piper.xcodeproj/xcshareddata/xcschemes/Piper.xcscheme new file mode 100644 index 0000000..a0d1f6a --- /dev/null +++ b/Piper.xcodeproj/xcshareddata/xcschemes/Piper.xcscheme @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Piper/Assets.xcassets/AccentColor.colorset/Contents.json b/Piper/Resources/Catalogs/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from Piper/Assets.xcassets/AccentColor.colorset/Contents.json rename to Piper/Resources/Catalogs/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/Piper/Assets.xcassets/AppIcon.appiconset/Contents.json b/Piper/Resources/Catalogs/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Piper/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Piper/Resources/Catalogs/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Piper/Assets.xcassets/Contents.json b/Piper/Resources/Catalogs/Assets.xcassets/Contents.json similarity index 100% rename from Piper/Assets.xcassets/Contents.json rename to Piper/Resources/Catalogs/Assets.xcassets/Contents.json diff --git a/Piper/Preview Content/Preview Assets.xcassets/Contents.json b/Piper/Resources/Catalogs/Previews.xcassets/Contents.json similarity index 100% rename from Piper/Preview Content/Preview Assets.xcassets/Contents.json rename to Piper/Resources/Catalogs/Previews.xcassets/Contents.json diff --git a/Piper/Piper.entitlements b/Piper/Resources/Entitlements/Piper.entitlements similarity index 100% rename from Piper/Piper.entitlements rename to Piper/Resources/Entitlements/Piper.entitlements diff --git a/Piper/PiperApp.swift b/Piper/Sources/App/PiperApp.swift similarity index 90% rename from Piper/PiperApp.swift rename to Piper/Sources/App/PiperApp.swift index 8328c48..b783cb0 100644 --- a/Piper/PiperApp.swift +++ b/Piper/Sources/App/PiperApp.swift @@ -1,8 +1,9 @@ // // PiperApp.swift -// Piper +// Piper ~ App // // Created by Javier Cicchelli on 04/10/2024. +// Copyright © 2024 Röck+Cöde. All rights reserved. // import SwiftUI diff --git a/Piper/Item.swift b/Piper/Sources/Logic/Models/Item.swift similarity index 76% rename from Piper/Item.swift rename to Piper/Sources/Logic/Models/Item.swift index 22a78a3..f2fca05 100644 --- a/Piper/Item.swift +++ b/Piper/Sources/Logic/Models/Item.swift @@ -1,8 +1,9 @@ // // Item.swift -// Piper +// Piper ~ App // // Created by Javier Cicchelli on 04/10/2024. +// Copyright © 2024 Röck+Cöde. All rights reserved. // import Foundation diff --git a/Piper/ContentView.swift b/Piper/Sources/UI/Views/ContentView.swift similarity index 95% rename from Piper/ContentView.swift rename to Piper/Sources/UI/Views/ContentView.swift index 4c252ad..64a5ef2 100644 --- a/Piper/ContentView.swift +++ b/Piper/Sources/UI/Views/ContentView.swift @@ -1,8 +1,9 @@ // // ContentView.swift -// Piper +// Piper ~ App // // Created by Javier Cicchelli on 04/10/2024. +// Copyright © 2024 Röck+Cöde. All rights reserved. // import SwiftUI diff --git a/Tests/Plans/AllTests.xctestplan b/Tests/Plans/AllTests.xctestplan new file mode 100644 index 0000000..112946f --- /dev/null +++ b/Tests/Plans/AllTests.xctestplan @@ -0,0 +1,31 @@ +{ + "configurations" : [ + { + "id" : "F4FAED8B-95BF-4DAC-B497-0F0650E4C788", + "name" : "Configuration 1", + "options" : { + + } + } + ], + "defaultOptions" : { + "testTimeoutsEnabled" : true + }, + "testTargets" : [ + { + "target" : { + "containerPath" : "container:Piper.xcodeproj", + "identifier" : "46D4BED32CB07C7A00FCFB84", + "name" : "UnitTests" + } + }, + { + "target" : { + "containerPath" : "container:Piper.xcodeproj", + "identifier" : "46D4BEE12CB07CB600FCFB84", + "name" : "UITests" + } + } + ], + "version" : 1 +} diff --git a/Tests/Plans/UITests.xctestplan b/Tests/Plans/UITests.xctestplan new file mode 100644 index 0000000..41be989 --- /dev/null +++ b/Tests/Plans/UITests.xctestplan @@ -0,0 +1,24 @@ +{ + "configurations" : [ + { + "id" : "12ED8D66-B73D-491B-9EE5-6BD0F56B443F", + "name" : "Configuration 1", + "options" : { + + } + } + ], + "defaultOptions" : { + "testTimeoutsEnabled" : true + }, + "testTargets" : [ + { + "target" : { + "containerPath" : "container:Piper.xcodeproj", + "identifier" : "46D4BEE12CB07CB600FCFB84", + "name" : "UITests" + } + } + ], + "version" : 1 +} diff --git a/Tests/Plans/UnitTests.xctestplan b/Tests/Plans/UnitTests.xctestplan new file mode 100644 index 0000000..61b4179 --- /dev/null +++ b/Tests/Plans/UnitTests.xctestplan @@ -0,0 +1,24 @@ +{ + "configurations" : [ + { + "id" : "F760EDE2-26F9-4002-966D-BB3D60BA2764", + "name" : "Configuration 1", + "options" : { + + } + } + ], + "defaultOptions" : { + "testTimeoutsEnabled" : true + }, + "testTargets" : [ + { + "target" : { + "containerPath" : "container:Piper.xcodeproj", + "identifier" : "46D4BED32CB07C7A00FCFB84", + "name" : "UnitTests" + } + } + ], + "version" : 1 +} diff --git a/PiperUITests/PiperUITests.swift b/Tests/UITests/UITests.swift similarity index 91% rename from PiperUITests/PiperUITests.swift rename to Tests/UITests/UITests.swift index 5ed216d..86dd164 100644 --- a/PiperUITests/PiperUITests.swift +++ b/Tests/UITests/UITests.swift @@ -1,13 +1,14 @@ // -// PiperUITests.swift -// PiperUITests +// UITests.swift +// UITests // // Created by Javier Cicchelli on 04/10/2024. +// Copyright © 2024 Röck+Cöde. All rights reserved. // import XCTest -final class PiperUITests: XCTestCase { +final class UITests: XCTestCase { override func setUpWithError() throws { // Put setup code here. This method is called before the invocation of each test method in the class. diff --git a/PiperUITests/PiperUITestsLaunchTests.swift b/Tests/UITests/UITestsLaunchTests.swift similarity index 83% rename from PiperUITests/PiperUITestsLaunchTests.swift rename to Tests/UITests/UITestsLaunchTests.swift index 779cc10..6c44734 100644 --- a/PiperUITests/PiperUITestsLaunchTests.swift +++ b/Tests/UITests/UITestsLaunchTests.swift @@ -1,13 +1,14 @@ // -// PiperUITestsLaunchTests.swift -// PiperUITests +// UITestsLaunchTests.swift +// UITests // // Created by Javier Cicchelli on 04/10/2024. +// Copyright © 2024 Röck+Cöde. All rights reserved. // import XCTest -final class PiperUITestsLaunchTests: XCTestCase { +final class UITestsLaunchTests: XCTestCase { override class var runsForEachTargetApplicationUIConfiguration: Bool { true diff --git a/PiperTests/PiperTests.swift b/Tests/UnitTests/UnitTests.swift similarity index 66% rename from PiperTests/PiperTests.swift rename to Tests/UnitTests/UnitTests.swift index 41e8492..c329a8f 100644 --- a/PiperTests/PiperTests.swift +++ b/Tests/UnitTests/UnitTests.swift @@ -1,14 +1,14 @@ // -// PiperTests.swift -// PiperTests +// UnitTests.swift +// UnitTests // // Created by Javier Cicchelli on 04/10/2024. +// Copyright © 2024 Röck+Cöde. All rights reserved. // import Testing -@testable import Piper -struct PiperTests { +struct UnitTests { @Test func example() async throws { // Write your test here and use APIs like `#expect(...)` to check expected conditions.