From 55f6831f592535f90268bd3f9d813a70d3b165e7 Mon Sep 17 00:00:00 2001 From: Michael Pyne Date: Sun, 15 Jan 2012 16:56:09 -0500 Subject: [PATCH] Make moduleSet for modules not part of a set undef. This is as opposed to having them be the empty string instead, which is now reserved for modules that are part of an unnamed module set. --- kdesrc-build | 12 ++++++++---- kdesrc-build-test.pl | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/kdesrc-build b/kdesrc-build index 34dd403..c39d504 100755 --- a/kdesrc-build +++ b/kdesrc-build @@ -2849,7 +2849,7 @@ EOF phases => $phases, context => $ctx, options => $ctx->{build_options}{$name}, - 'module-set' => '', + 'module-set' => undef, }; return bless $module, $class; @@ -5749,6 +5749,7 @@ sub expandXMLModules $_ = Module->new($ctx, $result->{'name'}); $_->setScmType('git'); $_->cloneOptionsFrom($moduleSet); + $_->setModuleSet($moduleSet->moduleSet()); $_->setOption('repository', $repo); $_->setOption('#xml-full-path', $result->{'fullName'}); @@ -5890,7 +5891,9 @@ sub read_options else { # Overwrite options set for existing modules. if (my @modules = grep { $_->name() eq $modulename } @module_list) { - if (!$modules[0]->moduleSet()) { + # We check for definedness as a module-set can exist but be + # unnamed. + if (!defined $modules[0]->moduleSet()) { warning ("Multiple module declarations for $modules[0]"); } @@ -7624,10 +7627,11 @@ EOF # just harder in the --resume-after case where we have to leave that module # set before we can allow modules through the filter. my $filterTest = sub { + my $moduleSet = $_->moduleSet() // ''; if ($found) { - return $filterInclusive || $_->moduleSet() ne $resumePoint; + return $filterInclusive || $moduleSet ne $resumePoint; } - $found = $_->{'name'} eq $resumePoint || $_->moduleSet() eq $resumePoint; + $found = $_->{'name'} eq $resumePoint || $moduleSet eq $resumePoint; return $found && $filterInclusive; }; diff --git a/kdesrc-build-test.pl b/kdesrc-build-test.pl index 4da437c..2e8b9f4 100755 --- a/kdesrc-build-test.pl +++ b/kdesrc-build-test.pl @@ -362,6 +362,7 @@ is($conf_modules[2]->getOption('manual-build'), 'true', 'manual-build for kde-pr my @ConfModules = map { Module->new($ctx, $_) }(qw/kdelibs kdesrc-build kde-runtime qt/); is($ConfModules[0]->scmType(), 'git', 'Ensure repository gives git scm (part 2)'); +$ConfModules[0]->setModuleSet(''); # Unnamed module set, instead of undef $ConfModules[1]->setModuleSet('set1'); $ConfModules[1]->setScmType('proj'); $ConfModules[2]->setModuleSet('set1');