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)
- Brew repo is not hosting the last version of swiftlint HOT 3
- each variable should have comment HOT 2
- [Swift] Error when importing swiftlint report HOT 5
- Privacy Manifest HOT 1
- Custom rule using lookbehind becomes Invalid configuration HOT 1
- Rule Request: Line break in between case statements HOT 4
- SwiftLint not work with platform=linux/amd64
- SwiftLintPlugin does not honor `included` configuration. Issue? Or expected? HOT 4
- swiftlint analyze appears to stop collecting after 12 files with Swift 5.10 HOT 6
- `unused_import` not taking into account `@_exported import`
- Have a custom rule where if we have a call to a method, we should expect another one HOT 3
- Time for a new release? HOT 2
- Conflict with other macro package HOT 1
- Rule Request: Alphabetise struct property let / vars.
- [unused_declaration] Unused class/struct is not detected if it conforms to a protocol in extension
- Feature request: Add an (opt in) update check to SwiftLint HOT 2
- Dogfood Baselines internally HOT 5
- ShorthandOptionalBinding Rule not working? HOT 3
- Rule Request: Newline between function, array, dictionary, tuple parameters HOT 2
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.