-
- allrepocodebase = {
- "lib": { 'repository':libGitUrl, 'branch' : 'master', 'revision':None },.
- "apps": { 'repository':appsGitUrl", 'branch' : 'master', 'revision':None },
- "deps": { 'repository':depsGitUrl, 'branch' : 'master', 'revision':None },
- }
-
- scheduled_branches = ["master","studio-2.0.0"]
-
- def getallrepocodebase(branch):
- repocodebase_tmp=allrepocodebase
- repocodebase_tmp["lib"]["branch"]=branch
- repocodebase_tmp["apps"]["branch"]=branch
- return repocodebase_tmp
-
- c['schedulers'] = []
- buildbot_os=["windows","linux","mac"]
- # Map containing Repo triggers build of repo
- repos=dict()
- repos["lib"]="apps"
- repos["apps"]="tests"
- for repo,triggered in repos.iteritems():
- for branch in scheduled_branches:
- c['schedulers'].append(SingleBranchScheduler(
- name="-".join(["post-commit",repo,branch]),
- treeStableTimer=1,
- codebases = getallrepocodebase(branch),
- change_filter=ChangeFilter(codebase = repo, branch=branch),
- builderNames= ["_".join([os,repo]) for os in buildbot_os]))
- for os in buildbot_os:
- # Thoses tests are not ready for mac
- if not (os == "mac" and triggered=="tests"):
- c['schedulers'].append(Triggerable(
- name = os + " " + "-".join(["post",repo,"build",branch]),
- builderNames = [ "_".join([os,triggered])],
- codebases = getallrepocodebase(branch)))
-
- def getGitRepo(name, url, master=False, timeout=240):
- repo = Git(
- repourl = url,
- codebase= name,
- mode = 'full',
- method = 'fresh',
- workdir= name,
- retry = (60, 5),
- logEnviron = False,
- descriptionDone="Update " + url,
- )
- if (master == True):
- repo.branch = 'master'
- repo.alwaysUseLatest = True
- return repo
-
- s_git_lib = getGitRepo("lib", libGitUrl)
- s_git_apps = getGitRepo("apps", appsGitUrl)
- s_git_deps = getGitRepo("deps", depsGitUrl)
-
- windows_lib = BuildFactory()
- windows_lib.addStep(s_git_deps)
- windows_lib.addStep(s_git_lib)
- windows_lib.addStep(ShellCommand(command=["cmd.exe","/c","call","VideoStitch-deps\\CopyToExternalDeps.bat","VideoStitch-lib"], descriptionDone=["Copy Windows deps binaries"], workdir="."))
- scons_lib(windows_lib,"windows")
-
- windows_apps = BuildFactory()
- windows_apps.addStep(s_git_apps)
- windows_apps.addStep(s_git_deps)
- windows_apps.addStep(ShellCommand(command=["cmd.exe", "/c", "call", "updatelib.bat","release" , Interpolate("%(src:lib:branch:~master)s")], descriptionDone=["retrieve " + "release" + " " + "x64" + " l>
- set_version_and_branch(windows_apps)
-