diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/BuildDemos.py | 21 | ||||
-rw-r--r-- | scripts/BuildHelpers.py | 9 |
2 files changed, 25 insertions, 5 deletions
diff --git a/scripts/BuildDemos.py b/scripts/BuildDemos.py index 6d8445b4d1..721fec4c68 100644 --- a/scripts/BuildDemos.py +++ b/scripts/BuildDemos.py @@ -9,14 +9,16 @@ # pip install requests # Deploy depends on .deployUrl and .deployCredentials files in home folder -import sys +import sys, os try: from git import Repo except: print("BuildDemos depends on gitpython. Install it with `pip install gitpython`") sys.exit(1) -from BuildHelpers import updateRepositories, mavenValidate, copyWarFiles, getLogFile, removeDir, getArgs +from BuildHelpers import updateRepositories, mavenValidate, copyWarFiles, getLogFile, removeDir, getArgs, mavenInstall from DeployHelpers import deployWar +from os.path import join, isfile +from fnmatch import fnmatch # Validated demos. name -> git url demos = { @@ -30,8 +32,19 @@ def checkout(folder, url): Repo.clone_from(url, folder) if __name__ == "__main__": - if getArgs().teamcity: - print("Add dependency jars from TeamCity here") + if hasattr(getArgs(), "artifactPath") and getArgs().artifactPath is not None: + basePath = getArgs().artifactPath + poms = [] + for root, dirs, files in os.walk(basePath): + for name in files: + if fnmatch(name, "*.pom"): + poms.append(join(root, name)) + for pom in poms: + jarFile = pom.replace(".pom", ".jar") + if isfile(jarFile): + mavenInstall(pom, jarFile) + else: + mavenInstall(pom) demosFailed = False diff --git a/scripts/BuildHelpers.py b/scripts/BuildHelpers.py index 534ce53441..4fe815fae1 100644 --- a/scripts/BuildHelpers.py +++ b/scripts/BuildHelpers.py @@ -31,7 +31,7 @@ args = None parser = argparse.ArgumentParser(description="Automated staging validation") parser.add_argument("version", type=str, help="Vaadin version to use") parser.add_argument("--maven", help="Additional maven command line parameters", default=None) -parser.add_argument("--teamcity", help="Use vaadin jars provided by teamcity", action="store_const", const=True, default=False) +parser.add_argument("--artifactPath", help="Path to local folder with Vaadin artifacts", default=None) # Parse command line arguments <version> def parseArgs(): @@ -167,3 +167,10 @@ def removeDir(subdir): # Dangerous relative paths. return rmtree(join(getcwd(), subdir)) + +def mavenInstall(pomFile, jarFile = None, mvnCmd = mavenCmd, logFile = sys.stdout): + cmd = [mvnCmd, "install:install-file"] + cmd.append("-Dfile=%s" % (jarFile if jarFile is not None else pomFile)) + cmd.append("-DpomFile=%s" % (pomFile)) + print("executing: %s" % (" ".join(cmd))) + subprocess.check_call(cmd, stdout=logFile) |