Commit Graph

5590 Commits

Author SHA1 Message Date
JP Simard 9e4250c2b2
WIP: Rewrite mark rule using SwiftSyntax 2022-08-16 09:27:17 -04:00
JP Simard ac23f2e89a
Log time spent in each custom rule (#4100) 2022-08-15 22:03:06 -04:00
JP Simard 781034bd78
Revert "Clear bazel caches" (#4099)
This reverts commit fe43d6ecd4.
2022-08-15 21:39:38 -04:00
JP Simard 13703c4466
Update SourceKitFreeRules (#4097)
None of these rules use SourceKit
2022-08-16 00:56:03 +00:00
JP Simard 0a3ebdbd37
[Bazel] Define minimum OS versions (#4096)
This helps when building with Xcode 14.
2022-08-15 16:34:50 -04:00
JP Simard 408ba29951
Integrate with rules_xcodeproj (#4095) 2022-08-15 16:22:47 -04:00
JP Simard 3037946bbc
Migrate ClosureSpacingRule to SwiftSyntax (#4092)
Fixes #4090. Continued from #4091.
2022-08-15 18:27:43 +00:00
sarastro-nl d1a1485af6
enable glob for includePaths (#4093) 2022-08-15 13:54:49 +00:00
Danny Mösch ef515ac45e
Fix false positive in `yoda_condition` rule basing it on SwiftSyntax (#4089) 2022-08-14 16:30:09 -04:00
JP Simard 15970311e1
Update CHANGELOG header to say "Master" again 2022-08-12 11:08:49 -04:00
JP Simard 35df4ba6a1
Update bazel ref in readme 2022-08-12 11:07:05 -04:00
JP Simard 6f03036591
release 0.49.0-rc.1 2022-08-12 09:49:13 -04:00
JP Simard dec9ecbf0b
Add note in changelog about upcoming default branch rename (#4088) 2022-08-12 09:46:11 -04:00
JP Simard 5e1eaea148
Improve Buildkite grouping (#4086)
Reference: https://buildkite.com/docs/pipelines/managing-log-output
2022-08-12 00:02:13 -04:00
JP Simard 21ba7c8280
Update SourceKitten to 0.33.0 (#4085)
https://github.com/jpsim/SourceKitten/releases/tag/0.33.0
2022-08-11 21:04:32 +00:00
JP Simard a163638214
Clean up .swiftlint.yml
By removing references to deleted files
2022-08-11 14:48:43 -04:00
Danny Mösch 9eb6dd016c
Let Sourcery always run independent of changed files (#4084) 2022-08-11 16:28:17 +00:00
Timofey Solonin 557c5b5948
Make `duplicate_imports` rule correctable (#4014)
Also fix reporting of redundant violations when more than one duplicate is present.
2022-08-11 18:19:26 +02:00
Danny Mösch c1b74cd752
Rename test classes (#4083) 2022-08-11 07:33:11 +02:00
Danny Mösch a02d4a76cb
Remove references to ManuallyTestedExamplesRule protocol (#4082)
Follow-up of d730e0b3fa.
2022-08-10 21:42:10 +00:00
JP Simard dd4aefd23a
Danger: Clarify that changelog entries are for user-facing changes only 2022-08-10 17:30:47 -04:00
JP Simard 73f4c3e991
Clarify that changelog entries are for user-facing changes only 2022-08-10 17:29:45 -04:00
Danny Mösch d730e0b3fa
Let all example verification tests be generated by Sourcery (#4076) 2022-08-10 22:49:28 +02:00
Danny Mösch 828f36958f
Introduce option to ignore indentation of compiler directives in `indentation_width` rule (#4066) 2022-08-10 21:52:32 +02:00
JP Simard adec1c76ee
Show Bazel test errors on CI 2022-08-10 15:03:44 -04:00
JP Simard 8f620ccd0b
Bump SourceKitten bazel ref (#4080)
To avoid a compiler warning when building with Xcode 14 beta 5
2022-08-10 14:30:41 -04:00
JP Simard 481da28f1e
Remove internal changelog entries 2022-08-10 13:36:58 -04:00
Sara Tavares f8e1b178d6
chore(typo): fix typo on test (#4078) 2022-08-10 13:36:03 -04:00
Sara Tavares 436a6f3484
chore(typo): fix typo on func (#4077) 2022-08-10 13:35:42 -04:00
Danny Mösch 449190d324
Verify examples in rules by default and enforce explicit exclusion (#4065)
A rule must conform to ManuallyTestedExamplesRule to skip generation of a test for its examples.
2022-08-09 22:32:09 +02:00
JP Simard 1ac0419eb6
Fix failing Swift 5.7 test (#4075)
Seems like `CGPoint` moved from the `CoreGraphics` module to the
`CoreFoundation` module.
2022-08-09 16:44:05 +00:00
JP Simard a97718f4c6
Replace incrementer dispatch queue with an actor (#4073)
To support this, we first must use an async entrypoint to the CLI, which
we do by changing the lint and analyze commands to conform to
`AsyncParsableCommand`.

The in order to map over the closures with suspension points, we pull in
CollectionConcurrencyKit as a new dependency.

This change does not touch SwiftLintFramework, only the CLI target.
2022-08-09 13:06:08 +00:00
JP Simard ec8ba17388
Use `@main` attribute (#4072)
This will allow us to have an async entrypoint and use structured
concurrency features in the future.
2022-08-09 03:48:12 +00:00
JP Simard 2b00164081
Remove uses of `Result` in CLI target (#4071)
Which will make it easier to adopt some structured concurrency features
in the future.
2022-08-08 23:04:20 -04:00
JP Simard f39323160c
Remove availability check (#4070)
Since SwiftLint now requires macOS 12 or higher to run.
2022-08-09 02:28:32 +00:00
JP Simard 235264bb7e
Stop building Docker images for Swift 5.5 (#4068)
Follow-up to https://github.com/realm/SwiftLint/pull/4037
2022-08-07 22:03:45 -04:00
JP Simard cc7c400e81
Run bazel tests in sandbox on CI
By setting `IN_PROCESS_SOURCEKIT=1` as `--test_env`
2022-08-07 22:00:10 -04:00
JP Simard 8b8b3d0738
Run all tests with Bazel (#4067)
Other than the one test case that uses paths with spaces in them which
Bazel doesn't support.
2022-08-07 16:56:45 -04:00
JP Simard 0ded5859a1
Rewrite ColonRule with SwiftSyntax (#4063)
Making it about 7x faster, finding some previously missed cases.
2022-08-04 17:23:52 -04:00
Danny Mösch cdb87e3869
Verify all examples provided in rule descriptions (#4061) 2022-08-04 23:06:37 +02:00
JP Simard c50b42c183
Rewrite CommaRule with SwiftSyntax (#4062)
Making it about 10x faster, finding some previously missed cases and
fixing some previously wrong corrections.

This pulls in the `Collection.windows(ofCount:)` function from Swift
Algorithms.
2022-08-04 04:29:38 +00:00
JP Simard ee655a920c
Fix changelog entry placement 2022-08-03 23:14:37 -04:00
Or Eliyahu 19eda14df1
Fix false positives in duplicated_key_in_dictionary_literal rule (#4057) 2022-07-31 21:07:15 +02:00
Danny Mösch 54a8435479
Use specific failure messages in extended tests (#4058) 2022-07-31 14:45:47 +02:00
JP Simard 1dab8181b8
Fix bazel extra rules tests on Linux (#4056) 2022-07-29 19:34:54 +00:00
JP Simard 8b90623b38
[Bazel] Set up tests (#4055)
Run with `bazel test --spawn_strategy=standalone //Tests/...`

Consumers who define rules via `swiftlint_extra_rules` can run tests for
their custom rules too:

```
./bazelw test \
  --spawn_strategy=standalone \
  @SwiftLint//Tests:ExtraRulesTests
```
2022-07-28 19:14:03 +00:00
JP Simard b70c92c34c
Fix `PrimaryRuleList.stencil` (#4053) 2022-07-28 13:23:02 -04:00
JP Simard 340fce43c8
Update bazel ref in readme (#4052) 2022-07-28 13:19:19 -04:00
JP Simard 6c5f53ef66
Add micro-optimization to commands cache (#4050)
Speeds up overall lint time by ~2% for Lyft's iOS monorepo.
2022-07-28 15:44:34 +00:00
JP Simard 949ab6289a
[Bazel] Update SourceKitten 2022-07-27 11:04:45 -04:00