Quellcode durchsuchen

Add Demo validation script support for using local artifacts

Change-Id: I47f6bd7b4b73371ffe10a80f6af215146f7895e4
tags/7.6.0.alpha3
Teemu Suo-Anttila vor 9 Jahren
Ursprung
Commit
bd7f4bf17f
2 geänderte Dateien mit 25 neuen und 5 gelöschten Zeilen
  1. 17
    4
      scripts/BuildDemos.py
  2. 8
    1
      scripts/BuildHelpers.py

+ 17
- 4
scripts/BuildDemos.py Datei anzeigen

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

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

Laden…
Abbrechen
Speichern