You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@gump.apache.org by aj...@apache.org on 2004/05/19 23:14:19 UTC
cvs commit: gump/python/gump/core gumprun.py
ajack 2004/05/19 14:14:19
Modified: python/gump/build Tag: MultiRunner maven.py ant.py script.py
builder.py
python/gump/test/resources/complete1 Tag: MultiRunner
module1.xml
python/gump/test/resources/full1 Tag: MultiRunner
module1.xml
python/gump/core Tag: MultiRunner gumprun.py
Log:
Test/Fix...
1) Don't sort module order, allow it to match project order...
Revision Changes Path
No revision
No revision
1.1.2.6 +1 -1 gump/python/gump/build/Attic/maven.py
Index: maven.py
===================================================================
RCS file: /home/cvs/gump/python/gump/build/Attic/maven.py,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -r1.1.2.5 -r1.1.2.6
--- maven.py 19 May 2004 20:48:34 -0000 1.1.2.5
+++ maven.py 19 May 2004 21:14:19 -0000 1.1.2.6
@@ -56,7 +56,7 @@
workspace=self.run.getWorkspace()
- log.debug(' ------ Maven-ing: [' + `project.getPosition()` + '] ' + project.getName())
+ log.debug(' ------ Maven-ing: #[' + `project.getPosition()` + '] ' + project.getName())
self.performPreBuild(project, stats)
1.1.2.4 +1 -1 gump/python/gump/build/Attic/ant.py
Index: ant.py
===================================================================
RCS file: /home/cvs/gump/python/gump/build/Attic/ant.py,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- ant.py 19 May 2004 20:14:15 -0000 1.1.2.3
+++ ant.py 19 May 2004 21:14:19 -0000 1.1.2.4
@@ -57,7 +57,7 @@
workspace=self.run.getWorkspace()
- log.info(' Ant-ing: #[' + `project.getPosition()` + '] : ' + project.getName())
+ log.info(' ------ Ant-ing: #[' + `project.getPosition()` + '] : ' + project.getName())
#
# Get the appropriate build command...
1.1.2.4 +28 -52 gump/python/gump/build/Attic/script.py
Index: script.py
===================================================================
RCS file: /home/cvs/gump/python/gump/build/Attic/script.py,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- script.py 19 May 2004 16:01:59 -0000 1.1.2.3
+++ script.py 19 May 2004 21:14:19 -0000 1.1.2.4
@@ -54,65 +54,41 @@
workspace=self.run.getWorkspace()
- log.info(' Project: #[' + `project.getPosition()` + '] : ' + project.getName())
+ log.info(' ------ Script-ing: #[' + `project.getPosition()` + '] : ' + project.getName())
- # Do this even if not ok
- self.performPreBuild(project, stats)
-
- wasBuilt=0
- if project.okToPerformWork():
- log.debug(' ------ Building: [' + `projectNo` + '] ' + project.getName())
-
- # Turn on --verbose or --debug if failing ...
- if stats:
- if (not STATE_SUCCESS == stats.currentState) and \
- not project.isVerboseOrDebug():
- if stats.sequenceInState > INSIGNIFICANT_DURATION:
- project.addInfo('Enable "debug" output, due to a sequence of %s previous errors.' % stats.sequenceInState)
- project.setDebug(1)
- else:
- project.addInfo('Enable "verbose" output, due to %s previous error(s).' % stats.sequenceInState)
- project.setVerbose(1)
-
- #
- # Get the appropriate build command...
- #
- cmd=project.getBuildCommand(self.run.getEnvironment().getJavaCommand())
+ #
+ # Get the appropriate build command...
+ #
+ cmd=self.getScriptCommand(project)
- if cmd:
- # Execute the command ....
- cmdResult=execute(cmd,workspace.tmpdir)
+ if cmd:
+ # Execute the command ....
+ cmdResult=execute(cmd,workspace.tmpdir)
- # Update Context
- work=CommandWorkItem(WORK_TYPE_BUILD,cmd,cmdResult)
- project.performedWork(work)
- wasBuilt=1
+ # Update Context
+ work=CommandWorkItem(WORK_TYPE_BUILD,cmd,cmdResult)
+ project.performedWork(work)
- # Update Context w/ Results
- if not cmdResult.state==CMD_STATE_SUCCESS:
- reason=REASON_BUILD_FAILED
- if cmdResult.state==CMD_STATE_TIMED_OUT:
- reason=REASON_BUILD_TIMEDOUT
- project.changeState(STATE_FAILED,reason)
-
- if not project.isDebug():
- # Display...
- project.addInfo('Enable "debug" output, due to build failure.')
- project.setDebug(1)
+ # Update Context w/ Results
+ if not cmdResult.state==CMD_STATE_SUCCESS:
+ reason=REASON_BUILD_FAILED
+ if cmdResult.state==CMD_STATE_TIMED_OUT:
+ reason=REASON_BUILD_TIMEDOUT
+ project.changeState(STATE_FAILED,reason)
- else:
- # For now, things are going good...
- project.changeState(STATE_SUCCESS)
+ else:
+ # For now, things are going good...
+ project.changeState(STATE_SUCCESS)
- def getScriptCommand(self):
+ def getScriptCommand(self,project):
""" Return the command object for a <script entry """
- script=self.script
- scriptxml=self.xml.script
+ script=project.script
+ scriptxml=project.xml.script
#
# Where to run this:
#
- basedir = script.getBaseDirectory() or self.getBaseDirectory()
+ basedir = script.getBaseDirectory() or project.getBaseDirectory()
# Add .sh or .bat as appropriate to platform
scriptfullname=scriptxml.name
@@ -128,9 +104,9 @@
scriptfile=os.path.abspath(os.path.join(basedir, scriptfullname))
# Not sure this is relevent...
- (classpath,bootclasspath)=self.getClasspaths()
+ (classpath,bootclasspath)=project.getClasspaths()
- cmd=Cmd(scriptfile,'buildscript_'+self.getModule().getName()+'_'+self.getName(),\
+ cmd=Cmd(scriptfile,'buildscript_'+project.getModule().getName()+'_'+project.getName(),\
basedir,{'CLASSPATH':classpath})
# Set this as a system property. Setting it here helps JDK1.4+
@@ -151,9 +127,9 @@
# Allow script-level debugging...
#
# Per GUMP-48 scripts do not want this.
- #if self.getWorkspace().isDebug() or self.isDebug() or debug:
+ #if project.getWorkspace().isDebug() or project.isDebug() or debug:
# cmd.addParameter('-debug')
- #if self.getWorkspace().isVerbose() or self.isVerbose() or verbose:
+ #if project.getWorkspace().isVerbose() or project.isVerbose() or verbose:
# cmd.addParameter('-verbose')
return cmd
1.1.2.6 +2 -2 gump/python/gump/build/Attic/builder.py
Index: builder.py
===================================================================
RCS file: /home/cvs/gump/python/gump/build/Attic/builder.py,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -r1.1.2.5 -r1.1.2.6
--- builder.py 19 May 2004 20:14:15 -0000 1.1.2.5
+++ builder.py 19 May 2004 21:14:19 -0000 1.1.2.6
@@ -57,7 +57,7 @@
self.ant=AntBuilder(run)
self.maven=MavenBuilder(run)
- self.script=MavenBuilder(run)
+ self.script=ScriptBuilder(run)
# Place repository in jardir (to be renamed to repodir)
self.repository=self.run.getOutputsRepository()
@@ -168,7 +168,7 @@
self.script.buildProject(project, stats)
elif project.hasAnt():
self.ant.buildProject(project, stats)
- if project.hasMaven():
+ elif project.hasMaven():
self.maven.buildProject(project, stats)
# A build attempt was made...
No revision
No revision
1.1.2.3 +1 -1 gump/python/gump/test/resources/complete1/Attic/module1.xml
Index: module1.xml
===================================================================
RCS file: /home/cvs/gump/python/gump/test/resources/complete1/Attic/module1.xml,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- module1.xml 17 May 2004 21:41:21 -0000 1.1.2.2
+++ module1.xml 19 May 2004 21:14:19 -0000 1.1.2.3
@@ -14,7 +14,7 @@
<project name="project1">
<package>org.apache.project1</package>
- <ant target="gump"/>
+ <script name="gumpscript"/>
<option project="random"/>
No revision
No revision
1.6.2.1 +1 -1 gump/python/gump/test/resources/full1/module1.xml
Index: module1.xml
===================================================================
RCS file: /home/cvs/gump/python/gump/test/resources/full1/module1.xml,v
retrieving revision 1.6
retrieving revision 1.6.2.1
diff -u -r1.6 -r1.6.2.1
--- module1.xml 12 Feb 2004 13:41:52 -0000 1.6
+++ module1.xml 19 May 2004 21:14:19 -0000 1.6.2.1
@@ -13,7 +13,7 @@
<project name="project1">
<package>org.apache.project1</package>
- <ant target="gump"/>
+ <script name="gumpscript"/>
<option project="random"/>
No revision
No revision
1.5.2.6 +18 -13 gump/python/gump/core/gumprun.py
Index: gumprun.py
===================================================================
RCS file: /home/cvs/gump/python/gump/core/gumprun.py,v
retrieving revision 1.5.2.5
retrieving revision 1.5.2.6
diff -u -r1.5.2.5 -r1.5.2.6
--- gumprun.py 19 May 2004 20:14:16 -0000 1.5.2.5
+++ gumprun.py 19 May 2004 21:14:19 -0000 1.5.2.6
@@ -181,18 +181,23 @@
self.getProjectsForProjectExpression(expr))
def getModulesForProjectList(self,projects):
- modules=[]
+ sequence=[]
for project in projects:
- # Some projects are outside of modules
+ # Some projects are outside of sequence
if project.inModule():
# Get the module this project is in
module = project.getModule()
- if not module in modules:
- modules.append(module)
+ if not module in sequence:
+ sequence.append(module)
+ module.setPosition(len(sequence))
- modules.sort()
- return modules
+ # Hmm, see if we don't sort ...
+ # would be nice to get in same order as
+ # projects need
+ # sequence.sort()
+
+ return sequence
def getRepositoriesForModuleList(self,modules):
repositories=[]
@@ -248,22 +253,22 @@
def getBuildSequenceForProjects(self,projects):
"""Determine the build sequence for a given list of projects."""
todo=[]
- result=[]
+ sequence=[]
for project in projects:
log.debug('Evaluate Seq for ['+project.getName()+']')
self.addToTodoList(project,todo)
- log.debug('TODOS ['+`len(todo)`+']')
while todo:
# one by one, remove the first ready project and append
- # it to the result
+ # it to the sequence
foundSome=0
for todoProject in todo:
if self.isReady(todoProject,todo):
todo.remove(todoProject)
- if not todoProject in result:
- result.append(todoProject)
- #log.debug('Next Project ['+todoProject.getName()+'] is #' + str(len(result)))
+ if not todoProject in sequence:
+ sequence.append(todoProject)
+ todoProject.setPosition(len(sequence))
+ log.debug('#' + `todoProject.getPosition()` + ' -> ' + todoProject.getName())
#else:
# log.debug('Duplicate Result ['+todoProject.getName()+']')
foundSome=1
@@ -278,7 +283,7 @@
else:
loop=", ".join([project.getName() for todoProject in todo])
raise RuntimeError, "Circular Dependency Loop: " + str(loop)
- return result
+ return sequence
#
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org