cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ahu...@apache.org
Subject [14/50] [abbrv] git commit: Make waf use maven for building (build target and install targets are working)
Date Tue, 04 Sep 2012 22:12:51 GMT
Make waf use maven for building (build target and install targets are working)


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/a4f1971e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/a4f1971e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/a4f1971e

Branch: refs/heads/4.0
Commit: a4f1971e80f2aaf86017ddc989513eefb04265fa
Parents: 3054537
Author: Hugo Trippaers <htrippaers@schubergphilis.com>
Authored: Mon Sep 3 14:10:25 2012 +0200
Committer: Hugo Trippaers <htrippaers@schubergphilis.com>
Committed: Mon Sep 3 14:10:25 2012 +0200

----------------------------------------------------------------------
 wscript       |   20 ++++++++++++++++++++
 wscript_build |   33 ++++++++++++++++-----------------
 2 files changed, 36 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4f1971e/wscript
----------------------------------------------------------------------
diff --git a/wscript b/wscript
index 561c770..e21e23c 100644
--- a/wscript
+++ b/wscript
@@ -307,6 +307,26 @@ def runant(tsk):
 	return ret
 Utils.runant = runant
 
+def runmvn(tsk):
+	environ = dict(os.environ)
+	environ["CATALINA_HOME"] = tsk.env.TOMCATHOME
+        if not "M2_HOME" in environ:
+                raise Utils.WafError("Maven not installed or M2_HOME not set")
+	if tsk.generator.env.DISTRO == "Windows":
+		stanzas = [
+			_join(environ["M2_HOME"],"bin","mvn.bat")
+		]
+	else:
+		stanzas = [
+			_join(environ["M2_HOME"],"bin","mvn")
+		]
+	#stanzas += tsk.generator.mvnargs
+	ret = Utils.exec_command(" ".join(stanzas),cwd=tsk.generator.bld.srcnode.abspath(),env=environ,log=True)
+	if ret != 0: raise Utils.WafError("Maven phase %s failed with error value %s"%(stanzas,ret))
+	return ret
+Utils.runmvn = runmvn
+
+
 @throws_command_errors
 def run_java(classname,classpath,options=None,arguments=None):
 	if not options: options = []

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a4f1971e/wscript_build
----------------------------------------------------------------------
diff --git a/wscript_build b/wscript_build
index ff4b22f..4abc031 100644
--- a/wscript_build
+++ b/wscript_build
@@ -105,31 +105,30 @@ def build_jars ():
 	Implementation_Version = bld.env.VERSION
 
 	# this is to trigger recompilation / cache avoidance if the relevant environment for ant
changes
-	ant_args = [
-		"build-all",
+	mvn_args = [
+		"package",
 		"-Dimpl.version=%s" % Implementation_Version,
 		"-Dtarget.dir=%s" % targetdir,
 		"-Ddist.dir=%s" % distdir,
-		"-Dbase.dir=%s" % sourcedir,
-		"-f %s" % Utils.relpath (_join(sourcedir, "build.xml")),
+		"-Dbase.dir=%s" % sourcedir
 	]
 
 	if buildpremium:
-		ant_args.append("-Dbuild.premium=true")
+		mvn_args.append("-Dbuild.premium=true")
 
 	tgen = bld(features='subst', name='version-info', source="version-info.in", target="version-info")
-	tgen.dict = { "Implementation_Version":Implementation_Version,"ant_args":ant_args }
+	tgen.dict = { "Implementation_Version":Implementation_Version,"mvn_args":mvn_args }
 	bld.install_files("${DOCDIR}","version-info")
 
 	bld.srcnode.ensure_dir_node_from_path("target/jar")
 	bld.srcnode.ensure_dir_node_from_path("dist")
 
-	tgen = bld.new_task_gen (rule = Utils.runant,
-							 name = "runant",
-							 antargs = ant_args)
+	tgen = bld.new_task_gen (rule = Utils.runmvn,
+							 name = "runmvn",
+							 mvnargs = mvn_args)
 
-	jarnode = bld.srcnode.find_dir ('target/jar')
-	jars_str = jarnode.ant_glob ('*.jar').split ()
+	jarnode = bld.srcnode.find_dir ('.')
+	jars_str = jarnode.ant_glob ('**/target/*.jar').split ()
 	ant_jars = []
 	excludes = ["cloud-xstream-1.3.1.jar", "cloud-commons-dbcp-1.2.2.jar", 
 			"cloud-commons-httpclient-3.1.jar", "cloud-commons-pool-1.4.jar",
@@ -146,7 +145,6 @@ def build_jars ():
 	
 	bld.install_files ('${JAVADIR}', ant_jars)
 
-
 def build_premium ():
 	if buildpremium: bld.recurse(["cloudstack-proprietary/"],'build')
 
@@ -201,9 +199,9 @@ def build_patches ():
 def build_systemvm_patch ():
 	if bld.env.DISTRO not in ["Windows","Mac"]:
 		# patch creation
-		bld.install_files ("${AGENTLIBDIR}/vms", "%s/systemvm.zip" % distdir)
+		bld.install_files ("${AGENTLIBDIR}/vms", "console-proxy/dist/systemvm.zip" )
 		# ISO creation
-		bld.install_as("${AGENTLIBDIR}/vms/systemvm.iso", "%s/systemvm.iso" % distdir)
+		bld.install_as("${AGENTLIBDIR}/vms/systemvm.iso", "console-proxy/dist/systemvm.iso" )
 
 def build_systemvm_iso ():
 	if buildpremium:
@@ -361,13 +359,14 @@ def build_xml_api_description ():
 		relationship = Utils.relpath(sourcedir,os.getcwd())
 		cp = [ _join(relationship,x) for x in task.generator.env.CLASSPATH.split(pathsep) ]
 
-		jarnames = ['utils','server','core', 'api', 'server-extras']
+		jarnames = ['utils','server','core', 'api']
 		props = ["client/tomcatconf/commands.properties.in"]
 
 		sources = []
 		for i in jarnames:
-			str = 'target/jar/cloud-%s.jar' % i
-			sources.append (str)
+                        str = _glob("../%s/target/*jar" % i )
+                        for j in str:
+			        sources.append ("%s/target/%s" % (i, os.path.basename(j)))
 		sources.append ("client/tomcatconf/commands.properties.in")
 		if buildpremium:
 			sources.append("client/tomcatconf/commands-ext.properties.in")


Mime
View raw message