SwiftFormat icon indicating copy to clipboard operation
SwiftFormat copied to clipboard

Trigger swift package plugin as dependency of target

Open valentinvarbanov opened this issue 1 year ago • 2 comments
trafficstars

I want to include swift format into a custom swift package that runs every time the package is being build.

Here is the Package.swift file:

// swift-tools-version: 5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "test-format",
    products: [
        // Products define the executables and libraries a package produces, making them visible to other packages.
        .library(
            name: "test-format",
            targets: ["test-format"]),
    ],
    dependencies: [
//        .package(url: "https://github.com/SimplyDanny/SwiftLintPlugins", from: "0.55.1"), // this works
        .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.54.0"),
    ],
    targets: [
        // Targets are the basic building blocks of a package, defining a module or a test suite.
        // Targets can depend on other targets in this package and products from dependencies.
        .target(
            name: "test-format",
            plugins: [
//                .plugin(name: "SwiftLintBuildToolPlugin", package: "SwiftLintPlugins"), // this works
                .plugin(name: "SwiftFormatPlugin", package: "SwiftFormat"),
            ]),
        .testTarget(
            name: "test-formatTests",
            dependencies: ["test-format"]),
    ]
)

When I try and build the package from within Xcode (cmd + B), I get the following error (same for running tests): Screenshot 2024-08-07 at 13 58 55

When attempting to build from command line I get a different error: Screenshot 2024-08-07 at 14 01 10

Environment:

  • clean swift package created using Xcode 14.2

Goal:

  • SwiftFormat plugin runs when building the package and generates warnings/error that show up in the IDE/build log like:

    Click to expand example Screenshot 2024-08-07 at 14 06 41 Screenshot 2024-08-07 at 14 09 21

    SwiftLint documentation: https://github.com/realm/SwiftLint?tab=readme-ov-file#swift-package-projects

valentinvarbanov avatar Aug 07 '24 11:08 valentinvarbanov

The same problem. Did anybody find a solution?

petomuro avatar Aug 19 '24 11:08 petomuro

This might be a dupe of #1443

amaurydavid avatar Dec 30 '24 18:12 amaurydavid