Split out libraries into SPM packages (#298)
@ -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>
|
||||
|
||||
|
@ -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> |
@ -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 |
||||
} |
@ -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> |
@ -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> |
@ -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> |
@ -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>
|
||||
|
||||
|
@ -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> |
@ -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> |
@ -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> |
@ -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,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 |
||||
} |
@ -0,0 +1,7 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<Workspace |
||||
version = "1.0"> |
||||
<FileRef |
||||
location = "self:"> |
||||
</FileRef> |
||||
</Workspace> |
@ -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,0 +1,4 @@ |
||||
module SecretAgentKitHeaders [system] { |
||||
header "include/SecretAgentKit.h" |
||||
export * |
||||
} |
@ -1,3 +1,5 @@ |
||||
import Foundation |
||||
|
||||
public protocol Secret: Identifiable, Hashable { |
||||
|
||||
var name: String { get } |
@ -1,5 +1,6 @@ |
||||
import Foundation |
||||
import Combine |
||||
import SecretKit |
||||
|
||||
extension SecureEnclave { |
||||
|
@ -1,5 +1,6 @@ |
||||
import Foundation |
||||
import Combine |
||||
import SecretKit |
||||
|
||||
extension SmartCard { |
||||
|
@ -1,3 +1,4 @@ |
||||
import Foundation |
||||
import SecretAgentKit |
||||
|
||||
class StubFileHandleWriter: FileHandleWriter { |
@ -1,3 +1,4 @@ |
||||
import Foundation |
||||
import SecretKit |
||||
import CryptoKit |
||||
|
@ -1,6 +1,8 @@ |
||||
import Foundation |
||||
import XCTest |
||||
@testable import SecretKit |
||||
@testable import SecureEnclaveSecretKit |
||||
@testable import SmartCardSecretKit |
||||
|
||||
class AnySecretTests: XCTestCase { |
||||
|
@ -1,6 +1,8 @@ |
||||
import Foundation |
||||
import XCTest |
||||
@testable import SecretKit |
||||
@testable import SecureEnclaveSecretKit |
||||
@testable import SmartCardSecretKit |
||||
|
||||
class OpenSSHReaderTests: XCTestCase { |
||||
|
@ -1,6 +1,8 @@ |
||||
import Foundation |
||||
import XCTest |
||||
@testable import SecretKit |
||||
@testable import SecureEnclaveSecretKit |
||||
@testable import SmartCardSecretKit |
||||
|
||||
class OpenSSHWriterTests: XCTestCase { |
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
@ -1,6 +1,8 @@ |
||||
import Cocoa |
||||
import SwiftUI |
||||
import SecretKit |
||||
import SecureEnclaveSecretKit |
||||
import SmartCardSecretKit |
||||
import Brief |
||||
|
||||
@main |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
@ -1,5 +1,7 @@ |
||||
import SwiftUI |
||||
import SecretKit |
||||
import SecureEnclaveSecretKit |
||||
import SmartCardSecretKit |
||||
import Brief |
||||
|
||||
struct ContentView<UpdaterType: UpdaterProtocol, AgentStatusCheckerType: AgentStatusCheckerProtocol>: View { |