Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Add --lint-all=<regex> as an option for clang_tidy, refactor lint targets #46522

Merged
merged 7 commits into from
Oct 18, 2023

Conversation

matanlurey
Copy link
Contributor

@matanlurey matanlurey commented Oct 3, 2023

I plan to use this to get reasonable re-lint times locally when iterating on enabling lints, and finishing flutter/flutter#134969.

For example:

$ prebuilts/macos-arm64/dart-sdk/bin/dart tools/clang_tidy/bin/main.dart --lint-regex=".*\/fml\/.*"
┌──────────────────────────┐
│ Engine Clang Tidy Linter │
└──────────────────────────┘
The following errors have been reported by the Engine Clang Tidy Linter.  For
more information on addressing these issues please see:
https://github.com/flutter/flutter/wiki/Engine-Clang-Tidy-Linter

🔶 linting flutter/fml/command_line.cc
🔶 linting flutter/fml/command_line.cc
🔶 linting flutter/fml/ascii_trie.cc
🔶 linting flutter/fml/base32.cc
🔶 linting flutter/fml/concurrent_message_loop.cc
🔶 linting flutter/fml/cpu_affinity.cc
🔶 linting flutter/fml/delayed_task.cc
🔶 linting flutter/fml/endianness.cc
🔶 linting flutter/fml/file.cc
🔶 linting flutter/fml/hex_codec.cc
🔶 linting flutter/fml/icu_util.cc
🔶 linting flutter/fml/log_settings.cc
🔶 linting flutter/fml/log_settings_state.cc
🔶 linting flutter/fml/logging.cc
🔶 linting flutter/fml/mapping.cc
🔶 linting flutter/fml/memory/task_runner_checker.cc
🔶 linting flutter/fml/memory/thread_checker.cc
🔶 linting flutter/fml/memory/weak_ptr_internal.cc
🔶 linting flutter/fml/message_loop.cc
🔶 linting flutter/fml/message_loop_impl.cc
🔶 linting flutter/fml/message_loop_task_queues.cc
🔶 linting flutter/fml/paths.cc
🔶 linting flutter/fml/raster_thread_merger.cc
🔶 linting flutter/fml/shared_thread_merger.cc
🔶 linting flutter/fml/synchronization/count_down_latch.cc
🔶 linting flutter/fml/synchronization/semaphore.cc
🔶 linting flutter/fml/synchronization/sync_switch.cc
🔶 linting flutter/fml/synchronization/waitable_event.cc
🔶 linting flutter/fml/task_runner.cc
🔶 linting flutter/fml/task_source.cc
🔶 linting flutter/fml/thread.cc
🔶 linting flutter/fml/thread_local.cc
🔶 linting flutter/fml/time/time_point.cc
🔶 linting flutter/fml/trace_event.cc
🔶 linting flutter/fml/unique_fd.cc
🔶 linting flutter/fml/backtrace_stub.cc
🔶 linting flutter/fml/platform/darwin/concurrent_message_loop_factory.mm
🔶 linting flutter/fml/platform/posix/shared_mutex_posix.cc
🔶 linting flutter/fml/platform/darwin/cf_utils.cc
🔶 linting flutter/fml/platform/darwin/message_loop_darwin.mm
🔶 linting flutter/fml/platform/darwin/paths_darwin.mm
🔶 linting flutter/fml/platform/darwin/platform_version.mm
🔶 linting flutter/fml/platform/darwin/scoped_block.mm
🔶 linting flutter/fml/platform/darwin/scoped_nsautorelease_pool.cc
🔶 linting flutter/fml/platform/darwin/scoped_nsobject.mm
🔶 linting flutter/fml/platform/darwin/string_range_sanitization.mm
🔶 linting flutter/fml/platform/posix/command_line_posix.cc
🔶 linting flutter/fml/platform/posix/file_posix.cc
🔶 linting flutter/fml/platform/posix/mapping_posix.cc
🔶 linting flutter/fml/platform/posix/native_library_posix.cc
🔶 linting flutter/fml/platform/posix/paths_posix.cc
🔶 linting flutter/fml/platform/posix/posix_wrappers_posix.cc
🔶 linting flutter/fml/ascii_trie.cc
🔶 linting flutter/fml/base32.cc
🔶 linting flutter/fml/concurrent_message_loop.cc
🔶 linting flutter/fml/cpu_affinity.cc
🔶 linting flutter/fml/delayed_task.cc
🔶 linting flutter/fml/endianness.cc
🔶 linting flutter/fml/file.cc
🔶 linting flutter/fml/hex_codec.cc
🔶 linting flutter/fml/icu_util.cc
🔶 linting flutter/fml/log_settings.cc
🔶 linting flutter/fml/log_settings_state.cc
🔶 linting flutter/fml/logging.cc
🔶 linting flutter/fml/mapping.cc
🔶 linting flutter/fml/memory/task_runner_checker.cc
🔶 linting flutter/fml/memory/thread_checker.cc
🔶 linting flutter/fml/memory/weak_ptr_internal.cc
🔶 linting flutter/fml/message_loop.cc
🔶 linting flutter/fml/message_loop_impl.cc
🔶 linting flutter/fml/message_loop_task_queues.cc
🔶 linting flutter/fml/paths.cc
🔶 linting flutter/fml/raster_thread_merger.cc
🔶 linting flutter/fml/shared_thread_merger.cc
🔶 linting flutter/fml/synchronization/count_down_latch.cc
🔶 linting flutter/fml/synchronization/semaphore.cc
🔶 linting flutter/fml/synchronization/sync_switch.cc
🔶 linting flutter/fml/synchronization/waitable_event.cc
🔶 linting flutter/fml/task_runner.cc
🔶 linting flutter/fml/task_source.cc
🔶 linting flutter/fml/thread.cc
🔶 linting flutter/fml/thread_local.cc
🔶 linting flutter/fml/time/time_point.cc
🔶 linting flutter/fml/trace_event.cc
🔶 linting flutter/fml/unique_fd.cc
🔶 linting flutter/fml/backtrace_stub.cc
🔶 linting flutter/fml/platform/darwin/concurrent_message_loop_factory.mm
🔶 linting flutter/fml/platform/posix/shared_mutex_posix.cc
🔶 linting flutter/fml/platform/darwin/cf_utils.cc
🔶 linting flutter/fml/platform/darwin/message_loop_darwin.mm
🔶 linting flutter/fml/platform/darwin/paths_darwin.mm
🔶 linting flutter/fml/platform/darwin/platform_version.mm
🔶 linting flutter/fml/platform/darwin/scoped_block.mm
🔶 linting flutter/fml/platform/darwin/scoped_nsautorelease_pool.cc
🔶 linting flutter/fml/platform/darwin/scoped_nsobject.mm
🔶 linting flutter/fml/platform/darwin/string_range_sanitization.mm
🔶 linting flutter/fml/platform/posix/command_line_posix.cc
🔶 linting flutter/fml/platform/posix/file_posix.cc
🔶 linting flutter/fml/platform/posix/mapping_posix.cc
🔶 linting flutter/fml/platform/posix/native_library_posix.cc
🔶 linting flutter/fml/platform/posix/paths_posix.cc
🔶 linting flutter/fml/platform/posix/posix_wrappers_posix.cc
🔶 linting flutter/fml/message_loop_task_queues_benchmark.cc
🔶 linting flutter/fml/ascii_trie_unittests.cc
🔶 linting flutter/fml/backtrace_unittests.cc
🔶 linting flutter/fml/base32_unittest.cc
🔶 linting flutter/fml/closure_unittests.cc
🔶 linting flutter/fml/command_line_unittest.cc
🔶 linting flutter/fml/container_unittests.cc
🔶 linting flutter/fml/cpu_affinity_unittests.cc
🔶 linting flutter/fml/endianness_unittests.cc
🔶 linting flutter/fml/file_unittest.cc
🔶 linting flutter/fml/hash_combine_unittests.cc
🔶 linting flutter/fml/hex_codec_unittest.cc
🔶 linting flutter/fml/logging_unittests.cc
🔶 linting flutter/fml/mapping_unittests.cc
🔶 linting flutter/fml/math_unittests.cc
🔶 linting flutter/fml/memory/ref_counted_unittest.cc
🔶 linting flutter/fml/memory/task_runner_checker_unittest.cc
🔶 linting flutter/fml/memory/weak_ptr_unittest.cc
🔶 linting flutter/fml/message_loop_impl_unittests.cc
🔶 linting flutter/fml/message_loop_task_queues_merge_unmerge_unittests.cc
🔶 linting flutter/fml/message_loop_task_queues_unittests.cc
🔶 linting flutter/fml/message_loop_unittests.cc
🔶 linting flutter/fml/paths_unittests.cc
🔶 linting flutter/fml/raster_thread_merger_unittests.cc
🔶 linting flutter/fml/string_conversion_unittests.cc
🔶 linting flutter/fml/synchronization/count_down_latch_unittests.cc
🔶 linting flutter/fml/synchronization/semaphore_unittest.cc
🔶 linting flutter/fml/synchronization/sync_switch_unittest.cc
🔶 linting flutter/fml/synchronization/waitable_event_unittest.cc
🔶 linting flutter/fml/task_source_unittests.cc
🔶 linting flutter/fml/thread_local_unittests.cc
🔶 linting flutter/fml/thread_unittests.cc
🔶 linting flutter/fml/time/chrono_timestamp_provider.cc
🔶 linting flutter/fml/time/time_delta_unittest.cc
🔶 linting flutter/fml/time/time_point_unittest.cc
🔶 linting flutter/fml/time/time_unittest.cc
🔶 linting flutter/fml/platform/darwin/cf_utils_unittests.mm
🔶 linting flutter/fml/platform/darwin/string_range_sanitization_unittests.mm
🔶 linting flutter/fml/string_conversion.cc
🔶 linting flutter/fml/string_conversion.cc
🔶 linting flutter/fml/dart/dart_converter.cc
[0:00] Jobs:   0% done,   1/143 completed,  7 in progress, 135 pending,   0 failed.  

