summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorTeemu Suo-Anttila <teemusa@vaadin.com>2015-07-07 15:09:00 +0300
committerTeemu Suo-Anttila <teemusa@vaadin.com>2015-07-07 15:09:00 +0300
commitbd7f4bf17f9904a2f5e8e173aeda1d1f592982cc (patch)
tree0524b86fbdd88833f58bcfa8704b770015492738 /scripts
parentff6d55163c13ba0cd764b209dc1252e2992cf2d8 (diff)
downloadvaadin-framework-bd7f4bf17f9904a2f5e8e173aeda1d1f592982cc.tar.gz
vaadin-framework-bd7f4bf17f9904a2f5e8e173aeda1d1f592982cc.zip
Add Demo validation script support for using local artifacts
Change-Id: I47f6bd7b4b73371ffe10a80f6af215146f7895e4
Diffstat (limited to 'scripts')
-rw-r--r--scripts/BuildDemos.py21
-rw-r--r--scripts/BuildHelpers.py9
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)