[jhbuild] Skip all modules not in 'modules' if 'skip' contains '*'



commit b84e680a46d7e11604816b1de3dc75f149489ffa
Author: Adam Dingle <adam yorba org>
Date:   Thu May 9 06:16:56 2013 -0400

    Skip all modules not in 'modules' if 'skip' contains '*'
    
    https://bugzilla.gnome.org/show_bug.cgi?id=699938

 doc/C/index.docbook  |    6 +++++-
 jhbuild/moduleset.py |    5 +++++
 2 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/doc/C/index.docbook b/doc/C/index.docbook
index bace1dd..cfdbd6c 100644
--- a/doc/C/index.docbook
+++ b/doc/C/index.docbook
@@ -2114,7 +2114,11 @@ Optional packages: (JHBuild will build the missing packages)
           <listitem>
             <simpara>A list of modules to skip. This <option>--skip</option>
               command line option extends the list. This list is empty by
-              default.</simpara>
+              default. If the list contains the special value <literal>'*'</literal>,
+              JHBuild will skip all modules not explicitly listed in
+              the <varname>modules</varname> variable.  This may be useful if
+              you want to build modules without their implicit dependencies.
+             </simpara>
           </listitem>
         </varlistentry>
         <varlistentry id="cfg-sticky-date">
diff --git a/jhbuild/moduleset.py b/jhbuild/moduleset.py
index c124fb9..f1cb677 100644
--- a/jhbuild/moduleset.py
+++ b/jhbuild/moduleset.py
@@ -172,6 +172,11 @@ class ModuleSet:
         else:
             module_list = [module for module, after_module in resolved \
                            if not after_module]
+
+        if '*' in skip:
+            module_list = [module for module in module_list \
+                           if module.name in self.config.modules]
+        
         return module_list
 
     def get_test_module_list (self, seed, skip=[]):


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]