Skip to main content

Missing SwiftLint runner with ability to define config file per target

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swiftlint-runner-0.0.1.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swiftlint_runner-0.0.1-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file swiftlint-runner-0.0.1.tar.gz.

File metadata

  • Download URL: swiftlint-runner-0.0.1.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for swiftlint-runner-0.0.1.tar.gz
Algorithm Hash digest
SHA256 ac4b7e4fd41180c479d06aeff983b6ad1f822d549a80ca5032d850d7088bbe0b
MD5 3f5c6e378b144036cbd4303f6d9d9f43
BLAKE2b-256 213791ca23b31808cb6f7fa8e0de4ceb866cc6728b278f7bd4add409741c999f

See more details on using hashes here.

File details

Details for the file swiftlint_runner-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: swiftlint_runner-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for swiftlint_runner-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9b21d0291a71583b901458cd1686367f5476902e0ee3cc862cf5fd8ab03a2382
MD5 03f44c37576be6f40edc55b3bd1d5069
BLAKE2b-256 e84de1ed0f46f75f2ee4ded277076db69bd9f6e5bf22f9444770fb15780302e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page