Skip to main content

Missing SwiftLint runner

Missing Xcode project aware SwiftLint runner with support for different targets.

Motivation

The original SwiftLint tool is Xcode project agnostic. This can be problematic. Imagine you want to use different SwiftLint config for production and test targets and you have a directory structure where tests (specs) are mixed up with production code:

UI /
│
└── Controllers /
    │
    ├── ViewController.swift
    ├── ViewControllerSpec.swift
    └── Doubles
        └── APIClientDouble.swift

As of now, SwiftLint does not support recursive glob patterns, so you can't exclude the directory like **Doubles.

SwiftLint runner

SwiftLint runner lists all of the Swift files under a specific target, appends it to the specified config file and performs linting on those files.

Given the directory structure:

Project /
│
├── .swiftlint_sources.yml
├── .swiftlint_specs.yml
├── Project.xcodeproj
└── Controllers /
    ├── ViewController.swift
    └── ViewControllerSpec.swift

and the two targets called Production & Specs you can use SwiftLint runner as follows:

slrunner Project.xcodeproj Production .swiftlint_sources.yml
slrunner Project.xcodeproj Specs .swiftlint_specs.yml

And forget about glob patterns at all!

Installation

SwiftLint runner requires Python 3.7. To install it, simply run:

pip install swiftlint-runner

Release files for swiftlint-runner 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for swiftlint-runner 0.0.1
File Size Uploaded
swiftlint-runner-0.0.1.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for swiftlint-runner 0.0.1
File Interpreter ABI Platform
swiftlint_runner-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.8 kB

Release files / swiftlint-runner-0.0.1.tar.gz

Download URL swiftlint-runner-0.0.1.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ac4b7e4fd41180c479d06aeff983b6ad1f822d549a80ca5032d850d7088bbe0b
BLAKE2b-256 checksum
How to use checksums
213791ca23b31808cb6f7fa8e0de4ceb866cc6728b278f7bd4add409741c999f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

Release files / swiftlint_runner-0.0.1-py3-none-any.whl

Download URL swiftlint_runner-0.0.1-py3-none-any.whl
Size 4.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b21d0291a71583b901458cd1686367f5476902e0ee3cc862cf5fd8ab03a2382
BLAKE2b-256 checksum
How to use checksums
e84de1ed0f46f75f2ee4ded277076db69bd9f6e5bf22f9444770fb15780302e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page