diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2023-01-16 19:48:39 -0500 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2023-03-27 09:21:50 -0400 |
commit | 7c4dea3cf3ef8cc0185163e69d9f3cb3a0fc95ac (patch) | |
tree | 47fb779967b078ddaea07afe860ebc0e07e3b813 | |
parent | 570829d67e78d97d53a935e4e61b0a09589c4cd1 (diff) |
Punt on improper global flags for now
See the note in the test.
We don't want these flags showing up for commands where they are
irrelevant.
Eventually, this needs a proper fix, but it need not be a blocker for
stabilize: for a quick-n-dirty punt, just put these flags behind the
`nix-command` unstable feature.
This is fine because they are only relevant for commands which we don't
need to stabilize for a while.
-rw-r--r-- | src/nix/main.cc | 3 | ||||
-rw-r--r-- | tests/experimental-features.sh | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/nix/main.cc b/src/nix/main.cc index c79d39459..378e53a9e 100644 --- a/src/nix/main.cc +++ b/src/nix/main.cc @@ -82,6 +82,7 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs .description = "Print full build logs on standard error.", .category = loggingCategory, .handler = {[&]() { logger->setPrintBuildLogs(true); }}, + .experimentalFeature = Xp::NixCommand, }); addFlag({ @@ -97,6 +98,7 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs .description = "Disable substituters and consider all previously downloaded files up-to-date.", .category = miscCategory, .handler = {[&]() { useNet = false; }}, + .experimentalFeature = Xp::NixCommand, }); addFlag({ @@ -104,6 +106,7 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs .description = "Consider all previously downloaded files out-of-date.", .category = miscCategory, .handler = {[&]() { refresh = true; }}, + .experimentalFeature = Xp::NixCommand, }); } diff --git a/tests/experimental-features.sh b/tests/experimental-features.sh index 3be77d5cc..f718585f3 100644 --- a/tests/experimental-features.sh +++ b/tests/experimental-features.sh @@ -21,3 +21,15 @@ both_ways store gc --help expect 1 nix --experimental-features 'nix-command' show-config --flake-registry 'https://no' nix --experimental-features 'nix-command flakes' show-config --flake-registry 'https://no' + +# Double check this is stable +nix --experimental-features '' --help + +# These 3 arguments are currently given to all commands, which is wrong (as not +# all care). To deal with fixing later, we simply make them require the +# nix-command experimental features --- it so happens that the commands we wish +# stabilizing to do not need them anyways. +for arg in '--print-build-logs' '--offline' '--refresh'; do + nix --experimental-features 'nix-command' "$arg" --help + ! nix --experimental-features '' "$arg" --help +done |