@matanlurey matanlurey requested a review from zanderso October 3, 2023 21:27
@matanlurey
Copy link
Contributor Author

Ah, --lint-all --lint-head is now treated differently!

I'm just going to add --lint-regex as an explicit option instead of being clever. Will re-commit shortly.

@matanlurey matanlurey marked this pull request as draft October 5, 2023 20:40
@flutter-dashboard
Copy link

This pull request has been changed to a draft. The currently pending flutter-gold status will not be able to resolve until a new commit is pushed or the change is marked ready for review again.

@matanlurey matanlurey marked this pull request as ready for review October 9, 2023 17:40
@matanlurey matanlurey merged commit a7e4fd9 into flutter:main Oct 18, 2023
@matanlurey matanlurey deleted the engine-clangTidy-lintAllRegex branch October 18, 2023 18:06
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Oct 18, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Oct 18, 2023
…136834)

flutter/engine@ab86c53...6caee32

2023-10-18 [email protected] Roll Skia from b8c989df901a to ccd07c6f5042 (3 revisions) (flutter/engine#47063)
2023-10-18 [email protected] Add `--lint-all=<regex>` as an option for `clang_tidy`, refactor lint targets (flutter/engine#46522)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
harryterkelsen pushed a commit that referenced this pull request Oct 23, 2023
… targets (#46522)

I plan to use this to get reasonable re-lint times locally when
iterating on enabling lints, and finishing
flutter/flutter#134969.

For example:

```shell
$ prebuilts/macos-arm64/dart-sdk/bin/dart tools/clang_tidy/bin/main.dart --lint-regex=".*\/fml\/.*"
┌──────────────────────────┐
│ Engine Clang Tidy Linter │
└──────────────────────────┘
The following errors have been reported by the Engine Clang Tidy Linter.  For
more information on addressing these issues please see:
https://github.com/flutter/flutter/wiki/Engine-Clang-Tidy-Linter

🔶 linting flutter/fml/command_line.cc
🔶 linting flutter/fml/command_line.cc
🔶 linting flutter/fml/ascii_trie.cc
🔶 linting flutter/fml/base32.cc
🔶 linting flutter/fml/concurrent_message_loop.cc
🔶 linting flutter/fml/cpu_affinity.cc
🔶 linting flutter/fml/delayed_task.cc
🔶 linting flutter/fml/endianness.cc
🔶 linting flutter/fml/file.cc
🔶 linting flutter/fml/hex_codec.cc
🔶 linting flutter/fml/icu_util.cc
🔶 linting flutter/fml/log_settings.cc
🔶 linting flutter/fml/log_settings_state.cc
🔶 linting flutter/fml/logging.cc
🔶 linting flutter/fml/mapping.cc
🔶 linting flutter/fml/memory/task_runner_checker.cc
🔶 linting flutter/fml/memory/thread_checker.cc
🔶 linting flutter/fml/memory/weak_ptr_internal.cc
🔶 linting flutter/fml/message_loop.cc
🔶 linting flutter/fml/message_loop_impl.cc
🔶 linting flutter/fml/message_loop_task_queues.cc
🔶 linting flutter/fml/paths.cc
🔶 linting flutter/fml/raster_thread_merger.cc
🔶 linting flutter/fml/shared_thread_merger.cc
🔶 linting flutter/fml/synchronization/count_down_latch.cc
🔶 linting flutter/fml/synchronization/semaphore.cc
🔶 linting flutter/fml/synchronization/sync_switch.cc
🔶 linting flutter/fml/synchronization/waitable_event.cc
🔶 linting flutter/fml/task_runner.cc
🔶 linting flutter/fml/task_source.cc
🔶 linting flutter/fml/thread.cc
🔶 linting flutter/fml/thread_local.cc
🔶 linting flutter/fml/time/time_point.cc
🔶 linting flutter/fml/trace_event.cc
🔶 linting flutter/fml/unique_fd.cc
🔶 linting flutter/fml/backtrace_stub.cc
🔶 linting flutter/fml/platform/darwin/concurrent_message_loop_factory.mm
🔶 linting flutter/fml/platform/posix/shared_mutex_posix.cc
🔶 linting flutter/fml/platform/darwin/cf_utils.cc
🔶 linting flutter/fml/platform/darwin/message_loop_darwin.mm
🔶 linting flutter/fml/platform/darwin/paths_darwin.mm
🔶 linting flutter/fml/platform/darwin/platform_version.mm
🔶 linting flutter/fml/platform/darwin/scoped_block.mm
🔶 linting flutter/fml/platform/darwin/scoped_nsautorelease_pool.cc
🔶 linting flutter/fml/platform/darwin/scoped_nsobject.mm
🔶 linting flutter/fml/platform/darwin/string_range_sanitization.mm
🔶 linting flutter/fml/platform/posix/command_line_posix.cc
🔶 linting flutter/fml/platform/posix/file_posix.cc
🔶 linting flutter/fml/platform/posix/mapping_posix.cc
🔶 linting flutter/fml/platform/posix/native_library_posix.cc
🔶 linting flutter/fml/platform/posix/paths_posix.cc
🔶 linting flutter/fml/platform/posix/posix_wrappers_posix.cc
🔶 linting flutter/fml/ascii_trie.cc
🔶 linting flutter/fml/base32.cc
🔶 linting flutter/fml/concurrent_message_loop.cc
🔶 linting flutter/fml/cpu_affinity.cc
🔶 linting flutter/fml/delayed_task.cc
🔶 linting flutter/fml/endianness.cc
🔶 linting flutter/fml/file.cc
🔶 linting flutter/fml/hex_codec.cc
🔶 linting flutter/fml/icu_util.cc
🔶 linting flutter/fml/log_settings.cc
🔶 linting flutter/fml/log_settings_state.cc
🔶 linting flutter/fml/logging.cc
🔶 linting flutter/fml/mapping.cc
🔶 linting flutter/fml/memory/task_runner_checker.cc
🔶 linting flutter/fml/memory/thread_checker.cc
🔶 linting flutter/fml/memory/weak_ptr_internal.cc
🔶 linting flutter/fml/message_loop.cc
🔶 linting flutter/fml/message_loop_impl.cc
🔶 linting flutter/fml/message_loop_task_queues.cc
🔶 linting flutter/fml/paths.cc
🔶 linting flutter/fml/raster_thread_merger.cc
🔶 linting flutter/fml/shared_thread_merger.cc
🔶 linting flutter/fml/synchronization/count_down_latch.cc
🔶 linting flutter/fml/synchronization/semaphore.cc
🔶 linting flutter/fml/synchronization/sync_switch.cc
🔶 linting flutter/fml/synchronization/waitable_event.cc
🔶 linting flutter/fml/task_runner.cc
🔶 linting flutter/fml/task_source.cc
🔶 linting flutter/fml/thread.cc
🔶 linting flutter/fml/thread_local.cc
🔶 linting flutter/fml/time/time_point.cc
🔶 linting flutter/fml/trace_event.cc
🔶 linting flutter/fml/unique_fd.cc
🔶 linting flutter/fml/backtrace_stub.cc
🔶 linting flutter/fml/platform/darwin/concurrent_message_loop_factory.mm
🔶 linting flutter/fml/platform/posix/shared_mutex_posix.cc
🔶 linting flutter/fml/platform/darwin/cf_utils.cc
🔶 linting flutter/fml/platform/darwin/message_loop_darwin.mm
🔶 linting flutter/fml/platform/darwin/paths_darwin.mm
🔶 linting flutter/fml/platform/darwin/platform_version.mm
🔶 linting flutter/fml/platform/darwin/scoped_block.mm
🔶 linting flutter/fml/platform/darwin/scoped_nsautorelease_pool.cc
🔶 linting flutter/fml/platform/darwin/scoped_nsobject.mm
🔶 linting flutter/fml/platform/darwin/string_range_sanitization.mm
🔶 linting flutter/fml/platform/posix/command_line_posix.cc
🔶 linting flutter/fml/platform/posix/file_posix.cc
🔶 linting flutter/fml/platform/posix/mapping_posix.cc
🔶 linting flutter/fml/platform/posix/native_library_posix.cc
🔶 linting flutter/fml/platform/posix/paths_posix.cc
🔶 linting flutter/fml/platform/posix/posix_wrappers_posix.cc
🔶 linting flutter/fml/message_loop_task_queues_benchmark.cc
🔶 linting flutter/fml/ascii_trie_unittests.cc
🔶 linting flutter/fml/backtrace_unittests.cc
🔶 linting flutter/fml/base32_unittest.cc
🔶 linting flutter/fml/closure_unittests.cc
🔶 linting flutter/fml/command_line_unittest.cc
🔶 linting flutter/fml/container_unittests.cc
🔶 linting flutter/fml/cpu_affinity_unittests.cc
🔶 linting flutter/fml/endianness_unittests.cc
🔶 linting flutter/fml/file_unittest.cc
🔶 linting flutter/fml/hash_combine_unittests.cc
🔶 linting flutter/fml/hex_codec_unittest.cc
🔶 linting flutter/fml/logging_unittests.cc
🔶 linting flutter/fml/mapping_unittests.cc
🔶 linting flutter/fml/math_unittests.cc
🔶 linting flutter/fml/memory/ref_counted_unittest.cc
🔶 linting flutter/fml/memory/task_runner_checker_unittest.cc
🔶 linting flutter/fml/memory/weak_ptr_unittest.cc
🔶 linting flutter/fml/message_loop_impl_unittests.cc
🔶 linting flutter/fml/message_loop_task_queues_merge_unmerge_unittests.cc
🔶 linting flutter/fml/message_loop_task_queues_unittests.cc
🔶 linting flutter/fml/message_loop_unittests.cc
🔶 linting flutter/fml/paths_unittests.cc
🔶 linting flutter/fml/raster_thread_merger_unittests.cc
🔶 linting flutter/fml/string_conversion_unittests.cc
🔶 linting flutter/fml/synchronization/count_down_latch_unittests.cc
🔶 linting flutter/fml/synchronization/semaphore_unittest.cc
🔶 linting flutter/fml/synchronization/sync_switch_unittest.cc
🔶 linting flutter/fml/synchronization/waitable_event_unittest.cc
🔶 linting flutter/fml/task_source_unittests.cc
🔶 linting flutter/fml/thread_local_unittests.cc
🔶 linting flutter/fml/thread_unittests.cc
🔶 linting flutter/fml/time/chrono_timestamp_provider.cc
🔶 linting flutter/fml/time/time_delta_unittest.cc
🔶 linting flutter/fml/time/time_point_unittest.cc
🔶 linting flutter/fml/time/time_unittest.cc
🔶 linting flutter/fml/platform/darwin/cf_utils_unittests.mm
🔶 linting flutter/fml/platform/darwin/string_range_sanitization_unittests.mm
🔶 linting flutter/fml/string_conversion.cc
🔶 linting flutter/fml/string_conversion.cc
🔶 linting flutter/fml/dart/dart_converter.cc
[0:00] Jobs:   0% done,   1/143 completed,  7 in progress, 135 pending,   0 failed.  
```
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants