Skip to content

Improve to find clang-tidy#7226

Merged
waruqi merged 4 commits intodevfrom
tidy
Jan 16, 2026
Merged

Improve to find clang-tidy#7226
waruqi merged 4 commits intodevfrom
tidy

Conversation

@waruqi
Copy link
Member

@waruqi waruqi commented Jan 15, 2026

@waruqi waruqi added this to the v3.0.7 milestone Jan 15, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @waruqi, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the reliability and structure of clang-tidy detection within xmake. By encapsulating the tool discovery process into a dedicated helper function and refining environment management, it ensures clang-tidy is found more consistently and improves the overall robustness of the static analysis integration.

Highlights

  • Refactored clang-tidy detection: The logic for finding the clang-tidy executable has been moved into a new dedicated private function, _get_clang_tidy, centralizing the tool discovery process.
  • Improved environment handling: Environment restoration (os.setenvs(oldenvs)) is now performed immediately after clang-tidy detection within the new _get_clang_tidy function, ensuring proper cleanup and scope management.
  • Streamlined find_tool usage: The version = true option has been removed from find_tool calls when searching for clang-tidy, simplifying the detection process.
  • Minor logging adjustment: A cprintf call in has_flags.lua was refactored into a single cprint for cleaner verbose output during flag checking.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the logic for finding clang-tidy to better handle cases where it's provided by an llvm package. The changes are well-structured, extracting the detection logic into a dedicated _get_clang_tidy function.

However, I've found a critical syntax error in the new function due to a variable redeclaration. I've provided a suggestion to fix this, which also simplifies the detection logic for better readability and correctness.

Additionally, a minor logging improvement in has_flags.lua is a good touch.

@waruqi waruqi marked this pull request as ready for review January 15, 2026 14:01
@waruqi waruqi merged commit 99b8775 into dev Jan 16, 2026
72 checks passed
@waruqi waruqi deleted the tidy branch January 16, 2026 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant