Commit Graph

53 Commits

Author SHA1 Message Date
Danny Mösch 9710148f76 Replace Sourcery with internal implementation (#6034)
Tasks we perform with Sourcery are rather simple and can be replaced
with a basic collection of files and the generation of lists in the
new `swiftlint-dev` command. This spares contributors from installing
either Sourcery or Bazel.
2025-03-26 20:38:53 +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 23de382204 Fix some typos (#5993) 2025-02-09 22:45:51 +01:00
Danny Mösch b0e4fc5282 Update contribution manual (#5992) 2025-02-08 21:27:08 +01:00
Danny Mösch b368c42f4f Lint Markdown files in PRs (#5972) 2025-01-19 13:21:51 +00:00
Danny Mösch 1dbe0957c6 Move release instructions 2024-09-07 18:08:02 +02:00
Danny Mösch 7595ad3faf Update contribution guideline (#5474) 2024-02-24 18:29:40 +00:00
Garric G. Nahapetian 68c9b86e40 Add destination to xcodebuild test instructions (#5392) 2023-12-15 16:03:00 +01:00
Keith Smiley 243549d49c Update CONTRIBUTING ConfigurationError mention for API change (#5091) 2023-06-30 21:36:28 +00:00
woxtu a53a1f052b Fix links to rules directory (#5029) 2023-05-22 21:37:48 +02:00
JP Simard f866ec32b1 Add link to video tutorial demonstrating how to write a rule (#4910)
https://vimeo.com/819268038
2023-04-19 17:16:27 -04:00
JP Simard e1cddb710d Remove remote bazel cache steps from CI instructions (#4650)
Moved over to BuildBuddy.
2022-12-19 11:02:04 -05:00
JP Simard 9a305dd2e6 Update CI setup instructions (#4479) 2022-10-26 10:25:06 -04:00
JP Simard 230688848e Update CI docs (#4419)
To reflect the need to install `bazelisk`.
2022-10-19 14:14:47 +00:00
JP Simard eb8971a933 Update CI docs (#4418)
Needs the `HOME` environment variable to bet set with some machines.
2022-10-19 09:10:36 -04:00
JP Simard 016831d471 Update CI machine setup instructions (#4416) 2022-10-19 07:49:18 -04:00
JP Simard ea41b9fd09 Rename default branch from master to main (#4116) 2022-09-01 07:09:46 -04:00
JP Simard a9e5a644bb Remove rbenv/ruby setup from CONTRIBUTING.md (#4140)
It's no longer needed as of https://github.com/realm/SwiftLint/pull/4138
2022-08-28 23:54:47 -04:00
JP Simard ccac242f3a Update CI setup instructions again 2022-08-28 14:15:28 -04:00
JP Simard 05461c8525 Update CONTRIBUTING.md with new CI steps for Bazel remote cache 2022-08-28 12:37:02 -04:00
JP Simard 73f4c3e991 Clarify that changelog entries are for user-facing changes only 2022-08-10 17:29:45 -04:00
JP Simard f0d6c54574 [CONTRIBUTING] Add note to install bundler on CI machines 2022-04-25 11:21:15 -04:00
JP Simard 5897598ba8 [CONTRIBUTING] Add CI section 2022-04-05 11:28:49 -04:00
Paul Taykalo 1616023b63 Add ability to run only one(focused) example (#3911)
* Add ability to focus on a specific test example

* Update CHANGELOG.md

Co-authored-by: JP Simard <jp@jpsim.com>

* Update CONTRIBUTING.md

Co-authored-by: JP Simard <jp@jpsim.com>

Co-authored-by: JP Simard <jp@jpsim.com>
2022-03-22 19:21:25 +02:00
Iulian Onofrei d712e77bab Add contributing screenshot with better example arguments (#3604)
Add a screenshot that shows the `--no-cache` argument, because this is
what should be used in most cases, since the cache is enabled by
default, so the debugger won't stop in the implementation of a rule on a
subsequent run.

Also update the second screenshot from the same macOS version (Big Sur)
for consistency.
2021-04-27 22:48:12 -07:00
JP Simard 76708d88f7 Remove Xcode project & Drop Carthage Support
Xcode has supported Swift Package Manager projects natively since Xcode
11, which has been out for over a year, where you can use Xcode by
having it open the `Package.swift` manifest rather than a `.xcodeproj`
or `.xcworkspace`.

I've been primarily developing SwiftLint in Xcode using this approach
for over a year, and despite a few nitpicks I have, it's been a joy to
use.

So I'd like to completely remove the Xcode project along with things
that support it:

* `SwiftLint.xcworkspace`/`SwiftLint.xcodeproj`: Neither of these are
  needed if we use `xed .` or `xed Package.swift` to develop SwiftLint
  in Xcode.
* `Cartfile`/`Cartfile.private`/`Cartfile.resolved`/`.gitmodules`/`Carthage/`:
  These were used to manage dependencies as git submodules for use in
  the Xcode workspace, but that's no longer necessary if Xcode delegates
  to SwiftPM to manage dependencies for us.
* Some scripts can be simplified, cleaned up or even completely removed.

* **Reduce duplication:** Rather than update dependencies or files in
  multiples places, there will only be the package manifest and the
  Podfile
* **Reduce merge conflicts:** This hasn't been too bad, but it's
  occasionally a pain when trying to land old PRs
* **Reduce development overhead:** No need to manually make sure that
  files in the Xcode project are sorted alphabetically
* **Reduce clone time:** No need to run
  `git submodules update --init --recursive` anymore

I think this breaks Carthage users that pull in SwiftLintFramework as a
dependency in a Cartfile.

However I can't find any references to [`SwiftLintFramework` in any
`Cartfile` files on GitHub](https://github.com/search?q=swiftlintframework+filename%3ACartfile&type=Code&ref=advsearch&l=&l=)
so this doesn't appear to be worth continuing to maintain.

Resolves https://github.com/realm/SwiftLint/issues/3412
2020-11-08 13:32:07 -05:00
mknabbe 5308e0d167 Improve CONTRIBUTING.md (#3394)
* Improve "Working Directory" instructions in CONTRIBUTING.md (#1280)

The instruction wasn't clear to me and it took me some time to figure out what to insert into the "Working Directory" option.

Co-Authored-By: oonoo <2565796+oonoo@users.noreply.github.com>

* Improve "Arguments Passed On Launch" instructions in CONTRIBUTING.md (#1280)

I wasn't sure which arguments could be passed to SwiftLint. I referenced the Command Line paragraph in the README, it already lists the available arguments.

Co-Authored-By: oonoo <2565796+oonoo@users.noreply.github.com>

* Add more details to "Submodules" in CONTRIBUTING.md (#1280)

The reason to checkout git submodules wasn't mentioned. I added the use cases for submodules, as Swift Package Manager doesn't make use of the git submodules.

* Format "Using Xcode" in CONTRIBUTING.md (#1280)

Limit line length to 80 characters in "Using Xcode" section of CONTRIBUTING.md.

* Document changes in CHANGELOG.md (#1280)

* Add missing word

Co-authored-by: oonoo <2565796+oonoo@users.noreply.github.com>
Co-authored-by: JP Simard <jp@jpsim.com>
2020-10-27 10:33:08 -07:00
JP Simard 774267c436 [CONTRIBUTING] Add building & running tips (#3360)
* [CONTRIBUTING] Add building & running tips

* fixup! [CONTRIBUTING] Add building & running tips
2020-09-22 10:44:11 -04:00
Zev Eisenberg 5a1693c6aa Less forceful language. 2020-08-18 11:32:23 -04:00
Zev Eisenberg 93527bc9b8 Explain why two trailing spaces are needed. 2020-08-18 11:23:26 -04:00
Ryoya Ito 302f377a4b fix links about configuration rules (#3142) 2020-03-13 08:34:43 -07:00
JP Simard df6cf175d8 Remove outdated Documentation section of CONTRIBUTING.md 2020-01-07 20:36:30 -08:00
JP Simard 8dfdc0fca2 Allow links to PRs instead of issues 2018-07-30 09:00:27 -07:00
JP Simard e76748adbd Update CONTRIBUTING.md
to reflect that the 'Generate Docs' scheme is gone.
2017-09-09 15:31:37 -07:00
JP Simard 96fd2191f1 Document that rebasing feature branches is preferred
over merging master. This is already enforced in the Dangerfile,
as of #1775 but we should probably document it.
2017-08-21 13:25:47 -07:00
Marcelo Fabri 3e80e91265 Add scheme for docs and section in CONTRIBUTING 2017-07-03 00:30:36 +02:00
JP Simard 9a81734081 use Sourcery to generate MasterRuleList.swift 2017-06-02 14:28:37 -07:00
JP Simard 25a92c4e03 automatically generate LinuxMain.swift using Sourcery
This adds 6 tests that were accidentally not being run on Linux:

* LineLengthConfigurationTests.testLineLengthConfigurationInitialiserSetsIgnoresComments
* LineLengthConfigurationTests.testLineLengthConfigurationInitialiserSetsIgnoresFunctionDeclarations
* LineLengthConfigurationTests.testLineLengthConfigurationThrowsOnBadConfigValues
* LineLengthRuleTests.testLineLengthWithIgnoreCommentsEnabled
* LineLengthRuleTests.testLineLengthWithIgnoreFunctionDeclarationsEnabled
* RegionTests.testSeveralRegionsFromSeveralCommands
2017-06-02 14:28:37 -07:00
Patrick Balestra fdb46dcb87 Update CONTRIBUTING.md
Fix dead link and deprecated rule name
2017-02-17 20:37:01 +01:00
JP Simard a2ec02cb78 replace uses of 'variable_name' with 'identifier_name' in markdown files 2017-02-09 16:14:49 -08:00
Michael Helmbrecht ad226c2b39 Add missing period. 2016-12-19 20:10:04 -08:00
JP Simard 51e5f36c22 clarify that tests should be mirrored in the allTests extensions 2016-12-11 15:25:47 -08:00
JP Simard 3dcfdf59bf add "Tests" section to contributing doc 2016-12-11 15:18:58 -08:00
Olivier Halligon 256dce895b Adding information on how to add a trivial Unit Test 2016-08-12 00:33:04 +02:00
Olivier Halligon 66eb917456 Small addendum to CONTRIBUTING.md about submodules 2016-08-11 23:14:12 +02:00
Reimar Twelker f61b3c6b5c Updated type names and filenames mentioned in CONTRIBUTING.md to match the (recently renamed) types and files in the project 2016-04-11 16:13:47 +02:00
Scott Hoyt 6718de40f6 Fixed typo in CONTRIBUTING 2016-01-23 17:42:13 -08:00
Scott Hoyt 53218ec1b6 Update CONTRIBUTING 2016-01-23 17:42:13 -08:00
JP Simard f3cec81af5 explain that all changes must be done via PRs in CONTRIBUTING.md 2016-01-13 17:45:47 -08:00
JP Simard 9d138ad691 Merge pull request #314 from realm/sh-dictionary-parameters
Dictionary Parameterization of rules
2016-01-12 11:32:45 -08:00