Add odlparent as lispflowmapping dependency
[releng/builder.git] / scripts / jjb-autoupdate-project.py
index 0c8cd31d0ff28ce38567af5dd5ffc0ca37ad96e9..ea1977940375301bc39606b1163062b11b51e98a 100644 (file)
@@ -1,7 +1,22 @@
 #!/usr/bin/python
 
+# @License EPL-1.0 <http://spdx.org/licenses/EPL-1.0>
+##############################################################################
+# Copyright (c) 2014 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#   Thanh Ha (The Linux Foundation) - Initial implementation
+##############################################################################
+
 import os
 
+import yaml
+
 
 def get_autoupdate_projects(jjb_dir, projects):
     """Get list of projects that should be auto-updated."""
@@ -19,7 +34,28 @@ def get_autoupdate_projects(jjb_dir, projects):
 
 def update_templates(projects):
     for project in projects:
-        os.system("python scripts/jjb-init-project.py %s" % project)
+
+        # If project has customized variables
+        cfg_file = "jjb/%s/%s.cfg" % (project, project)
+        parameters = ["python scripts/jjb-init-project.py"]
+        parameters.append("-z")  # Disable CFG auto-generation
+        if os.path.isfile(cfg_file):
+            stream = open(cfg_file, "r")
+            cfg = yaml.load(stream)
+            for k, v in cfg.items():
+                if k == "MVN_GOALS" and v is not None:
+                    parameters.append("-g '%s'" % v)
+                elif k == "MVN_OPTS" and v is not None:
+                    parameters.append("-o '%s'" % v)
+                elif k == "DEPENDENCIES" and v is not None:
+                    parameters.append("-d '%s'" % v)
+
+            parameters.append(project)
+            cmd = " ".join(parameters)
+            os.system(cmd)
+
+        else:
+            os.system("python scripts/jjb-init-project.py -z %s" % project)
 
 ##############
 # Code Start #