[sdk/kdesrc-build] /: Remove --print-modules and --list-build options
Andrew Shark
null at kde.org
Sat Feb 10 09:40:43 GMT 2024
Git commit 08c6bb39486fc51aca90a20708f65ee3ae7eb0eb by Andrew Shark.
Committed on 10/02/2024 at 09:37.
Pushed by ashark into branch 'master'.
Remove --print-modules and --list-build options
There are already `--query module-set` and `--query branch` options, no need to create unnecessarily entities.
The --list-build tree indentation was not properly implemented, but made correctly in dependency-tree.
The #dependency-level sticky option was never set, so print-modules indentation was broken forever.
The zsh completion script relied on --list-build option and needs to be reworked.
M +0 -2 completions/zsh/_kdesrc-build
M +1 -1 completions/zsh/_kdesrc-build_modules
M +1 -5 doc/README.md
M +0 -67 doc/man-kdesrc-build.1.docbook
M +0 -48 doc/supported-cmdline-params.docbook
M +0 -25 modules/ksb/Application.pm
M +0 -4 modules/ksb/Cmdline.pm
M +5 -3 scripts/gen_zsh_completions.py
https://invent.kde.org/sdk/kdesrc-build/-/commit/08c6bb39486fc51aca90a20708f65ee3ae7eb0eb
diff --git a/completions/zsh/_kdesrc-build b/completions/zsh/_kdesrc-build
index 4e42e40c..8dccee6f 100644
--- a/completions/zsh/_kdesrc-build
+++ b/completions/zsh/_kdesrc-build
@@ -49,7 +49,6 @@ _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-build""[List what modules would be built in the order in which they would be built]" \
"--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:" \
@@ -61,7 +60,6 @@ _arguments \
"--override-build-system""[Manually specify the correct build type]"":argument:" \
"--persistent-data-file""[Change where kdesrc-build stores its persistent data]"":argument:" \
"(--dry-run --pretend -p)"{--dry-run,--pretend,-p}"[Dont actually take major actions, instead describe what would be done]" \
- "--print-modules""[Prints the modules that would be processed]" \
"(--purge-old-logs --no-purge-old-logs)"{--purge-old-logs,--no-purge-old-logs}"[Automatically delete old log directories]" \
"--qmake-options""[Options passed to the qmake command]"":argument:" \
"--qt-install-dir""[Where to install qt modules after build]"":argument:" \
diff --git a/completions/zsh/_kdesrc-build_modules b/completions/zsh/_kdesrc-build_modules
index 0e5a1d30..ec91aa82 100644
--- a/completions/zsh/_kdesrc-build_modules
+++ b/completions/zsh/_kdesrc-build_modules
@@ -13,7 +13,7 @@ if _cache_invalid kdesrc_build_modules || ! _retrieve_cache kdesrc_build_modules
# (@) array Expansion Flags are needed because we need to operate on each element separately.
kdesrc_build_modules=( "${(@)${(@)${(@)${(f)"$(
_call_program kdesrc-build-modules \
- kdesrc-build --list-build --no-src
+ kdesrc-build --query module-set --no-src
)"}[1,-2]}# ── }%% *}" )
_store_cache kdesrc_build_modules kdesrc_build_modules
fi
diff --git a/doc/README.md b/doc/README.md
index 0c846677..9d51bc55 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -48,10 +48,6 @@ These are some kdesrc-build tricks that probably should be documented with the
[KDE Community Wiki page](https://community.kde.org/Get_Involved/development#Set_up_kdesrc-build)
but for now they're at least worth nothing here:
-- Use `--print-modules` to view which modules kdesrc-build would build, in the
- order they would be built in. This implies `--pretend` although it doesn't hurt
- to include that.
-
- Use `kdesrc-build --rebuild-failures` (potentially with `--no-src`) to
rebuild modules that failed to build during the last kdesrc-build run. This
is particularly useful when a silly local error breaks an important module
@@ -107,7 +103,7 @@ but for now they're at least worth nothing here:
- Use `--resume-from` (or `--resume-after`) to have kdesrc-build start the
build from a later module than normal, and `--stop-before` (or
`--stop-after`) to have kdesrc-build stop the build at an earlier module than
- normal. This can also be used with `--print-modules`.
+ normal.
- Use the `ignore-modules` option with your module sets if you want to build
every module in the set *except* for a few specific ones.
diff --git a/doc/man-kdesrc-build.1.docbook b/doc/man-kdesrc-build.1.docbook
index 3fa71162..d8c7f41c 100644
--- a/doc/man-kdesrc-build.1.docbook
+++ b/doc/man-kdesrc-build.1.docbook
@@ -516,11 +516,6 @@ Edit the "~/.bashrc" (or other shell rc file) to add &kdesrc-build; to your $PAT
Consider using the <option>--resume-from</option> option (and similar
options) to control the build list when using this option.
</para>
-
-<para>
- To see just the list of modules that would be built, use <option>--print-modules</option> or
- <option>--pretend</option>.
-</para>
</listitem>
</varlistentry>
@@ -711,68 +706,6 @@ kdepim: master
</listitem>
</varlistentry>
-<varlistentry>
-<term>
-<option>--print-modules</option>
-</term>
-
-<listitem>
-<para>
- Takes all actions up to and including dependency reordering of the modules
- specified on the command line (or configuration file), prints the modules
- that would be processed one per line, and then exits without further action.
-</para>
-
-<para>
- The <literal>kde-project</literal> metadata is downloaded first (though, see
- <option>--pretend</option> or <option>--no-src</option>).
-</para>
-
-<para>
- The output is not fully compatible with usage by scripts as other output messages
- may be generated until the module list is shown.
-</para>
-
-<para>
- This is mostly just useful for quickly determining what
- <command>kdesrc-build</command> understands a module's dependencies to be,
- which means it's only useful for <literal>kde-projects</literal> modules.
- This option is also compatible with <option>--resume-from</option>,
- <option>--resume-after</option>, <option>--stop-before</option>, and
- <option>--stop-after</option>.
-</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term>
-<option>--list-build</option>
-</term>
-
-<listitem>
-<para>
- Takes all actions up to and including dependency reordering of the modules
- specified on the command line (or configuration file), prints the modules
- that would be processed one per line, and then exits without further action.
-</para>
-<para>
- This option is similar to <option>--print-modules</option> but includes what specific
- commit/branch/tag would be built as well. Furthermore, the order in which the modules
- are listed corresponds to the order in which these would be built.
-</para>
-
-<para>
- The <literal>kde-project</literal> metadata is downloaded first (though, see
- <option>--pretend</option> or <option>--no-src</option>).
-</para>
-
-<para>
- The output is not fully compatible with usage by scripts as other output messages
- may be generated until the module list is shown.
-</para>
-</listitem>
-</varlistentry>
-
<varlistentry>
<term>
<option>--dependency-tree</option>
diff --git a/doc/supported-cmdline-params.docbook b/doc/supported-cmdline-params.docbook
index b52bf204..86eaf976 100644
--- a/doc/supported-cmdline-params.docbook
+++ b/doc/supported-cmdline-params.docbook
@@ -323,54 +323,6 @@ kdepim: master
</listitem>
</varlistentry>
-
-<varlistentry id="cmdline-print-modules">
-<term><option><link linkend="cmdline-print-modules">--print-modules</link></option></term>
-<listitem>
-<para>
- Takes all actions up to and including dependency reordering of the modules
- specified on the command line (or configuration file), prints the modules
- that would be processed one per line, and then exits without further action.
-</para>
-<para>
- The <literal>kde-project</literal> metadata is downloaded first (though, see
- <link linkend="cmdline-pretend"><option>--pretend</option></link> or <link
- linkend="cmdline-no-src"><option>--no-src</option></link>).
-</para>
-<para>
- The output is not fully compatible with usage by scripts as other output messages
- may be generated until the module list is shown.
-</para>
-<para>
- This is mostly just useful for quickly determining what &kdesrc-build;
- understands a module's dependencies to be, which means it's only useful for
- <link
- linkend="kde-projects-module-sets"><literal>kde-projects</literal></link>
- modules. This option is also compatible with <link
- linkend="cmdline-resume-from"><option>--resume-from</option></link>, <link
- linkend="cmdline-resume-after"><option>--resume-after</option></link>,
- <link linkend="cmdline-stop-before"><option>--stop-before</option></link>,
- <link linkend="cmdline-stop-after"><option>--stop-after</option></link>.
-</para></listitem>
-</varlistentry>
-
-<varlistentry id="cmdline-list-build">
-<term><option><link linkend="cmdline-list-build">--list-build</link></option></term>
-<listitem>
-<para>
- Lists the modules that would be built, in the order in which they would be built.
- If applicable, the output listing also mentions which commit/branch/tag would be
- selected for checkout.
-</para>
-<para>
- This option is similar to
- <link linkend="cmdline-print-modules"><option>--print-modules</option></link>.
- For more detailed information on how modules relate to each other, see also:
- <link linkend="cmdline-dependency-tree"><option>--dependency-tree</option></link>.
-</para>
-</listitem>
-</varlistentry>
-
<varlistentry id="cmdline-dependency-tree">
<term><option><link linkend="cmdline-dependency-tree">--dependency-tree</link></option></term>
<listitem>
diff --git a/modules/ksb/Application.pm b/modules/ksb/Application.pm
index c66218f6..0bc1b082 100644
--- a/modules/ksb/Application.pm
+++ b/modules/ksb/Application.pm
@@ -444,24 +444,6 @@ EOF
! exists $ignoredSelectors{$_->moduleSet()->name() // ''}
} @modules;
- if(exists $cmdlineGlobalOptions->{'list-build'}) {
- for my $module (@modules) {
- my $branch = ksb::DependencyResolver::_getBranchOf($module);
- print(' ── ', $module->name());
- if($branch) {
- print(' : ', $branch);
- }
- print("\n");
- }
-
- my $result = {
- dependencyInfo => $moduleGraph,
- selectedModules => [],
- build => 0
- };
- return $result;
- }
-
my $result = {
dependencyInfo => $moduleGraph,
selectedModules => \@modules,
@@ -620,13 +602,6 @@ sub runAllModulePhases
my $ctx = $self->context();
my @modules = $self->modules();
- if ($ctx->getOption('print-modules')) {
- for my $m (@modules) {
- say ((" " x ($m->getOption('#dependency-level', 'module') // 0)), "$m");
- }
- return 0; # Abort execution early!
- }
-
# Add to global module list now that we've filtered everything.
$ctx->addModule($_) foreach @modules;
diff --git a/modules/ksb/Cmdline.pm b/modules/ksb/Cmdline.pm
index efb13ab2..ab9edb42 100644
--- a/modules/ksb/Cmdline.pm
+++ b/modules/ksb/Cmdline.pm
@@ -333,8 +333,6 @@ sub _showHelpAndExit
Important Options:
--pretend (or -p) Don't actually take major actions, instead describe
what would be done.
- --list-build List what modules would be built in the order in
- which they would be built.
--dependency-tree Print out dependency information on the modules that
would be built, using a `tree` format. Very useful
for learning how modules relate to each other. May
@@ -429,10 +427,8 @@ sub _supportedOptions
'dependency-tree',
'dependency-tree-fullpath',
'help|h',
- 'list-build',
'metadata-only',
'no-metadata',
- 'print-modules',
'query=s',
'rc-file=s',
'rebuild-failures',
diff --git a/scripts/gen_zsh_completions.py b/scripts/gen_zsh_completions.py
index 00596ea8..08adcce2 100644
--- a/scripts/gen_zsh_completions.py
+++ b/scripts/gen_zsh_completions.py
@@ -11,10 +11,14 @@ This script generates the zsh completions file.
import os.path
import subprocess
-p = subprocess.run("./kdesrc-build --show-options-specifiers", cwd=os.path.expanduser("~/kde6"), shell=True, capture_output=True, text=True).stdout
+p = subprocess.run("./kdesrc-build --show-options-specifiers", cwd=os.path.expanduser(os.getcwd() + "/.."), shell=True, capture_output=True, text=True).stdout
specifiers = p.split("\n")
specifiers = list(filter(None, specifiers)) # remove empty string from last line
specifiers.sort()
+if not specifiers:
+ print("Cannot get options specifiers")
+ exit(1)
+
individual_options = []
conflicting_sets = []
@@ -149,7 +153,6 @@ short_descriptions = { # contains one of the options (any of them) from set, an
"--install-session-driver": "Install a driver for the graphical login manager",
"--libname": "Default name of the installed library directory",
"--libpath": "Set the environment variable LD_LIBRARY_PATH while building",
- "--list-build": "List what modules would be built in the order in which they would be built",
"--log-dir": "Directory used to hold the log files generated by the script",
"--make-install-prefix": "A command and its options to precede the make install command used to install modules",
"--make-options": "Pass command line options to the make command",
@@ -162,7 +165,6 @@ short_descriptions = { # contains one of the options (any of them) from set, an
"--override-build-system": "Manually specify the correct build type",
"--persistent-data-file": "Change where kdesrc-build stores its persistent data",
"--pretend": "Dont actually take major actions, instead describe what would be done",
- "--print-modules": "Prints the modules that would be processed",
"--purge-old-logs": "Automatically delete old log directories",
"--qmake-options": "Options passed to the qmake command",
"--qt-install-dir": "Where to install qt modules after build",
More information about the kde-doc-english
mailing list