From: Ian Jackson Date: Wed, 17 Jun 2020 21:49:07 +0000 (+0100) Subject: nailing-cargo: Provide options to control --target separately X-Git-Tag: nailing-cargo/1.0.0~187 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=6c2985da38c1fc20444a60363e6eb0169b8fb629;p=nailing-cargo.git nailing-cargo: Provide options to control --target separately `cargo fetch' needs --manifest-path but rejects --target. Signed-off-by: Ian Jackson --- diff --git a/nailing-cargo b/nailing-cargo index 4cc9eac..cf53cef 100755 --- a/nailing-cargo +++ b/nailing-cargo @@ -70,7 +70,13 @@ # # The arguments are # --manifest-path= -# --locked --target-dir=target +# --locked +# --target-dir=target +# +# -T | --no-cargo-target-arg +# -t | --cargo-target-arg +# Suppress --target (or un-suppress it). +# Only useful with -m. # # Cargo.nail: # @@ -195,6 +201,7 @@ our $lockfile = "../.nailing-cargo.lock"; our $cargo_lock_update; our $cargo_manifest_args; +our $cargo_target_arg=1; our $alt_cargo_lock; our @configs; @@ -505,7 +512,8 @@ sub addargs () { if ($cargo_manifest_args) { push @ARGV, "--manifest-path=${src_absdir}/Cargo.toml", - qw(--locked --target-dir=target); + qw(--locked); + push @ARGV, qw(--target-dir=target) if $cargo_target_arg; } if (defined $target) { @@ -780,6 +788,8 @@ while (@ARGV && $ARGV[0] =~ m/^-/) { $cargo_lock_update= $1=~m/[a-z]/; } elsif (s{^-([mM])}{-}) { $cargo_manifest_args= $1=~m/[a-z]/; + } elsif (s{^-([tT])}{-}) { + $cargo_target_arg= $1=~m/[a-z]/; } else { die "$self: unknown short option(s) $_\n"; } @@ -790,6 +800,8 @@ while (@ARGV && $ARGV[0] =~ m/^-/) { $cargo_lock_update= !!$1; } elsif (m{^--(no-)?cargo-manifest-args}) { $cargo_manifest_args= !!$1; + } elsif (m{^--(no-)?cargo-target-arg}) { + $cargo_target_arg= !!$1; } else { die "$self: unknown long option $_\n"; }