1
0
Fork 0
gobject-generator/Package.swift
Brendan Szymanski 1330f2bd25 Initial commit: SwiftGtkGen GIR-to-Swift binding generator
Extracted from gtk-swift monorepo. Previous history
contains 38 commits across the full Phase 1 development
including GIR XML parsing, IR model, analysis engine,
code generation, CLI, plugins, and documentation.
2026-07-01 03:27:41 -04:00

52 lines
1.7 KiB
Swift

// swift-tools-version: 6.1
import PackageDescription
let package = Package(
name: "gir-generator",
platforms: [.macOS(.v14)],
products: [
.executable(name: "swift-gtk-gen", targets: ["swift-gtk-gen"]),
.plugin(name: "SwiftGtkGenBuildPlugin", targets: ["SwiftGtkGenBuildPlugin"]),
.plugin(name: "SwiftGtkGenCommandPlugin", targets: ["SwiftGtkGenCommandPlugin"]),
],
targets: [
.target(
name: "SwiftGtkGenCore",
dependencies: []
),
.executableTarget(
name: "swift-gtk-gen",
dependencies: ["SwiftGtkGenCore"]
),
.plugin(
name: "SwiftGtkGenBuildPlugin",
capability: .buildTool(),
dependencies: ["swift-gtk-gen"],
path: "Sources/SwiftGtkGenBuildPlugin"
),
.plugin(
name: "SwiftGtkGenCommandPlugin",
capability: .command(
intent: .custom(
verb: "generate-gir-bindings",
description: "Generate Swift bindings from .gir files."
),
permissions: [.writeToPackageDirectory(reason: "Write generated Swift files to source directory.")]
),
dependencies: ["swift-gtk-gen"],
path: "Sources/SwiftGtkGenCommandPlugin"
),
.testTarget(
name: "SwiftGtkGenCoreTests",
dependencies: ["SwiftGtkGenCore"]
),
.testTarget(
name: "SwiftGtkGenCLITests",
dependencies: ["SwiftGtkGenCore"]
),
.testTarget(
name: "IntegrationTests",
dependencies: ["SwiftGtkGenCore"]
),
]
)