250 Commits

Author SHA1 Message Date
Copilot 33e85aacfb Use SwiftSyntax 6.4 pre-release 2026-04-21 (#6628) 2026-05-03 15:59:46 +02:00
Danny Mösch e53760ed26 Use SwiftSyntax 6.4 pre-release 2026-03-31 (#6569) 2026-03-31 11:24:15 +02:00
Danny Mösch 1a01e24907 Use SwiftSyntax 6.4 pre-release 2026-03-24 (#6561) 2026-03-27 13:10:16 -04:00
Danny Mösch 88952528a5 Release 0.63.2 2026-01-26 19:38:26 +00:00
Danny Mösch 6de2cc9587 Use SwiftSyntax 6.4 pre-release 2026-01-20 (#6447) 2026-01-21 00:00:37 +01:00
Danny Mösch 9120756b6e Release 0.63.1 2026-01-15 20:00:27 +00:00
Danny Mösch faa5859155 Introduce guarded filepath provider for file collection (#6435) 2026-01-14 18:06:13 -05:00
Danny Mösch e294d77dd1 Release 0.63.0 2026-01-03 12:37:53 +00:00
Danny Mösch 8c945deddc Release 0.63.0-rc.2 2025-12-20 11:41:56 +00:00
Danny Mösch 2d0725aca9 Use SwiftSyntax 6.4 pre-release 2025-12-15 (#6383) 2025-12-16 11:41:47 +01:00
Danny Mösch ac701c088c Improve performance of excluded files filter (#6342)
The current algorithm is like "collect all included files and subtract all excluded files".
Collecting all included and all excluded files relies on the file system. This can become slow
when the patterns used to exclude files resolve to a large number of files.

The new approach only collects all lintable files and checks them against the exclude patterns.
This can be done by in-memory string-regex-match and does therefore not require file system accesses.
The new implementation also no longer traverses directories that already match an exclude pattern.

(cherry picked from commit 152355e36f)
2025-12-07 15:58:23 +01:00
Saleem Abdulrasool 339d250464 Port to Windows (#5030)
At least ensure it compiles just fine on Windows.

* build: add CryptoSwift dependency for Windows
* SwiftLintBuiltInRules: treat Windows similar to Linux wrt `NSDataDetector`
* SwiftLintCore: initial pass for Windows support

Add some Windows specific handling for the paths in SwiftLintCore.  The
one piece that this change does not cover is the handling of `glob` as
that is not an ISO C standard function and as such there is no `glob` on
Windows.  This will be worked through separately.

* swiftlint: add a Windows port

This enables building the swiftlint command on Windows.  There is no
system ioctl for terminal access, instead, we can use the Win32 Console
API surface to query the console size.  In the case of a failure, assume
the width to be 80-columns (as the standard VGA console is 80x25).

* WIP/SwiftLintCore: port the `glob` function to Windows

Windows does not support `glob` as a standard C library function as that
is not part of the C standard.  Attempt to emulate that through the use
of `FindFirstFileW` and `FindNextFile` to iterate the matching files
given a pattern.  This should allow us to start enumerating the files as
if we had `glob` available.
2025-11-21 09:59:28 +01:00
Danny Mösch ede316d453 Use SwiftSyntax 6.3 pre-release 2025-10-30 (#6330) 2025-11-01 13:34:08 +01:00
Danny Mösch da9d742874 Release 0.62.2 2025-10-28 17:10:24 +00:00
Danny Mösch 25409e2e27 Revert "Declare TestHelpers as a test target"
This reverts commit 4019a6e286.
2025-10-18 00:19:05 +02:00
Danny Mösch 4019a6e286 Declare TestHelpers as a test target (#6300) 2025-10-14 22:40:33 +02:00
Danny Mösch 57dba9819e Release 0.62.1 2025-10-13 21:14:38 +00:00
Danny Mösch 70f5900675 Release 0.62.0 2025-10-13 18:38:11 +00:00
Danny Mösch 4065fc8437 Enable upcoming feature MemberImportVisibility (#6286) 2025-10-08 08:12:05 +02:00
Danny Mösch 035fcc53d5 Enable upcoming feature InferIsolatedConformances (#6285) 2025-10-07 22:18:52 +02:00
Danny Mösch ad793d1c5b Add new test module for tests requiring file system access (#6276)
These tests can especially not run in parallel.
2025-10-03 23:05:15 +02:00
Danny Mösch 66f244beaa Use failure handler in macro tests 2025-10-03 22:41:38 +02:00
Danny Mösch 7348cf0f4a Use SwiftSyntax 6.3 pre-release 2025-09-15 (#6206) 2025-09-29 14:59:47 +02:00
Danny Mösch 427565fe1b Re-add workaround for download issue with Swift 5.10 (#6256) 2025-09-24 22:02:50 +00:00
Danny Mösch dc98988425 Exclude Bazel resources from packaging 2025-09-23 10:39:54 +02:00
Danny Mösch 60671f4dfa Simplify structure of artifact bundle (#6239) 2025-09-08 14:28:36 -04:00
Danny Mösch cc6fbaf355 Release 0.61.0 2025-09-06 14:22:25 +00:00
Danny Mösch 087278c052 Introduce new CoreTests module (#6233)
It's supposed to test code from SwiftLintCore.
2025-09-04 20:56:51 +02:00
Danny Mösch a351a0dea2 Release 0.60.0 2025-08-30 11:39:42 +00:00
Danny Mösch 8ada387884 Ignore locally defined count identifiers in empty_count rule (#6202) 2025-08-24 14:08:40 -04:00
Danny Mösch 81e99e973f Use SwiftSyntax 6.2 pre-release 2025-08-11 (#6185) 2025-08-24 14:16:01 +02:00
Danny Mösch 8229f45de4 Update dependencies (#6162) 2025-07-11 23:40:08 +02:00
JP Simard 873b2b66e6 Require macOS 13 (#6114) 2025-06-20 07:12:38 -04:00
Danny Mösch 66930722ad Update dependencies and harmonize Bazel build modes (#6097) 2025-06-17 10:22:49 +02:00
Scott Hoyt 348800b007 Update SwiftSyntax to 601.0.1 (#6093) 2025-06-15 13:39:39 -04:00
Danny Mösch 6257924230 Release 0.59.1 2025-04-15 15:30:59 +00:00
Danny Mösch ce8ca6a6e7 Release 0.59.0 2025-04-05 11:43:59 +00:00
Danny Mösch 2578cb3862 Use SwiftSyntax version 601.0.0 (#6003) 2025-04-03 21:27:57 +02:00
Danny Mösch 66dd38bb76 Register rules in test reference (#6036)
Integration test is so not needed anymore as complete registration
is already verified by a dedicated build job.
2025-03-26 21:05:04 +00:00
Danny Mösch 043f9cac5b Introduce internal CLI to simplify development tasks (#6032)
Start with a command that generates a template for a new SwiftSyntax
rule. This tool could remain separate or be merged into the official
binary under a `dev` sub-command at a later point in time.
2025-03-23 01:21:41 +01:00
Danny Mösch 0004642abf Revert "Expose only SwiftLintCore in SPM and Bazel (#6021)"
This reverts commit 850eb7e214.
2025-03-16 19:23:39 +01:00
Danny Mösch 850eb7e214 Expose only SwiftLintCore in SPM and Bazel (#6021) 2025-03-16 16:44:44 +01:00
Danny Mösch 4cab6e7948 Update dependencies (#6004)
* Yams 5.3.0
* SourceKitten 0.37.0
2025-02-22 16:24:42 -05:00
Danny Mösch 849dbfdd28 Enable upcoming features improving concurrency checking (#5994)
* `InferSendableFromCaptures`
* `GlobalActorIsolatedTypesUsability`
2025-02-10 19:23:42 +01:00
github-actions[bot] eba420f778 Release 0.58.2 2025-01-16 22:25:20 +00:00
github-actions[bot] 96fa57d020 Release 0.58.1 2025-01-15 18:36:17 +00:00
Danny Mösch fcdc98a52d Revert "Improve performance of excluded files filter" (#5962)
This reverts commit 152355e36f from #5157.

# Conflicts:
#	tools/oss-check
2025-01-15 19:15:44 +01:00
github-actions[bot] fcd4374431 Release 0.58.0 2025-01-12 12:35:01 +00:00
Danny Mösch 1f060dd8ce Prepare for 0.58.0 release 2025-01-12 13:20:41 +01:00
Danny Mösch 526371222b Revert "Prepare for 0.58.0 release"
This reverts commit ffa1979c88.
2025-01-11 23:40:54 +01:00