Browse Source

Split out libraries into SPM packages (#298)

pull/299/head
Max Goedjen 6 months ago
committed by GitHub
parent
commit
3f34e91a2c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 13
      .github/workflows/release.yml
  2. 5
      .github/workflows/test.yml
  3. 19
      Brief/Brief.h
  4. 24
      Brief/Info.plist
  5. 50
      Config/Secretive.xctestplan
  6. 24
      SecretAgentKit/Info.plist
  7. 22
      SecretAgentKitTests/Info.plist
  8. 24
      SecretKit/Info.plist
  9. 11
      SecretKit/SecretKit.h
  10. 22
      SecretKitTests/Info.plist
  11. 2139
      Secretive.xcodeproj/project.pbxproj
  12. 85
      Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgentKit.xcscheme
  13. 71
      Secretive.xcodeproj/xcshareddata/xcschemes/SecretKit.xcscheme
  14. 22
      SecretiveTests/Info.plist
  15. 0
      Sources/Config/Config.xcconfig
  16. 26
      Sources/Config/Secretive.xctestplan
  17. 7
      Sources/Packages/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
  18. 70
      Sources/Packages/Package.swift
  19. 0
      Sources/Packages/Sources/Brief/Updater.swift
  20. 0
      Sources/Packages/Sources/SecretAgentKit/Agent.swift
  21. 0
      Sources/Packages/Sources/SecretAgentKit/FileHandleProtocols.swift
  22. 0
      Sources/Packages/Sources/SecretAgentKit/SSHAgentProtocol.swift
  23. 1
      Sources/Packages/Sources/SecretAgentKit/SigningRequestTracer.swift
  24. 0
      Sources/Packages/Sources/SecretAgentKit/SigningWitness.swift
  25. 0
      Sources/Packages/Sources/SecretAgentKit/SocketController.swift
  26. 1
      Sources/Packages/Sources/SecretAgentKitHeaders/Stub.swift
  27. 0
      Sources/Packages/Sources/SecretAgentKitHeaders/include/SecretAgentKit.h
  28. 4
      Sources/Packages/Sources/SecretAgentKitHeaders/module.modulemap
  29. 0
      Sources/Packages/Sources/SecretKit/BundleIDs.swift
  30. 0
      Sources/Packages/Sources/SecretKit/Erasers/AnySecret.swift
  31. 0
      Sources/Packages/Sources/SecretKit/Erasers/AnySecretStore.swift
  32. 0
      Sources/Packages/Sources/SecretKit/OpenSSH/OpenSSHKeyWriter.swift
  33. 0
      Sources/Packages/Sources/SecretKit/OpenSSH/OpenSSHReader.swift
  34. 0
      Sources/Packages/Sources/SecretKit/SecretStoreList.swift
  35. 2
      Sources/Packages/Sources/SecretKit/Types/Secret.swift
  36. 3
      Sources/Packages/Sources/SecretKit/Types/SecretStore.swift
  37. 0
      Sources/Packages/Sources/SecretKit/Types/SignedData.swift
  38. 0
      Sources/Packages/Sources/SecretKit/Types/SigningRequestProvenance.swift
  39. 0
      Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclave.swift
  40. 1
      Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclaveSecret.swift
  41. 1
      Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclaveStore.swift
  42. 0
      Sources/Packages/Sources/SmartCardSecretKit/SmartCard.swift
  43. 1
      Sources/Packages/Sources/SmartCardSecretKit/SmartCardSecret.swift
  44. 1
      Sources/Packages/Sources/SmartCardSecretKit/SmartCardStore.swift
  45. 0
      Sources/Packages/Tests/BriefTests/ReleaseParsingTests.swift
  46. 0
      Sources/Packages/Tests/BriefTests/SemVerTests.swift
  47. 0
      Sources/Packages/Tests/SecretAgentKitTests/AgentTests.swift
  48. 0
      Sources/Packages/Tests/SecretAgentKitTests/StubFileHandleReader.swift
  49. 1
      Sources/Packages/Tests/SecretAgentKitTests/StubFileHandleWriter.swift
  50. 1
      Sources/Packages/Tests/SecretAgentKitTests/StubStore.swift
  51. 0
      Sources/Packages/Tests/SecretAgentKitTests/StubWitness.swift
  52. 2
      Sources/Packages/Tests/SecretKitTests/AnySecretTests.swift
  53. 2
      Sources/Packages/Tests/SecretKitTests/OpenSSHReaderTests.swift
  54. 2
      Sources/Packages/Tests/SecretKitTests/OpenSSHWriterTests.swift
  55. 2
      Sources/SecretAgent/AppDelegate.swift
  56. 0
      Sources/SecretAgent/Assets.xcassets/AppIcon.appiconset/Contents.json
  57. 0
      Sources/SecretAgent/Assets.xcassets/AppIcon.appiconset/Mac Icon.png
  58. 0
      Sources/SecretAgent/Assets.xcassets/AppIcon.appiconset/Mac Icon@0.25x.png
  59. 0
      Sources/SecretAgent/Assets.xcassets/Contents.json
  60. 0
      Sources/SecretAgent/Base.lproj/Main.storyboard
  61. 0
      Sources/SecretAgent/Info.plist
  62. 0
      Sources/SecretAgent/InternetAccessPolicy.plist
  63. 0
      Sources/SecretAgent/Notifier.swift
  64. 0
      Sources/SecretAgent/Preview Content/Preview Assets.xcassets/Contents.json
  65. 0
      Sources/SecretAgent/SecretAgent.entitlements
  66. 1015
      Sources/Secretive.xcodeproj/project.pbxproj
  67. 0
      Sources/Secretive.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  68. 0
      Sources/Secretive.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  69. 0
      Sources/Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme
  70. 0
      Sources/Secretive.xcodeproj/xcshareddata/xcschemes/Secretive.xcscheme
  71. 2
      Sources/Secretive/App.swift
  72. 0
      Sources/Secretive/Assets.xcassets/AppIcon.appiconset/Contents.json
  73. 0
      Sources/Secretive/Assets.xcassets/AppIcon.appiconset/Mac Icon.png
  74. 0
      Sources/Secretive/Assets.xcassets/AppIcon.appiconset/Mac Icon@0.25x.png
  75. 0
      Sources/Secretive/Assets.xcassets/Contents.json
  76. 0
      Sources/Secretive/Controllers/AgentStatusChecker.swift
  77. 0
      Sources/Secretive/Controllers/ApplicationDirectoryController.swift
  78. 0
      Sources/Secretive/Controllers/JustUpdatedChecker.swift
  79. 0
      Sources/Secretive/Controllers/LaunchAgentController.swift
  80. 0
      Sources/Secretive/Controllers/ShellConfigurationController.swift
  81. 0
      Sources/Secretive/Credits.rtf
  82. 0
      Sources/Secretive/Info.plist
  83. 0
      Sources/Secretive/InternetAccessPolicy.plist
  84. 0
      Sources/Secretive/Preview Content/Preview Assets.xcassets/Contents.json
  85. 0
      Sources/Secretive/Preview Content/PreviewAgentStatusChecker.swift
  86. 0
      Sources/Secretive/Preview Content/PreviewStore.swift
  87. 0
      Sources/Secretive/Preview Content/PreviewUpdater.swift
  88. 0
      Sources/Secretive/Secretive.entitlements
  89. 2
      Sources/Secretive/Views/ContentView.swift
  90. 0
      Sources/Secretive/Views/CopyableView.swift
  91. 0
      Sources/Secretive/Views/CreateSecretView.swift
  92. 0
      Sources/Secretive/Views/DeleteSecretView.swift
  93. 0
      Sources/Secretive/Views/EmptyStoreView.swift
  94. 0
      Sources/Secretive/Views/NoStoresView.swift
  95. 0
      Sources/Secretive/Views/RenameSecretView.swift
  96. 0
      Sources/Secretive/Views/SecretDetailView.swift
  97. 0
      Sources/Secretive/Views/SecretListItemView.swift
  98. 0
      Sources/Secretive/Views/SetupView.swift
  99. 0
      Sources/Secretive/Views/StoreListView.swift
  100. 0
      Sources/Secretive/Views/UpdateView.swift

13
.github/workflows/release.yml

@ -22,7 +22,10 @@ jobs:
- name: Set Environment
run: sudo xcrun xcode-select -s /Applications/Xcode_13.2.1.app
- name: Test
run: xcrun xcodebuild test -project Secretive.xcodeproj -scheme Secretive
run: |
pushd Sources/Packages
swift test
popd
build:
runs-on: macos-11.0
timeout-minutes: 10
@ -45,11 +48,11 @@ jobs:
RUN_ID: ${{ github.run_id }}
run: |
export CLEAN_TAG=$(echo $TAG_NAME | sed -e 's/refs\/tags\/v//')
sed -i '' -e "s/GITHUB_CI_VERSION/$CLEAN_TAG/g" Config/Config.xcconfig
sed -i '' -e "s/GITHUB_BUILD_NUMBER/1.$RUN_ID/g" Config/Config.xcconfig
sed -i '' -e "s/GITHUB_BUILD_URL/https:\/\/github.com\/maxgoedjen\/secretive\/actions\/runs\/$RUN_ID/g" Secretive/Credits.rtf
sed -i '' -e "s/GITHUB_CI_VERSION/$CLEAN_TAG/g" Sources/Config/Config.xcconfig
sed -i '' -e "s/GITHUB_BUILD_NUMBER/1.$RUN_ID/g" Sources/Config/Config.xcconfig
sed -i '' -e "s/GITHUB_BUILD_URL/https:\/\/github.com\/maxgoedjen\/secretive\/actions\/runs\/$RUN_ID/g" Sources/Secretive/Credits.rtf
- name: Build
run: xcrun xcodebuild -project Secretive.xcodeproj -scheme Secretive -configuration Release -archivePath Archive.xcarchive archive
run: xcrun xcodebuild -project Sources/Secretive.xcodeproj -scheme Secretive -configuration Release -archivePath Archive.xcarchive archive
- name: Create ZIPs
run: |
ditto -c -k --sequesterRsrc --keepParent Archive.xcarchive/Products/Applications/Secretive.app ./Secretive.zip

5
.github/workflows/test.yml

@ -10,4 +10,7 @@ jobs:
- name: Set Environment
run: sudo xcrun xcode-select -s /Applications/Xcode_13.2.1.app
- name: Test
run: xcrun xcodebuild test -project Secretive.xcodeproj -scheme Secretive
run: |
pushd Sources/Packages
swift test
popd

19
Brief/Brief.h

@ -1,19 +0,0 @@
//
// Brief.h
// Brief
//
// Created by Max Goedjen on 3/21/20.
// Copyright © 2020 Max Goedjen. All rights reserved.
//
#import <Foundation/Foundation.h>
//! Project version number for Brief.
FOUNDATION_EXPORT double BriefVersionNumber;
//! Project version string for Brief.
FOUNDATION_EXPORT const unsigned char BriefVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <Brief/PublicHeader.h>

24
Brief/Info.plist

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSHumanReadableCopyright</key>
<string>$(PRODUCT_NAME) is MIT Licensed.</string>
</dict>
</plist>

50
Config/Secretive.xctestplan

@ -1,50 +0,0 @@
{
"configurations" : [
{
"id" : "5896AE5A-6D5A-48D3-837B-668B646A3273",
"name" : "Configuration 1",
"options" : {
}
}
],
"defaultOptions" : {
},
"testTargets" : [
{
"parallelizable" : true,
"target" : {
"containerPath" : "container:Secretive.xcodeproj",
"identifier" : "50617DAF23FCE4AB0099B055",
"name" : "SecretKitTests"
}
},
{
"parallelizable" : true,
"target" : {
"containerPath" : "container:Secretive.xcodeproj",
"identifier" : "5099A073240242BA0062B6F2",
"name" : "SecretAgentKitTests"
}
},
{
"enabled" : false,
"parallelizable" : true,
"target" : {
"containerPath" : "container:Secretive.xcodeproj",
"identifier" : "50617D9323FCE48E0099B055",
"name" : "SecretiveTests"
}
},
{
"parallelizable" : true,
"target" : {
"containerPath" : "container:Secretive.xcodeproj",
"identifier" : "5091D31E2519D56D0049FD9B",
"name" : "BriefTests"
}
}
],
"version" : 1
}

24
SecretAgentKit/Info.plist

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>$(CI_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSHumanReadableCopyright</key>
<string>$(PRODUCT_NAME) is MIT Licensed.</string>
</dict>
</plist>

22
SecretAgentKitTests/Info.plist

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

24
SecretKit/Info.plist

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>$(CI_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSHumanReadableCopyright</key>
<string>$(PRODUCT_NAME) is MIT Licensed.</string>
</dict>
</plist>

11
SecretKit/SecretKit.h

@ -1,11 +0,0 @@
#import <Foundation/Foundation.h>
//! Project version number for SecretKit.
FOUNDATION_EXPORT double SecretKitVersionNumber;
//! Project version string for SecretKit.
FOUNDATION_EXPORT const unsigned char SecretKitVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <SecretKit/PublicHeader.h>

22
SecretKitTests/Info.plist

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

2139
Secretive.xcodeproj/project.pbxproj

File diff suppressed because it is too large

85
Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgentKit.xcscheme

@ -1,85 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1320"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "5099A06B240242BA0062B6F2"
BuildableName = "SecretAgentKit.framework"
BlueprintName = "SecretAgentKit"
ReferencedContainer = "container:Secretive.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Test"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<TestPlans>
<TestPlanReference
reference = "container:Config/Secretive.xctestplan"
default = "YES">
</TestPlanReference>
</TestPlans>
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "YES"
testExecutionOrdering = "random">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "5099A073240242BA0062B6F2"
BuildableName = "SecretAgentKitTests.xctest"
BlueprintName = "SecretAgentKitTests"
ReferencedContainer = "container:Secretive.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "5099A06B240242BA0062B6F2"
BuildableName = "SecretAgentKit.framework"
BlueprintName = "SecretAgentKit"
ReferencedContainer = "container:Secretive.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

71
Secretive.xcodeproj/xcshareddata/xcschemes/SecretKit.xcscheme

@ -1,71 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1320"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "50617DA723FCE4AB0099B055"
BuildableName = "SecretKit.framework"
BlueprintName = "SecretKit"
ReferencedContainer = "container:Secretive.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Test"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<TestPlans>
<TestPlanReference
reference = "container:Config/Secretive.xctestplan"
default = "YES">
</TestPlanReference>
</TestPlans>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "50617DA723FCE4AB0099B055"
BuildableName = "SecretKit.framework"
BlueprintName = "SecretKit"
ReferencedContainer = "container:Secretive.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

22
SecretiveTests/Info.plist

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

0
Config/Config.xcconfig → Sources/Config/Config.xcconfig

26
Sources/Config/Secretive.xctestplan

@ -0,0 +1,26 @@
{
"configurations" : [
{
"id" : "5896AE5A-6D5A-48D3-837B-668B646A3273",
"name" : "Configuration 1",
"options" : {
}
}
],
"defaultOptions" : {
},
"testTargets" : [
{
"enabled" : false,
"parallelizable" : true,
"target" : {
"containerPath" : "container:Secretive.xcodeproj",
"identifier" : "50617D9323FCE48E0099B055",
"name" : "SecretiveTests"
}
}
],
"version" : 1
}

7
Sources/Packages/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

70
Sources/Packages/Package.swift

@ -0,0 +1,70 @@
// 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: "SecretivePackages",
platforms: [
.macOS(.v11)
],
products: [
.library(
name: "SecretKit",
targets: ["SecretKit"]),
.library(
name: "SecureEnclaveSecretKit",
targets: ["SecureEnclaveSecretKit"]),
.library(
name: "SmartCardSecretKit",
targets: ["SmartCardSecretKit"]),
.library(
name: "SecretAgentKit",
targets: ["SecretAgentKit"]),
.library(
name: "SecretAgentKitHeaders",
targets: ["SecretAgentKitHeaders"]),
.library(
name: "Brief",
targets: ["Brief"]),
],
dependencies: [
],
targets: [
.target(
name: "SecretKit",
dependencies: []
),
.testTarget(
name: "SecretKitTests",
dependencies: ["SecretKit", "SecureEnclaveSecretKit", "SmartCardSecretKit"]
),
.target(
name: "SecureEnclaveSecretKit",
dependencies: ["SecretKit"]
),
.target(
name: "SmartCardSecretKit",
dependencies: ["SecretKit"]
),
.target(
name: "SecretAgentKit",
dependencies: ["SecretKit", "SecretAgentKitHeaders"]
),
.systemLibrary(
name: "SecretAgentKitHeaders"
),
.testTarget(
name: "SecretAgentKitTests",
dependencies: ["SecretAgentKit"])
,
.target(
name: "Brief",
dependencies: []
),
.testTarget(
name: "BriefTests",
dependencies: ["Brief"]
),
]
)

0
Brief/Updater.swift → Sources/Packages/Sources/Brief/Updater.swift

0
SecretAgentKit/Agent.swift → Sources/Packages/Sources/SecretAgentKit/Agent.swift

0
SecretAgentKit/FileHandleProtocols.swift → Sources/Packages/Sources/SecretAgentKit/FileHandleProtocols.swift

0
SecretAgentKit/SSHAgentProtocol.swift → Sources/Packages/Sources/SecretAgentKit/SSHAgentProtocol.swift

1
SecretAgentKit/SigningRequestTracer.swift → Sources/Packages/Sources/SecretAgentKit/SigningRequestTracer.swift

@ -2,6 +2,7 @@ import Foundation
import AppKit
import Security
import SecretKit
import SecretAgentKitHeaders
struct SigningRequestTracer {
}

0
SecretAgentKit/SigningWitness.swift → Sources/Packages/Sources/SecretAgentKit/SigningWitness.swift

0
SecretAgentKit/SocketController.swift → Sources/Packages/Sources/SecretAgentKit/SocketController.swift

1
Sources/Packages/Sources/SecretAgentKitHeaders/Stub.swift

@ -0,0 +1 @@

0
SecretAgentKit/SecretAgentKit.h → Sources/Packages/Sources/SecretAgentKitHeaders/include/SecretAgentKit.h

4
Sources/Packages/Sources/SecretAgentKitHeaders/module.modulemap

@ -0,0 +1,4 @@
module SecretAgentKitHeaders [system] {
header "include/SecretAgentKit.h"
export *
}

0
SecretKit/Common/BundleIDs.swift → Sources/Packages/Sources/SecretKit/BundleIDs.swift

0
SecretKit/Common/Erasers/AnySecret.swift → Sources/Packages/Sources/SecretKit/Erasers/AnySecret.swift

0
SecretKit/Common/Erasers/AnySecretStore.swift → Sources/Packages/Sources/SecretKit/Erasers/AnySecretStore.swift

0
SecretKit/Common/OpenSSH/OpenSSHKeyWriter.swift → Sources/Packages/Sources/SecretKit/OpenSSH/OpenSSHKeyWriter.swift

0
SecretKit/Common/OpenSSH/OpenSSHReader.swift → Sources/Packages/Sources/SecretKit/OpenSSH/OpenSSHReader.swift

0
SecretKit/Common/SecretStoreList.swift → Sources/Packages/Sources/SecretKit/SecretStoreList.swift

2
SecretKit/Common/Types/Secret.swift → Sources/Packages/Sources/SecretKit/Types/Secret.swift

@ -1,3 +1,5 @@
import Foundation
public protocol Secret: Identifiable, Hashable {
var name: String { get }

3
SecretKit/Common/Types/SecretStore.swift → Sources/Packages/Sources/SecretKit/Types/SecretStore.swift

@ -1,3 +1,4 @@
import Foundation
import Combine
public protocol SecretStore: ObservableObject, Identifiable {
@ -25,6 +26,6 @@ public protocol SecretStoreModifiable: SecretStore {
extension NSNotification.Name {
static let secretStoreUpdated = NSNotification.Name("com.maxgoedjen.Secretive.secretStore.updated")
public static let secretStoreUpdated = NSNotification.Name("com.maxgoedjen.Secretive.secretStore.updated")
}

0
SecretKit/Common/Types/SignedData.swift → Sources/Packages/Sources/SecretKit/Types/SignedData.swift

0
SecretKit/Common/Types/SigningRequestProvenance.swift → Sources/Packages/Sources/SecretKit/Types/SigningRequestProvenance.swift

0
SecretKit/SecureEnclave/SecureEnclave.swift → Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclave.swift

1
SecretKit/SecureEnclave/SecureEnclaveSecret.swift → Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclaveSecret.swift

@ -1,5 +1,6 @@
import Foundation
import Combine
import SecretKit
extension SecureEnclave {

1
SecretKit/SecureEnclave/SecureEnclaveStore.swift → Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclaveStore.swift

@ -2,6 +2,7 @@ import Foundation
import Security
import CryptoTokenKit
import LocalAuthentication
import SecretKit
extension SecureEnclave {

0
SecretKit/SmartCard/SmartCard.swift → Sources/Packages/Sources/SmartCardSecretKit/SmartCard.swift

1
SecretKit/SmartCard/SmartCardSecret.swift → Sources/Packages/Sources/SmartCardSecretKit/SmartCardSecret.swift

@ -1,5 +1,6 @@
import Foundation
import Combine
import SecretKit
extension SmartCard {

1
SecretKit/SmartCard/SmartCardStore.swift → Sources/Packages/Sources/SmartCardSecretKit/SmartCardStore.swift

@ -2,6 +2,7 @@ import Foundation
import Security
import CryptoTokenKit
import LocalAuthentication
import SecretKit
// TODO: Might need to split this up into "sub-stores?"
// ie, each token has its own Store.

0
BriefTests/ReleaseParsingTests.swift → Sources/Packages/Tests/BriefTests/ReleaseParsingTests.swift

0
BriefTests/SemVerTests.swift → Sources/Packages/Tests/BriefTests/SemVerTests.swift

0
SecretAgentKitTests/AgentTests.swift → Sources/Packages/Tests/SecretAgentKitTests/AgentTests.swift

0
SecretAgentKitTests/StubFileHandleReader.swift → Sources/Packages/Tests/SecretAgentKitTests/StubFileHandleReader.swift

1
SecretAgentKitTests/StubFileHandleWriter.swift → Sources/Packages/Tests/SecretAgentKitTests/StubFileHandleWriter.swift

@ -1,3 +1,4 @@
import Foundation
import SecretAgentKit
class StubFileHandleWriter: FileHandleWriter {

1
SecretAgentKitTests/StubStore.swift → Sources/Packages/Tests/SecretAgentKitTests/StubStore.swift

@ -1,3 +1,4 @@
import Foundation
import SecretKit
import CryptoKit

0
SecretAgentKitTests/StubWitness.swift → Sources/Packages/Tests/SecretAgentKitTests/StubWitness.swift

2
SecretKitTests/AnySecretTests.swift → Sources/Packages/Tests/SecretKitTests/AnySecretTests.swift

@ -1,6 +1,8 @@
import Foundation
import XCTest
@testable import SecretKit
@testable import SecureEnclaveSecretKit
@testable import SmartCardSecretKit
class AnySecretTests: XCTestCase {

2
SecretKitTests/OpenSSHReaderTests.swift → Sources/Packages/Tests/SecretKitTests/OpenSSHReaderTests.swift

@ -1,6 +1,8 @@
import Foundation
import XCTest
@testable import SecretKit
@testable import SecureEnclaveSecretKit
@testable import SmartCardSecretKit
class OpenSSHReaderTests: XCTestCase {

2
SecretKitTests/OpenSSHWriterTests.swift → Sources/Packages/Tests/SecretKitTests/OpenSSHWriterTests.swift

@ -1,6 +1,8 @@
import Foundation
import XCTest
@testable import SecretKit
@testable import SecureEnclaveSecretKit
@testable import SmartCardSecretKit
class OpenSSHWriterTests: XCTestCase {

2
SecretAgent/AppDelegate.swift → Sources/SecretAgent/AppDelegate.swift

@ -2,6 +2,8 @@ import Cocoa
import OSLog
import Combine
import SecretKit
import SecureEnclaveSecretKit
import SmartCardSecretKit
import SecretAgentKit
import Brief

0
SecretAgent/Assets.xcassets/AppIcon.appiconset/Contents.json → Sources/SecretAgent/Assets.xcassets/AppIcon.appiconset/Contents.json

0
SecretAgent/Assets.xcassets/AppIcon.appiconset/Mac Icon.png → Sources/SecretAgent/Assets.xcassets/AppIcon.appiconset/Mac Icon.png

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

0
SecretAgent/Assets.xcassets/AppIcon.appiconset/Mac Icon@0.25x.png → Sources/SecretAgent/Assets.xcassets/AppIcon.appiconset/Mac Icon@0.25x.png

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

0
SecretAgent/Assets.xcassets/Contents.json → Sources/SecretAgent/Assets.xcassets/Contents.json

0
SecretAgent/Base.lproj/Main.storyboard → Sources/SecretAgent/Base.lproj/Main.storyboard

0
SecretAgent/Info.plist → Sources/SecretAgent/Info.plist

0
SecretAgent/InternetAccessPolicy.plist → Sources/SecretAgent/InternetAccessPolicy.plist

0
SecretAgent/Notifier.swift → Sources/SecretAgent/Notifier.swift

0
SecretAgent/Preview Content/Preview Assets.xcassets/Contents.json → Sources/SecretAgent/Preview Content/Preview Assets.xcassets/Contents.json

0
SecretAgent/SecretAgent.entitlements → Sources/SecretAgent/SecretAgent.entitlements

1015
Sources/Secretive.xcodeproj/project.pbxproj

File diff suppressed because it is too large

0
Secretive.xcodeproj/project.xcworkspace/contents.xcworkspacedata → Sources/Secretive.xcodeproj/project.xcworkspace/contents.xcworkspacedata

0
Secretive.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist → Sources/Secretive.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

0
Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme → Sources/Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme

0
Secretive.xcodeproj/xcshareddata/xcschemes/Secretive.xcscheme → Sources/Secretive.xcodeproj/xcshareddata/xcschemes/Secretive.xcscheme

2
Secretive/App.swift → Sources/Secretive/App.swift

@ -1,6 +1,8 @@
import Cocoa
import SwiftUI
import SecretKit
import SecureEnclaveSecretKit
import SmartCardSecretKit
import Brief
@main

0
Secretive/Assets.xcassets/AppIcon.appiconset/Contents.json → Sources/Secretive/Assets.xcassets/AppIcon.appiconset/Contents.json

0
Secretive/Assets.xcassets/AppIcon.appiconset/Mac Icon.png → Sources/Secretive/Assets.xcassets/AppIcon.appiconset/Mac Icon.png

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

0
Secretive/Assets.xcassets/AppIcon.appiconset/Mac Icon@0.25x.png → Sources/Secretive/Assets.xcassets/AppIcon.appiconset/Mac Icon@0.25x.png

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

0
Secretive/Assets.xcassets/Contents.json → Sources/Secretive/Assets.xcassets/Contents.json

0
Secretive/Controllers/AgentStatusChecker.swift → Sources/Secretive/Controllers/AgentStatusChecker.swift

0
Secretive/Controllers/ApplicationDirectoryController.swift → Sources/Secretive/Controllers/ApplicationDirectoryController.swift

0
Secretive/Controllers/JustUpdatedChecker.swift → Sources/Secretive/Controllers/JustUpdatedChecker.swift

0
Secretive/Controllers/LaunchAgentController.swift → Sources/Secretive/Controllers/LaunchAgentController.swift

0
Secretive/Controllers/ShellConfigurationController.swift → Sources/Secretive/Controllers/ShellConfigurationController.swift

0
Secretive/Credits.rtf → Sources/Secretive/Credits.rtf

0
Secretive/Info.plist → Sources/Secretive/Info.plist

0
Secretive/InternetAccessPolicy.plist → Sources/Secretive/InternetAccessPolicy.plist

0
Secretive/Preview Content/Preview Assets.xcassets/Contents.json → Sources/Secretive/Preview Content/Preview Assets.xcassets/Contents.json

0
Secretive/Preview Content/PreviewAgentStatusChecker.swift → Sources/Secretive/Preview Content/PreviewAgentStatusChecker.swift

0
Secretive/Preview Content/PreviewStore.swift → Sources/Secretive/Preview Content/PreviewStore.swift

0
Secretive/Preview Content/PreviewUpdater.swift → Sources/Secretive/Preview Content/PreviewUpdater.swift

0
Secretive/Secretive.entitlements → Sources/Secretive/Secretive.entitlements

2
Secretive/Views/ContentView.swift → Sources/Secretive/Views/ContentView.swift

@ -1,5 +1,7 @@
import SwiftUI
import SecretKit
import SecureEnclaveSecretKit
import SmartCardSecretKit
import Brief
struct ContentView<UpdaterType: UpdaterProtocol, AgentStatusCheckerType: AgentStatusCheckerProtocol>: View {

0
Secretive/Views/CopyableView.swift → Sources/Secretive/Views/CopyableView.swift

0
Secretive/Views/CreateSecretView.swift → Sources/Secretive/Views/CreateSecretView.swift

0
Secretive/Views/DeleteSecretView.swift → Sources/Secretive/Views/DeleteSecretView.swift

0
Secretive/Views/EmptyStoreView.swift → Sources/Secretive/Views/EmptyStoreView.swift

0
Secretive/Views/NoStoresView.swift → Sources/Secretive/Views/NoStoresView.swift

0
Secretive/Views/RenameSecretView.swift → Sources/Secretive/Views/RenameSecretView.swift

0
Secretive/Views/SecretDetailView.swift → Sources/Secretive/Views/SecretDetailView.swift

0
Secretive/Views/SecretListItemView.swift → Sources/Secretive/Views/SecretListItemView.swift

0
Secretive/Views/SetupView.swift → Sources/Secretive/Views/SetupView.swift

0
Secretive/Views/StoreListView.swift → Sources/Secretive/Views/StoreListView.swift

0
Secretive/Views/UpdateView.swift → Sources/Secretive/Views/UpdateView.swift

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save