fix: short flag with value and var=#true bug (#4419)

Fixes jdx/mise#4294
Fixes jdx/mise#4295
This commit is contained in:
jdx 2025-02-16 14:01:34 -06:00 committed by GitHub
parent c3881bf5fc
commit 234049939c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 28 additions and 7 deletions

View File

@ -3,8 +3,7 @@ name: autofix.ci
on:
workflow_call:
pull_request:
branches-ignore:
- "renovate/*"
branches: [main]
permissions:
contents: read
@ -26,6 +25,7 @@ env:
jobs:
autofix:
if: github.actor != 'renovate[bot]'
runs-on: ubuntu-latest
timeout-minutes: 10
steps:

8
Cargo.lock generated
View File

@ -709,7 +709,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
dependencies = [
"lazy_static",
"windows-sys 0.59.0",
"windows-sys 0.48.0",
]
[[package]]
@ -6216,9 +6216,9 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
[[package]]
name = "usage-lib"
version = "2.0.4"
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57baf0038580e05341b56bffc4511cf6fff4cd80e825bd5ab936ade1b44cebfc"
checksum = "d9370e4a3fddecb4eb9d7fdf059aa1b7fc2e932833faa8defa550a1e66eb616c"
dependencies = [
"clap",
"heck 0.5.0",
@ -6502,7 +6502,7 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
dependencies = [
"windows-sys 0.59.0",
"windows-sys 0.48.0",
]
[[package]]

View File

@ -59,3 +59,19 @@ run = [
EOF
assert "mise run mytask" "abc"
mkdir -p mise-tasks
cat <<EOF >mise-tasks/test-args.js
#!/usr/bin/env node
//MISE description="Compare block IDs between grower and packer tenants"
//USAGE flag "-g --grower <growerTenant>" required=#true var=#true help="The grower tenant ID(s) to compare"
//USAGE flag "-p --packer <packerTenant>" required=#true help="The packer tenant ID to match against"
console.log(\`grower: \${process.env.usage_grower}\`);
console.log(\`packer: \${process.env.usage_packer}\`);
EOF
chmod +x mise-tasks/test-args.js
# assert_fail "mise run test-args --grower 1 -g 2" "Missing required flag: --packer <packer>"
assert "mise run --trace test-args --grower 1 -g 2 --packer 3" "grower: 1 2
packer: 3"

View File

@ -312,7 +312,12 @@ impl Task {
) -> Result<(usage::Spec, Vec<String>)> {
let (mut spec, scripts) = if let Some(file) = &self.file {
let spec = usage::Spec::parse_script(file)
.inspect_err(|e| debug!("failed to parse task file with usage: {e}"))
.inspect_err(|e| {
warn!(
"failed to parse task file {} with usage: {e:?}",
file::display_path(file)
)
})
.unwrap_or_default();
(spec, vec![])
} else {