Comments (6)
Thank You for your answer. I will try and report back.
from swiftlint.
This is a known issue that #5157 tries to address. It manifests when wildcards used in the excluded
list resolve to a lot of files.
Changes in this area caused some slight differences in the set of linted files in the past which led to other issues. We should be really sure that a changed algorithm still produces the same matches. As pointed out in a comment, real world testing is difficult for us. So if you'd like to support, please try with #5157 if the performance issue is fixed, but the output is unchanged at the same time.
Off topic: Instead of your custom rule private_iboutlet_variable
you might want to try the built-in (and opt-in) rule private_outlet
.
from swiftlint.
We should be really sure that a changed algorithm still produces the same matches.
Short answer: it doesn't seem so. Give me a bit of time for a deeper analysis.
from swiftlint.
Ok, I figured it out: Looks like the exclude:
part of custom rules is not used in the fix. To be honest the regex in our config is highly questionable and needs to go away. So from my perspective the change is good to go.
But in the interest of science and correctness that part of the fix doesn't work. See screenshot. brew 0.53.0 of the left, fix on the right. (I removed the (…/…)
part of the output and sorted the lines. I can post the playground code if you are interested.)
from swiftlint.
I just realized there is a line - "**/*Test*"
in the global exclude section, so the whole exclusion seems broken.
from swiftlint.
Thanks for playing around with the fix!
Looks like the
exclude:
part of custom rules is not used in the fix.
Yes, it's not part of the fix but should be taken into account at a later step when the rule runs. So if that doesn't work, there might be another issue.
I just realized there is a line
- "**/*Test*"
in the global exclude section, so the whole exclusion seems broken.
I could reproduce that in a unit test. The thing here is that the last component could match files in the previous folder(s) or all folders (and their contained files) named *Test*
. That should be handled correctly now in the updated PR. Please try again.
from swiftlint.
Related Issues (20)
- Rule Request: Newline between function, array, dictionary, tuple parameters HOT 2
- There is a problem with allowed_symbols rule configuration after updating to 0.54.0 HOT 1
- 0.55.0 is broken without blzmod HOT 2
- 0.55.0: Static Over Final Class warning occurs on overridable class property HOT 6
- unneeded_override breaks fixes for "Automatic Initializer Inheritance" HOT 7
- [0.55.0] False positive on unused_enumerated with block + destructuring
- unneeded_synthesized_initializer removes needed initializers if there is any other initializer enclosed within conditional macro
- 0.55.0 not published to Bazel Central Registry HOT 2
- Latest releases (0.54.0 and 0.55.0) are not available via Homebrew HOT 6
- opening_brace triggers when the brace is preceded by a comment
- `trailing_closure` rule disagrees with Swift 5.8 forward-scan matching HOT 3
- Upgrading to 0.55.1 through Homebrew fails HOT 2
- MARK Rule hitting on "marketing"
- Report and Improvements on Swiftlint baseline HOT 8
- `opening_brace` fix is broken
- The baseline use absolute path instead of relative file in the baseline content to identify a file HOT 2
- [0.55.1] False positive on `unused_element` where element and index are used separately in subsequent blocks HOT 2
- `opening_brace` now triggers on multiline if statements HOT 1
- SwiftLintCommandPlugin Unknown option '--target' HOT 1
- Ignore .build folders by default HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swiftlint.