Giter VIP home page Giter VIP logo

Comments (6)

roddi avatar roddi commented on May 26, 2024 1

Thank You for your answer. I will try and report back.

from swiftlint.

SimplyDanny avatar SimplyDanny commented on May 26, 2024

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.

roddi avatar roddi commented on May 26, 2024

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.

roddi avatar roddi commented on May 26, 2024

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.)
Bildschirmfoto 2024-03-21 um 14 32 50

from swiftlint.

roddi avatar roddi commented on May 26, 2024

I just realized there is a line - "**/*Test*" in the global exclude section, so the whole exclusion seems broken.

from swiftlint.

SimplyDanny avatar SimplyDanny commented on May 26, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.