[Automated] Update brew CLI Options - #4621
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: ⛔ Files ignored due to path filters (8)
📒 Files selected for processing (3)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 4 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe Homebrew package adds the ChangesHomebrew CLI API
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This change adds Homebrew benchmark support, exposes updated option APIs, and documents the new command. The supplied implementation and API-surface evidence show no remaining merge-blocking risk. Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
141819b to
d9164fb
Compare
There was a problem hiding this comment.
Reviewed this automated Homebrew CLI options regeneration (Homebrew 6.0.18 → 6.0.20).
Most of the diff is exactly what's expected from a scraper/generator refresh: new brew benchmark command + BrewBenchmarkOptions, removal of --jobs from BrewBundleInstallOptions (properly tracked as *REMOVED* in PublicAPI.Unshipped.txt), a new --list-skipped flag and --load-only flag, docs table update, and coverage/generation metadata bump. All PublicAPI tracking files and generated service methods (Brew.Generated.cs / IBrew.Generated.cs) are consistent with the new options.
One scraper bug surfaced by this update, in src/ModularPipelines.Homebrew/Options/BrewVulnsOptions.Generated.cs:
/// <summary>
/// Only report vulnerabilities that have a released version fix available. Shortcut for
/// </summary>
[CliFlag("--fix-available")]
public bool? FixAvailable { get; set; }
[CliOption("--fix-type", Format = OptionFormat.EqualsSeparated)]
public string? FixType { get; set; }
/// <summary>
/// Only report vulnerabilities that do not have a released version fix available (includes unreleased commit SHA patches). Shortcut for
/// </summary>
[CliFlag("--no-fix-available")]
public bool? NoFixAvailable { get; set; }Homebrew's brew vulns --help text for --fix-available/--no-fix-available apparently continues onto a follow-up line (e.g. "...Shortcut for --fix-type=released" / "--fix-type=unreleased"), and the scraper split that continuation into a brand-new bare option (--fix-type) instead of folding it into the parent flag's description. The result is two XML doc comments that dangle mid-sentence on "Shortcut for", and a new FixType property with no doc comment at all — so a consumer gets no indication of what values it accepts (released/unreleased) or that it's related to the two flags above it.
Per CLAUDE.md this shouldn't be hand-patched in the generated file — the fix belongs in the scraper/generator's multi-line help-text parsing, so any other tool/command hitting the same continuation-line pattern is also fixed. Worth checking whether the scraper has a general rule for "this line is a continuation of the previous option's description" vs. "this line starts a new option" (e.g. based on indentation, or lack of a leading --flag token) — that's likely a generic, reusable fix rather than something specific to brew vulns.
Everything else in the diff (benchmark options, jobs removal, list-skipped/load-only additions, doc/coverage files) looks correct and consistent with prior generated output.
d9164fb to
011e3ee
Compare
|
Reviewed this automated Homebrew CLI options regeneration (Homebrew 6.0.18 → 6.0.20, head Most of the diff is exactly what is expected from a scraper/generator refresh: new The scraper bug flagged in the previous review of this PR is still present and unaddressed, in /// <summary>
/// Only report vulnerabilities that have a released version fix available. Shortcut for
/// </summary>
[CliFlag("--fix-available")]
public bool? FixAvailable { get; set; }
[CliOption("--fix-type", Format = OptionFormat.EqualsSeparated)]
public string? FixType { get; set; }
/// <summary>
/// Only report vulnerabilities that do not have a released version fix available (includes unreleased commit SHA patches). Shortcut for
/// </summary>
[CliFlag("--no-fix-available")]
public bool? NoFixAvailable { get; set; }Homebrew CLI help text for This exact issue was already called out on the prior revision of this PR (head Everything else in the diff (benchmark options, jobs removal, list-skipped/load-only additions, doc/coverage files) is correct and consistent with prior generated output. |
Summary
This PR contains automatically generated updates to brew CLI options classes.
The generator scraped the latest CLI help output from the installed tool.
Changes
Assembly-wide public API impact
Affected API families:
Assembly/common,Brew.Breaking changes are present. Consumers may need to update method arguments, option property types or nullability, enum members, and references to removed APIs.
Representative removed or changed members:
ModularPipelines.Homebrew.Options.BrewBundleInstallOptions.Jobs.get -> string?ModularPipelines.Homebrew.Options.BrewBundleInstallOptions.Jobs.set -> voidRepresentative added members:
ModularPipelines.Homebrew.Options.BrewBenchmarkOptionsModularPipelines.Homebrew.Options.BrewBenchmarkOptions.BrewBenchmarkOptions(ModularPipelines.Homebrew.Options.BrewBenchmarkOptions! original) -> voidModularPipelines.Homebrew.Options.BrewBenchmarkOptions.BrewBenchmarkOptions(System.Collections.Generic.IEnumerable<string!>! Formula) -> voidModularPipelines.Homebrew.Options.BrewBenchmarkOptions.Debug.get -> bool?ModularPipelines.Homebrew.Options.BrewBenchmarkOptions.Debug.set -> voidCommand coverage
Command coverage report:
Verification
🤖 Generated with ModularPipelines.OptionsGenerator