[cig-commits] r12622 - cs/buildbot/trunk/buildbot

leif at geodynamics.org leif at geodynamics.org
Tue Aug 12 17:42:34 PDT 2008


Author: leif
Date: 2008-08-12 17:42:34 -0700 (Tue, 12 Aug 2008)
New Revision: 12622

Added:
   cs/buildbot/trunk/buildbot/languages.py
Modified:
   cs/buildbot/trunk/buildbot/config.py
   cs/buildbot/trunk/buildbot/lines.py
Log:
Changes for SPECFEM: added language filter (so SPECFEM can filter-out
configs that don't have Fortran-90); allow projects to set
'fileIsImportant'.


Modified: cs/buildbot/trunk/buildbot/config.py
===================================================================
--- cs/buildbot/trunk/buildbot/config.py	2008-08-13 00:18:48 UTC (rev 12621)
+++ cs/buildbot/trunk/buildbot/config.py	2008-08-13 00:42:34 UTC (rev 12622)
@@ -1,6 +1,6 @@
 
 
-import os
+import os, languages
 
 
 class Environment(dict):
@@ -41,9 +41,10 @@
 
 class BuildConfig(object):
 
-    def __init__(self, name, env, tag=None, slaves=None, configureArgs=None, basedir=None,
+    def __init__(self, name, languages, env, tag=None, slaves=None, configureArgs=None, basedir=None,
                  CPPFLAGS=None, LDFLAGS=None, LIBS=None):
         self.name = name
+        self.languages = languages
         self.env = env
         self.tag = tag
 
@@ -106,9 +107,9 @@
 
 class BinaryBuildConfig(BuildConfig):
 
-    def __init__(self, name, env, **kwds):
+    def __init__(self, name, languages, env, **kwds):
         kwds.setdefault('tag', 'binaries')
-        BuildConfig.__init__(self, name, env, **kwds)
+        BuildConfig.__init__(self, name, languages, env, **kwds)
         return
 
 
@@ -148,7 +149,7 @@
         return steps
 
 
-defaultConfigs = [BuildConfig("default", {"PYTHON": "python2.4"})]
+defaultConfigs = [BuildConfig("default", [languages.python], {"PYTHON": "python2.4"})]
 
 
 class BuildSlave(object):

Added: cs/buildbot/trunk/buildbot/languages.py
===================================================================
--- cs/buildbot/trunk/buildbot/languages.py	                        (rev 0)
+++ cs/buildbot/trunk/buildbot/languages.py	2008-08-13 00:42:34 UTC (rev 12622)
@@ -0,0 +1,9 @@
+
+class Language(object):
+    pass
+
+c = Language()
+cpp = Language()
+f77 = Language()
+f90 = Language()
+python = Language()

Modified: cs/buildbot/trunk/buildbot/lines.py
===================================================================
--- cs/buildbot/trunk/buildbot/lines.py	2008-08-13 00:18:48 UTC (rev 12621)
+++ cs/buildbot/trunk/buildbot/lines.py	2008-08-13 00:42:34 UTC (rev 12622)
@@ -35,8 +35,10 @@
         self.builderNames = []
         self.schedulers = []
         self.changeScheduler = None
+        self.fileIsImportant = None
 
         self._buildSystem = None
+        self.languages = None
 
         self.nightly = None
         
@@ -169,6 +171,13 @@
 
 
     def buildConfigs(self, buildEnv, buildConfig):
+        # Reject build configurations that don't support the languages
+        # we require.
+        if self.languages:
+            for language in self.languages:
+                if not language in buildConfig.languages:
+                    return None
+        
         if buildConfig.tag:
             # If the build config is tagged, and we have more than one
             # config, only create a builder if we have a config
@@ -185,9 +194,6 @@
             configs[buildConfig.tag] = c
             return configs
 
-        # NYI: reject build configurations that don't support the
-        # languages we require.
-        
         if self.configs:
             configs = {}
             configs.update(self.configs)
@@ -242,6 +248,7 @@
             name = "change " + self.fullName(),
             category = self.category,
             builderNames = self.builderNames,
+            fileIsImportant = self.fileIsImportant,
             **kwds
             )
         return s



More information about the cig-commits mailing list