Browser enrollment used osascript on every elevate. Ship a signed privileged helper installed at PKG time so probo:// can enroll over XPC with no second admin prompt. Add make install/uninstall/clean for local PKG test loops, and show alerts only on failure. Mirror the Go lint path for the macOS SPM package: Make targets, root configs, and a Linux CI job. Keep checks syntax-only so they do not need a macOS SDK. Format the existing sources so the new gates start clean. Signed-off-by: Ludovic Vielle <ludovic@probo.com>
48 lines
1.5 KiB
Swift
48 lines
1.5 KiB
Swift
// swift-tools-version: 5.9
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "probo-agent-url-handler",
|
|
platforms: [
|
|
.macOS(.v11)
|
|
],
|
|
products: [
|
|
.library(name: "ProboAgentShared", targets: ["ProboAgentShared"]),
|
|
.library(name: "HelperClient", targets: ["HelperClient"]),
|
|
.executable(name: "com.probo.agent.helper", targets: ["com.probo.agent.helper"]),
|
|
.executable(name: "probo-agent-url-handler", targets: ["probo-agent-url-handler"]),
|
|
],
|
|
targets: [
|
|
.target(
|
|
name: "ProboAgentShared",
|
|
path: "Shared",
|
|
exclude: [
|
|
"HelperVersion.generated.swift.tmpl",
|
|
"SigningConstants.generated.swift.tmpl",
|
|
],
|
|
linkerSettings: [
|
|
.linkedFramework("Security")
|
|
]
|
|
),
|
|
.target(
|
|
name: "HelperClient",
|
|
dependencies: ["ProboAgentShared"],
|
|
path: "HelperClient"
|
|
),
|
|
.executableTarget(
|
|
name: "com.probo.agent.helper",
|
|
dependencies: ["ProboAgentShared"],
|
|
path: "HelperTool",
|
|
exclude: ["Info.plist.tmpl", "Launchd.plist.tmpl"],
|
|
linkerSettings: [
|
|
.linkedFramework("Security")
|
|
]
|
|
),
|
|
.executableTarget(
|
|
name: "probo-agent-url-handler",
|
|
dependencies: ["HelperClient", "ProboAgentShared"],
|
|
path: "URLHandlerSources"
|
|
),
|
|
]
|
|
)
|