Git commit c3081844077eb53adb8a9d58c8a3e3dc66921cee by Michael Pyne. Committed on 24/07/2016 at 17:01. Pushed by mpyne into branch 'master'.
Allow 'options' groups to apply to named module-sets. This makes it more convenient to work with baseline configurations (that are 'include'd) without changing the upstream configuration. Still to do: add a warning when modules and module-sets end up sharing the same name somehow. BUG:365813 FIXED-IN:16.08 M +9 -1 doc/index.docbook M +5 -1 modules/ksb/ModuleResolver.pm http://commits.kde.org/kdesrc-build/c3081844077eb53adb8a9d58c8a3e3dc66921cee diff --git a/doc/index.docbook b/doc/index.docbook index 301a1e7..0e6a5b9 100644 --- a/doc/index.docbook +++ b/doc/index.docbook @@ -112,7 +112,7 @@ <legalnotice>&FDLNotice;</legalnotice> <date>2016-05-02</date> -<releaseinfo>&kdesrc-build; 16.05</releaseinfo> +<releaseinfo>&kdesrc-build; 16.08</releaseinfo> <abstract> <para>&kdesrc-build; is a script which builds and installs &kde; software @@ -1450,6 +1450,14 @@ mis-typing the name.</para></important> <literal>module-set</literal> worth of modules, all using the same options, and then using <literal>options</literal> groups to make individual changes.</para> +<para><literal>options</literal> groups can also apply to named module sets. +This allows expert users to use a common configuration file (which includes +<literal>module-set</literal> declarations) as a baseline, and then make changes +to the options used by those module-sets in configuration files that +use the <literal><link +linkend="kdesrc-buildrc-including">include</link></literal> command to reference +the base configuration.</para> + <example id="ex-options-group"> <title>Example of using options</title> diff --git a/modules/ksb/ModuleResolver.pm b/modules/ksb/ModuleResolver.pm index 6696a48..0cfd3c6 100644 --- a/modules/ksb/ModuleResolver.pm +++ b/modules/ksb/ModuleResolver.pm @@ -75,11 +75,15 @@ sub _applyCmdlineOptions foreach my $m (@modules) { my $name = $m->name(); + my $moduleSetName = $m->moduleSet()->name(); # Remove any options that would interfere with cmdline args delete @{$m->{options}}{@cmdlineArgs}; - # Reapply module-specific cmdline args + # Reapply module-specific cmdline args (module-set first) + if ($moduleSetName && exists $self->{pendingOptions}->{$moduleSetName}) { + $m->setOption(%{$self->{pendingOptions}->{$moduleSetName}}); + } $m->setOption(%{$self->{pendingOptions}->{$name}}); } _______________________________________________ kde-doc-english mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-doc-english
