Mechanical editing support for Package.swift manifests

Overview

swift-package-editor

Mechanical editing support for Package.swift manifests. Implements Swift Evolution proposal SE-301

Usage

  • Adding dependencies: swift-package-editor add-dependency https://github.com/apple/swift-nio.git --from 2.0.0
  • Adding targets: swift-package-editor add-target Foo --type executable --dependencies Bar NIO
  • Adding products: swift-package-editor add-product MyLibrary --dependencies Foo

See swift-package-editor --help for more information.

Building

Currently, swift-package-editor can only be built with the SwiftPM CLI. Building the package with Xcode will succeed, but fail at runtime due to linker issues.

Because swift-package-editor depends on swift-syntax to edit Package.swift files, it must also be built using a toolchain which closely matches the resolved version of that package. Because swift-syntax is integrated using a branch dependency on main, usually this is the most recent Swift nightly snapshot. If SWIFTCI_USE_LOCAL_DEPS is set, a checkout of swift-syntax next to swift-package-editor will be used instead. This is intended for use in a build-script build of the Swift toolchain.

Installing

Run ./Utilities/build-script-helper.py install -h for details.

You might also like...
A Swift package for rapid development using a collection of micro utility extensions for Standard Library, Foundation, and other native frameworks.
A Swift package for rapid development using a collection of micro utility extensions for Standard Library, Foundation, and other native frameworks.

ZamzamKit ZamzamKit is a Swift package for rapid development using a collection of micro utility extensions for Standard Library, Foundation, and othe

Swift implementation of the package url spec

PackageURL Swift implementation of the package url specification. Requirements Swift 5.3+ Usage import PackageURL let purl: PackageURL = "pkg:swift/a

Swift Package for Decoding RSS Feeds.

SyndiKit Swift Package built on top of XMLCoder for Decoding RSS Feeds. Check out the DocC-Built Site! Table of Contents Introduction Features Install

A simple Swift package for counting the Syllables in a sentence.

A simple Swift package for counting the Syllables in a sentence.

Azure Maps iOS SDK binary distribution for Swift Package Manager
Azure Maps iOS SDK binary distribution for Swift Package Manager

Azure Maps Control for iOS Installation In your Xcode iOS Project settings, under Project setting’s Package Dependencies, click on + button to add pac

Numerals is a package containing additional numeric types for the Swift programming language.

swift-numerals Numerals is a package containing additional numeric types for the Swift programming language. Contents The package currently provides t

Swift package adding fraction and percentage types.

swift-rationals Rationals is a package containing Fraction and Percentage types for the Swift programming language. Contents The package currently pro

Swift package adding measurable types.

swift-measures Measures is a package containing measurable types for the Swift programming language. Contents The package currently provides the follo

Swift package for accessing SF Symbols in a type safe manner.

Swift Package Information Code Coverage Swift package for accessing SF Symbols in a type safe manner. Features 💫 Contains all SF Symbols - 1.0, 2.0,

Comments
  • incorporating into SwiftPM again

    incorporating into SwiftPM again

    Hi, I love the idea of this tool, and I would like to use it in my tool called swift-bundler. However it doesn't seem to compile for Swift 5.6 and it looks like it would be difficult to incorporate into another tool given that it is so closely linked to the toolchain version.

    How difficult do you think it would be to incorporate this into SwiftPM again (I have seen that this used to be a PR and then you split it into a separate package)? I would be happy to give it a try. I'm also not quite sure whether it would need to go through another pitch/proposal thing again given that the original proposal was quite a while ago.

    opened by stackotter 0
Owner
Owen Voorhees
Software Engineer at Fieldwire, Swift compiler contributor
Owen Voorhees
Swift Package Manager plugin which runs ActionBuilder to create a Github Actions workflow for a swift package.

ActionBuilderPlugin A Swift Package Manager command which builds a Github Actions workflow for the current package. By default the workflow file will

Elegant Chaos 4 Jul 20, 2022
This is a Swift package with support for macOS that allows to start Java Jar's with the default or a custom JVM.

Jar.swift jar runner for macos Jar.swift is created and maintaned with ❥ by Sascha Muellner. What? This is a Swift package with support for macOS that

Swift Package Repository 1 Nov 11, 2021
BCSwiftTor - Opinionated pure Swift controller for Tor, including full support for Swift 5.5 and Swift Concurrency

BCSwiftTor Opinionated pure Swift controller for Tor, including full support for

Blockchain Commons, LLC — A “not-for-profit” benefit corporation 4 Oct 6, 2022
Swift-when - Expression switch support in Swift

Swift When - supporting switch expressions in Swift! What is it? Basically, it a

Gordan Glavaš 7 Nov 24, 2022
Approximate is a Swift package that provides implementations of floating point comparisons for the Swift ecosystem

Approximate Approximate floating point equality comparisons for the Swift Programming Language. Introduction Approximate is a Swift package that provi

Christopher Blanchard 1 Jun 1, 2022
A simple swift package that provides a Swift Concurrency equivalent to `@Published`.

AsyncValue This is a simple package that provides a convenience property wrapper around AsyncStream that behaves almost identically to @Published. Ins

Brent Mifsud 33 Oct 3, 2022
Swift Sequences are limited in that they don't support Iterators with a throwing next().

FailableSequence Swift Sequences are limited in that they don't support Iterators with a throwing next(). There are several use cases for such sequenc

Berik Visschers 0 Dec 6, 2021
Support library of BudouX.swift to handle HTML

HTMLBudouX.swift HTMLBudouX.swift is a support library of BudouX.swift to handle HTML. Detail about BudouX.swift is here Usage You can translate an HT

griffin-stewie 1 Dec 31, 2021
Collection of native Swift extensions to boost your development. Support tvOS and watchOS.

SparrowKit Collection of native Swift extensions to boost your development. Support iOS, tvOS and watchOS. If you like the project, don't forget to pu

Ivan Vorobei 119 Dec 20, 2022
A command-line tool and Swift Package for generating class diagrams powered by PlantUML

SwiftPlantUML Generate UML class diagrams from swift code with this Command Line Interface (CLI) and Swift Package. Use one or more Swift files as inp

null 374 Jan 3, 2023