sscpac / statick

Making code quality easier.
https://sscpac.github.io/statick/
Creative Commons Zero v1.0 Universal
74 stars 14 forks source link

Run tool plugins against all files at once when possible. #470

Closed tdenewiler closed 1 year ago

tdenewiler commented 1 year ago

These changes result in significant time reduction compared to running the tools against one file at a time.

tdenewiler commented 1 year ago

I tested these changes with the self_check level against that Statick package, then temporarily added pycodestyle to the self_check level to make sure it works. I also tested this version against a ROS package with node_example in the workspace to exercise C/C++ tools that were changed.

codecov[bot] commented 1 year ago

Codecov Report

Merging #470 (104e2c0) into main (4bde298) will not change coverage. The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #470   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           58        58           
  Lines         3339      3330    -9     
=========================================
- Hits          3339      3330    -9     
Impacted Files Coverage Δ
statick_tool/plugins/tool/black_tool_plugin.py 100.00% <100.00%> (ø)
...tick_tool/plugins/tool/docformatter_tool_plugin.py 100.00% <100.00%> (ø)
...tatick_tool/plugins/tool/flawfinder_tool_plugin.py 100.00% <100.00%> (ø)
statick_tool/plugins/tool/isort_tool_plugin.py 100.00% <100.00%> (ø)
statick_tool/plugins/tool/mypy_tool_plugin.py 100.00% <100.00%> (ø)
...atick_tool/plugins/tool/pycodestyle_tool_plugin.py 100.00% <100.00%> (ø)
...tatick_tool/plugins/tool/pydocstyle_tool_plugin.py 100.00% <100.00%> (ø)
statick_tool/plugins/tool/pyflakes_tool_plugin.py 100.00% <100.00%> (ø)
statick_tool/plugins/tool/xmllint_tool_plugin.py 100.00% <100.00%> (ø)
statick_tool/plugins/tool/yamllint_tool_plugin.py 100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more