You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by an...@apache.org on 2015/04/20 08:11:13 UTC

cordova-medic git commit: [CB-8805] Added ability to specify a custom repos config file via forced builds.

Repository: cordova-medic
Updated Branches:
  refs/heads/master cd54cfdc9 -> 639f9a6d6


[CB-8805] Added ability to specify a custom repos config file via forced builds.


Project: http://git-wip-us.apache.org/repos/asf/cordova-medic/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-medic/commit/639f9a6d
Tree: http://git-wip-us.apache.org/repos/asf/cordova-medic/tree/639f9a6d
Diff: http://git-wip-us.apache.org/repos/asf/cordova-medic/diff/639f9a6d

Branch: refs/heads/master
Commit: 639f9a6d62f1a780ff69260690e1e990083a8ed2
Parents: cd54cfd
Author: Dmitry Blotsky <dm...@gmail.com>
Authored: Tue Mar 31 07:43:24 2015 -0400
Committer: Dmitry Blotsky <dm...@gmail.com>
Committed: Thu Apr 16 18:33:42 2015 -0700

----------------------------------------------------------------------
 buildbot-conf/cordova.conf | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-medic/blob/639f9a6d/buildbot-conf/cordova.conf
----------------------------------------------------------------------
diff --git a/buildbot-conf/cordova.conf b/buildbot-conf/cordova.conf
index 2a02827..f65d264 100644
--- a/buildbot-conf/cordova.conf
+++ b/buildbot-conf/cordova.conf
@@ -9,6 +9,7 @@ from buildbot.config import BuilderConfig
 
 from buildbot.process.properties import renderer
 from buildbot.process.properties import Interpolate as I
+from buildbot.process.properties import Property as P
 
 from buildbot.steps.source.git import Git
 from buildbot.steps.transfer import FileDownload
@@ -29,9 +30,10 @@ medic_config    = parse_config_file(MEDIC_CONFIG_FILE)
 projects_config = parse_config_file(PROJECTS_CONFIG_FILE)
 
 # constants
-DEFAULT_REPO_NAME = 'src'
-BASE_WORKDIR      = '.'
-TEST_APP_NAME     = 'mobilespec'
+DEFAULT_REPO_NAME   = 'src'
+BASE_WORKDIR        = '.'
+TEST_APP_NAME       = 'mobilespec'
+REPOS_PROPERTY_NAME = 'repositories_config'
 
 OSX     = 'osx'
 LINUX   = 'linux'
@@ -90,6 +92,12 @@ def can_find_running_tasks(step):
         (step.build.getProperty('platform') is not None)
     )
 
+def dont_use_default_repos(step):
+    return not use_default_repos(step)
+
+def use_default_repos(step):
+    return step.build.getProperty(REPOS_PROPERTY_NAME) is None
+
 # renderers
 @renderer
 def render_platform_repo_name(props):
@@ -182,8 +190,11 @@ def RMRF(path, description=None, **kwargs):
 def Set(name, value, **kwargs):
     return DescribedStep(SetProperty, 'setting ' + name, property=name, value=value, **kwargs)
 
-def Download(mastersrc, slavedest):
-    return FileDownload(mastersrc=mastersrc, slavedest=slavedest, workdir=BASE_WORKDIR)
+def Download(mastersrc, slavedest, description, **kwargs):
+    # NOTE:
+    #      the FileDownload step has a bug and requires the
+    #      'description' parameter to be a list
+    return FileDownload(mastersrc=mastersrc, slavedest=slavedest, description=[description], workdir=BASE_WORKDIR, **kwargs)
 
 ####### SLAVES
 
@@ -212,7 +223,7 @@ get_medic_steps = [
 plugins_cleanup_steps = [
 
     # set build properties
-    Set('repositoryname', render_repo_name),
+    Set('repository_name', render_repo_name),
 
     # kill running emulators
     SH(
@@ -236,8 +247,15 @@ plugins_cleanup_steps = [
 common_plugins_steps = plugins_cleanup_steps + get_medic_steps + [
 
     # download medic's config to slave
-    Download(mastersrc=PROJECTS_CONFIG_FILE, slavedest='cordova-medic/cordova-repos.json'),
-    Download(mastersrc=MEDIC_CONFIG_FILE, slavedest='cordova-medic/config.json'),
+    Download(mastersrc=MEDIC_CONFIG_FILE, slavedest='cordova-medic/config.json', description='downloading master\'s config'),
+
+    # download repo config
+    # NOTE:
+    #      only one of these steps should be executed; thanks
+    #      to Buildbot there is no good if-else construct for
+    #      builds, so we have two steps with 'doStepIf's
+    SH(command=['curl', P(REPOS_PROPERTY_NAME), '--output', 'cordova-medic/cordova-repos.json'], description='downloading custom repo config', doStepIf=dont_use_default_repos),
+    Download(mastersrc=PROJECTS_CONFIG_FILE, slavedest='cordova-medic/cordova-repos.json', description='downloading default repo config', doStepIf=use_default_repos),
 
     # clone all repos
     MedicClone(config_path='cordova-medic/cordova-repos.json', excludes=['cordova-medic']),


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org