Browse Source

Add Demo validation script support for using local artifacts

Change-Id: I47f6bd7b4b73371ffe10a80f6af215146f7895e4
tags/7.6.0.alpha3
Teemu Suo-Anttila 8 years ago
parent
commit
bd7f4bf17f
2 changed files with 25 additions and 5 deletions
  1. 17
    4
      scripts/BuildDemos.py
  2. 8
    1
      scripts/BuildHelpers.py

+ 17
- 4
scripts/BuildDemos.py View File

@@ -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

+ 8
- 1
scripts/BuildHelpers.py View File

@@ -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)

Loading…
Cancel
Save