]> source.dussan.org Git - vaadin-framework.git/commitdiff
Update archetype validation script to use single repo URL
authorHenri Sara <hesara@vaadin.com>
Mon, 13 Jul 2015 08:50:39 +0000 (11:50 +0300)
committerVaadin Code Review <review@vaadin.com>
Mon, 13 Jul 2015 08:56:36 +0000 (08:56 +0000)
Change-Id: Icda479927bbb52c2eedf5cb5477726042f55434d

scripts/BuildArchetypes.py
scripts/BuildHelpers.py

index 754c13a981e7e35bd37c1eb4e523ab8b18aba28b..fa6dba2c5638119785f41e00dd0791171d1221e7 100644 (file)
@@ -7,7 +7,7 @@
 # Python3 is required as this script uses some Python3 specific features.
 # Might work with Python2, haven't tested.
 #
-# python BuildArchetypes.py version fw-repo-id archetype-repo-id plugin-repo-id
+# python BuildArchetypes.py version --repo staging-repo-url
 #
 
 import subprocess, sys
@@ -41,8 +41,8 @@ def generateArchetype(archetype, artifactId, repo):
        cmd.append("-DarchetypeGroupId=%s" % (archetypeGroup))
        cmd.append("-DarchetypeArtifactId=%s" % (archetype))
        cmd.append("-DarchetypeVersion=%s" % (args.version))
-       if hasattr(args, "archetype") and args.archetype != None:
-               cmd.append("-DarchetypeRepository=%s" % (repo % (args.archetype)))
+       if hasattr(args, "repo") and args.repo != None:
+               cmd.append("-DarchetypeRepository=%s" % repo)
        cmd.append("-DgroupId=%s" % (group))
        cmd.append("-DartifactId=%s" % (artifactId))
        cmd.append("-Dversion=1.0-SNAPSHOT")
@@ -63,10 +63,7 @@ if __name__ == "__main__":
        from DeployHelpers import deployWar
 
        # Add command line arguments for staging repos
-       parser.add_argument("framework", type=int, help="Framework repo id (comvaadin-XXXX)", nargs='?')
-       parser.add_argument("archetype", type=int, help="Archetype repo id (comvaadin-XXXX)", nargs='?')
-       parser.add_argument("plugin", type=int, help="Maven Plugin repo id (comvaadin-XXXX)", nargs='?')
-       parser.add_argument("--repo", type=str, help="Staging repository template", required=True)
+       parser.add_argument("--repo", type=str, help="Staging repository URL", required=True)
 
        archetypesFailed = False
 
@@ -81,7 +78,7 @@ if __name__ == "__main__":
                try:
                        log = getLogFile(archetype)
                        generateArchetype(archetype, artifactId, args.repo)
-                       updateRepositories(join(resultPath, artifactId))
+                       updateRepositories(join(resultPath, artifactId), args.repo)
                        mavenValidate(artifactId, logFile=log)  
                        warFiles = copyWarFiles(artifactId, name=archetype)
                        for war in warFiles:
index 8da06718198ae7f74d1b774ee3cd597d1cb16a99..cbcf8216328dfaad52f08986dcfdd589d7ffe581 100644 (file)
@@ -9,9 +9,6 @@ from os import listdir, makedirs
 from shutil import copy, rmtree
 from glob import glob
 
-# Staging repo base url
-repo = "http://oss.sonatype.org/content/repositories/comvaadin-%d"
-
 # Directory where the resulting war files are stored
 # TODO: deploy results
 resultPath = join("result", "demos")
@@ -70,16 +67,17 @@ def getArgs():
        return args
 
 # Maven Package and Validation
-def mavenValidate(artifactId, mvnCmd = mavenCmd, logFile = sys.stdout, repoIds = None):
-       if repoIds is None:
-               repoIds = getArgs()
+def mavenValidate(artifactId, mvnCmd = mavenCmd, logFile = sys.stdout, version = None, mavenParams = None):
+       if version is None:
+               version = getArgs().version
+       if mavenParams is None:
+               mavenParams = getArgs().maven
 
        print("Do maven clean package validate")
        cmd = [mvnCmd]
-       if hasattr(repoIds, "version") and repoIds.version is not None:
-               cmd.append("-Dvaadin.version=%s" % (repoIds.version))
-       if hasattr(repoIds, "maven") and repoIds.maven is not None:
-               cmd.extend(repoIds.maven.strip('"').split(" "))
+       cmd.append("-Dvaadin.version=%s" % (version))
+       if mavenParams is not None:
+               cmd.extend(mavenParams.strip('"').split(" "))
        cmd.extend(["clean", "package", "validate"])
        print("executing: %s" % (" ".join(cmd)))
        subprocess.check_call(cmd, cwd=join(resultPath, artifactId), stdout=logFile)
@@ -111,10 +109,10 @@ def readPomFile(pomFile):
        return ElementTree.parse(pomFile), nameSpace 
 
 # Recursive pom.xml update script
-def updateRepositories(path, repoIds = None, repoUrl = repo):
+def updateRepositories(path, repoUrl = None, version = None):
        # If versions are not supplied, parse arguments
-       if repoIds is None:
-               repoIds = getArgs()
+       if version is None:
+               version = getArgs().version
        
        # Read pom.xml
        pomXml = join(path, "pom.xml")
@@ -130,9 +128,8 @@ def updateRepositories(path, repoIds = None, repoUrl = repo):
        if repoNode is not None:
                print("Add staging repositories to " + pomXml)
                
-               if hasattr(repoIds, "framework") and repoIds.framework is not None:
-                       # Add framework staging repository
-                       addRepo(repoNode, "repository", "vaadin-%s-staging" % (repoIds.version), repoUrl % (repoIds.framework))
+               # Add framework staging repository
+               addRepo(repoNode, "repository", "vaadin-%s-staging" % (version), repoUrl)
                
                # Find the correct pluginRepositories node
                pluginRepo = tree.getroot().find("{%s}pluginRepositories" % (nameSpace))
@@ -140,9 +137,8 @@ def updateRepositories(path, repoIds = None, repoUrl = repo):
                        # Add pluginRepositories node if needed
                        pluginRepo = ElementTree.SubElement(tree.getroot(), "pluginRepositories")
                
-               if hasattr(repoIds, "plugin") and repoIds.plugin is not None:
-                       # Add plugin staging repository
-                       addRepo(pluginRepo, "pluginRepository", "vaadin-%s-plugin-staging" % (repoIds.version), repoUrl % (repoIds.plugin))
+               # Add plugin staging repository
+               addRepo(pluginRepo, "pluginRepository", "vaadin-%s-plugin-staging" % (version), repoUrl)
                
                # Overwrite the modified pom.xml
                tree.write(pomXml, encoding='UTF-8')
@@ -151,7 +147,7 @@ def updateRepositories(path, repoIds = None, repoUrl = repo):
        for i in listdir(path):
                file = join(path, i)
                if isdir(file):
-                       updateRepositories(join(path, i), repoIds, repoUrl)
+                       updateRepositories(join(path, i), repoUrl, version)
 
 # Add a repository of repoType to given repoNode with id and URL
 def addRepo(repoNode, repoType, id, url):