[sdk/kdesrc-build] /: Move --list-installed to kdesrc-build

Andrew Shark null at kde.org
Sat Feb 17 17:58:43 GMT 2024


Git commit 733b492414f2c1e49986106070f05cf68cd1a752 by Andrew Shark.
Committed on 17/02/2024 at 14:09.
Pushed by ashark into branch 'master'.

Move --list-installed to kdesrc-build

M  +1    -0    completions/zsh/_kdesrc-build
M  +1    -1    data/kdesrc-run-completions.sh
M  +9    -0    doc/supported-cmdline-params.docbook
M  +1    -10   kdesrc-run
M  +6    -0    modules/ksb/Application.pm
M  +1    -0    modules/ksb/Cmdline.pm
M  +1    -0    scripts/gen_zsh_completions.py

https://invent.kde.org/sdk/kdesrc-build/-/commit/733b492414f2c1e49986106070f05cf68cd1a752

diff --git a/completions/zsh/_kdesrc-build b/completions/zsh/_kdesrc-build
index e563f53d..bc8202e4 100644
--- a/completions/zsh/_kdesrc-build
+++ b/completions/zsh/_kdesrc-build
@@ -49,6 +49,7 @@ _arguments \
   "(--install-session-driver --no-install-session-driver)"{--install-session-driver,--no-install-session-driver}"[Install a driver for the graphical login manager]" \
   "--libname""[Default name of the installed library directory]"":argument:" \
   "--libpath""[Set the environment variable LD_LIBRARY_PATH while building]"":argument:" \
+  "--list-installed""[Print installed modules and exit]" \
   "--log-dir""[Directory used to hold the log files generated by the script]"":argument:" \
   "--make-install-prefix""[A command and its options to precede the make install command used to install modules]"":argument:" \
   "--make-options""[Pass command line options to the make command]"":argument:" \
diff --git a/data/kdesrc-run-completions.sh b/data/kdesrc-run-completions.sh
index a49319d2..47e222ff 100644
--- a/data/kdesrc-run-completions.sh
+++ b/data/kdesrc-run-completions.sh
@@ -14,7 +14,7 @@ function _comp_kdesrc_run
   # If the exit status indicates failure, set the wordlist empty to avoid
   # unrelated messages.
   local modules
-  if ! modules=$(kdesrc-run --list-installed);
+  if ! modules=$(kdesrc-build --list-installed);
   then
       modules=""
   fi
diff --git a/doc/supported-cmdline-params.docbook b/doc/supported-cmdline-params.docbook
index a6d1a9aa..fb02d2d3 100644
--- a/doc/supported-cmdline-params.docbook
+++ b/doc/supported-cmdline-params.docbook
@@ -350,6 +350,15 @@ kdepim: master
 </listitem>
 </varlistentry>
 
+<varlistentry id="cmdline-list-installed">
+<term><option><link linkend="cmdline-list-installed">--list-installed</link></option></term>
+<listitem>
+<para>
+Print installed modules and exit. This can be used to generate autocompletion for the --run option.
+</para>
+</listitem>
+</varlistentry>
+
 </variablelist>
 </sect2>
 
diff --git a/kdesrc-run b/kdesrc-run
index b27d82a1..90c55560 100755
--- a/kdesrc-run
+++ b/kdesrc-run
@@ -18,7 +18,6 @@ kdesrc-run [options] <module-name> [arguments]
   -f, --fork              Launch the program in a new session.
   -q, --quiet             Do not print run information.
   -h, --help              Print usage information and exit.
-  --list-installed        Print installed modules and exit.
 
 =head1 EXAMPLES
 
@@ -49,17 +48,15 @@ our $optExec;
 our $optFork          = 0;
 our $optHelp          = 0;
 our $optQuiet         = 0;
-our $optListInstalled = 0;
 
 GetOptions(
     'exec|e=s'       => \$optExec,
     'fork|f'         => \$optFork,
     'help|h'         => sub { pod2usage(0); },
     'quiet|q'        => \$optQuiet,
-    'list-installed' => \$optListInstalled,
 );
 
-if ($#ARGV == -1 && not $optListInstalled) {
+if ($#ARGV == -1) {
     pod2usage(0);
 }
 
@@ -84,12 +81,6 @@ my $buildData = do {
     decode_json(<$fh>);
 };
 
-if ($optListInstalled) {
-    say foreach sort { $a cmp $b }
-        grep { defined $buildData->{$_}{'install-dir'} } keys %$buildData;
-    exit;
-}
-
 if (not defined $buildData->{$module}) {
     say qq(Module "$module" has not been built yet.);
     exit 1;
diff --git a/modules/ksb/Application.pm b/modules/ksb/Application.pm
index 53cf4431..952f3f8f 100644
--- a/modules/ksb/Application.pm
+++ b/modules/ksb/Application.pm
@@ -311,6 +311,12 @@ EOF
         unshift @selectors, split(/,\s*/, $moduleList);
     }
 
+    if (exists $cmdlineGlobalOptions->{"list-installed"}) {
+        say foreach sort { $a cmp $b }
+            grep { defined $ctx->{persistent_options}->{$_}{'install-dir'} } keys %{$ctx->{persistent_options}};
+        exit;
+    }
+
     my %ignored_in_global_section =
         map { $_, 1 } split(" ", $ctx->{options}->{"ignore-modules"});
     $ctx->{options}->{"ignore-modules"} = "";
diff --git a/modules/ksb/Cmdline.pm b/modules/ksb/Cmdline.pm
index a7d6e51b..2950c890 100644
--- a/modules/ksb/Cmdline.pm
+++ b/modules/ksb/Cmdline.pm
@@ -426,6 +426,7 @@ sub _supportedOptions
         'dependency-tree',
         'dependency-tree-fullpath',
         'help|h',
+        "list-installed",
         'metadata-only',
         'no-metadata|M',
         'query=s',
diff --git a/scripts/gen_zsh_completions.py b/scripts/gen_zsh_completions.py
index 545a9d9f..64a392c5 100644
--- a/scripts/gen_zsh_completions.py
+++ b/scripts/gen_zsh_completions.py
@@ -142,6 +142,7 @@ short_descriptions = {  # contains one of the options (any of them) from set, an
     "--generate-vscode-project-config": "Generate a vscode project config",
     "--help": "Displays help on commandline options",
     "--http-proxy": "Use specified URL as a proxy server for any HTTP network communications",
+    "--list-installed": "Print installed modules and exit",
     "--ignore-modules": "Do not include specified modules in the update/build process",
     "--include-dependencies": "Builds/Skip KDE-based dependencies",
     "--initial-setup": "Installs Plasma env vars (~/.bashrc), required system pkgs, and a base kdesrc-buildrc",



More information about the kde-doc-english mailing list