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/01/30 18:22:58 UTC
cvs commit: jakarta-gump/python/gump/document xdoc.py forrest.py
ajack 2004/01/30 09:22:58
Modified: python/gump engine.py config.py
python/gump/output nag.py
python/gump/test/resources/full1 module4.xml
python/gump/model project.py
python/gump/document xdoc.py forrest.py
Log:
1) Split <ant target="X Y Z" on whitespace (primarily space), to be consistent with Traditional Gump.
2) Added 'check for minimum workspace version' (in case I need to up to 0.4 for a name attribute on w/s)
3) Cosmetic changes (more in docs, tweaked nag e-mail contents, etc.)
Revision Changes Path
1.51 +7 -1 jakarta-gump/python/gump/engine.py
Index: engine.py
===================================================================
RCS file: /home/cvs/jakarta-gump/python/gump/engine.py,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- engine.py 29 Jan 2004 18:11:56 -0000 1.50
+++ engine.py 30 Jan 2004 17:22:57 -0000 1.51
@@ -78,9 +78,15 @@
# Check the workspace
if not workspace.getVersion() >= setting.ws_version:
- message='Workspace version ['+workspace.getVersion()+'] below expected [' + setting.ws_version + ']'
+ message='Workspace version ['+workspace.getVersion()+'] below preferred [' + setting.ws_version + ']'
workspace.addWarning(message)
log.warn(message)
+
+ # Check the workspace
+ if not workspace.getVersion() >= setting.ws_minimum_version:
+ message='Workspace version ['+workspace.getVersion()+'] below minimum [' + setting.ws_minimum_version + ']'
+ workspace.addError(message)
+ log.error(message)
# Write workspace to a 'merge' file
workspace.writeXMLToFile(default.merge)
1.13 +1 -1 jakarta-gump/python/gump/config.py
Index: config.py
===================================================================
RCS file: /home/cvs/jakarta-gump/python/gump/config.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- config.py 9 Jan 2004 19:57:19 -0000 1.12
+++ config.py 30 Jan 2004 17:22:57 -0000 1.13
@@ -127,8 +127,8 @@
version="2.0.2-alpha-0002"
- # :TODO: Add "minimum version" checks...
ws_version="0.4"
+ ws_minimum_version="0.3"
datetimeformat='%a, %d %b %Y %H:%M:%S (%Z)'
timeformat='%H:%M:%S (%Z)'
1.9 +18 -17 jakarta-gump/python/gump/output/nag.py
Index: nag.py
===================================================================
RCS file: /home/cvs/jakarta-gump/python/gump/output/nag.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- nag.py 29 Jan 2004 05:16:12 -0000 1.8
+++ nag.py 30 Jan 2004 17:22:57 -0000 1.9
@@ -322,19 +322,6 @@
url=self.run.getOptions().getResolver().getUrl(object)
content += "URL: " + url + "\n"
- if feedPrefix:
- #
- # Link them back here...
- #
- rssurl=self.run.getOptions().getResolver().getUrl(object,feedPrefix,'.rss')
- content += "RSS: " + rssurl + "\n"
-
- #
- # Link them back here...
- #
- atomurl=self.run.getOptions().getResolver().getUrl(object,feedPrefix,'.atom')
- content += "Atom: " + atomurl + "\n"
-
#
# Add an info/error/etc...
#
@@ -351,7 +338,21 @@
content+="\n\n"
for workitem in object.worklist:
content += LINE
- content+=workitem.overview()+"\n"
+ content+=workitem.overview()+"\n"
+
+
+
+ if feedPrefix:
+ content += LINE
+
+ #
+ # Link them back here...
+ #
+ rssurl=self.run.getOptions().getResolver().getUrl(object,feedPrefix,'.rss')
+ atomurl=self.run.getOptions().getResolver().getUrl(object,feedPrefix,'.atom')
+
+ content += "RSS: " + rssurl + " | "
+ content += "Atom: " + atomurl + "\n"
return content
1.6 +2 -1 jakarta-gump/python/gump/test/resources/full1/module4.xml
Index: module4.xml
===================================================================
RCS file: /home/cvs/jakarta-gump/python/gump/test/resources/full1/module4.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- module4.xml 23 Jan 2004 23:32:26 -0000 1.5
+++ module4.xml 30 Jan 2004 17:22:58 -0000 1.6
@@ -10,7 +10,8 @@
<project name="project4">
<package>org.apache.project4</package>
- <ant target="gump">
+ <!-- Not, a list of space separated targets... -->
+ <ant target="gump1 gump2 gump3">
<property name="ant.home" reference="home" project="project1"/>
</ant>
1.30 +15 -7 jakarta-gump/python/gump/model/project.py
Index: project.py
===================================================================
RCS file: /home/cvs/jakarta-gump/python/gump/model/project.py,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- project.py 23 Jan 2004 23:32:26 -0000 1.29
+++ project.py 30 Jan 2004 17:22:58 -0000 1.30
@@ -439,7 +439,8 @@
os.path.join(workspace.getBaseDirectory(), \
self.xml.home.parent))
else:
- log.error('Unable to complete project.home for [not nested/parent]: ' + self.name)
+ message='Unable to complete project.home for [not nested/parent]: ' + self.name
+ self.addError(message)
self.home=None
elif not self.xml.home:
if self.module:
@@ -448,7 +449,8 @@
else:
self.home=os.path.abspath(os.path.join(workspace.getBaseDirectory(),self.name))
else:
- log.error('Unable to complete project.home for: ' + self.name)
+ message='Unable to complete project.home for: ' + self.name
+ self.addError(message)
self.home=None
#
@@ -631,6 +633,10 @@
for dependee in self.getFullDependees():
if dependee.getOwnerProject()==project: return 1
+ def hasHomeDirectory(self):
+ if hasattr(self,'home') and self.home: return 1
+ return 0
+
def getHomeDirectory(self):
return self.home
@@ -763,7 +769,9 @@
if buildfile: cmd.addParameter('-f',buildfile)
# End with the target...
- if target: cmd.addParameter(target)
+ if target:
+ for targetParam in target.split():
+ cmd.addParameter(targetParam)
return cmd
@@ -1123,7 +1131,7 @@
runtime=dependency.runtime
inherit=dependency.inherit
if dependency.ids:
- ids=dependency.ids.split(' ')
+ ids=dependency.ids.split()
else:
ids=None
1.9 +6 -3 jakarta-gump/python/gump/document/xdoc.py
Index: xdoc.py
===================================================================
RCS file: /home/cvs/jakarta-gump/python/gump/document/xdoc.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- xdoc.py 21 Jan 2004 21:26:02 -0000 1.8
+++ xdoc.py 30 Jan 2004 17:22:58 -0000 1.9
@@ -676,5 +676,8 @@
def createNote(self,text=None):
return self.storePiece(XDocNote(self.createSubContext(),text))
+ def createWarning(self,text=None):
+ return self.storePiece(XDocWarning(self.createSubContext(),text))
+
1.61 +47 -28 jakarta-gump/python/gump/document/forrest.py
Index: forrest.py
===================================================================
RCS file: /home/cvs/jakarta-gump/python/gump/document/forrest.py,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- forrest.py 29 Jan 2004 18:11:56 -0000 1.60
+++ forrest.py 30 Jan 2004 17:22:58 -0000 1.61
@@ -287,19 +287,19 @@
syndRow.createData().createLink('workspace.html','XML')
if not gumpSet.isFull():
- note=definitionSection.createNote()
+ warning=definitionSection.createWarning()
- note.createText("""This output does not represent the a complete workspace,
+ warning.createText("""This output does not represent the a complete workspace,
but a partial one.
Only projects, and their dependents, matching this regular expression """)
- note.createStrong(gumpSet.projectexpression)
- note.createBreak()
- note.createBreak()
- note.createText('Requested Projects:')
- note.createBreak()
+ warning.createStrong(gumpSet.projectexpression)
+ warning.createBreak()
+ warning.createBreak()
+ warning.createText('Requested Projects:')
+ warning.createBreak()
for project in gumpSet.projects:
- note.createText(project.name)
- note.createText(' ')
+ warning.createText(project.name)
+ warning.createText(' ')
self.documentSummary(document,workspace.getProjectSummary())
@@ -939,17 +939,30 @@
detailsList=detailsSection.createList()
self.insertLink(project.getModule(),project,detailsList.createEntry('Module: '))
+
+
+ if project.hasHomeDirectory():
+ detailsList.createEntry('Home Directory: ', project.getHomeDirectory())
+
if project.hasCause() and not project==project.getCause():
self.insertTypedLink(project.getCause(),project,detailsList.createEntry('Root Cause: '))
+
e = secsToElapsedString(project.getElapsedSecs())
if e: detailsList.createEntry("Elapsed: ", e)
# Display nag information
- for nagEntry in project.xml.nag:
- toaddr=getattr(nagEntry,'to') or workspace.mailinglist
- fromaddr=getStringFromUnicode(getattr(nagEntry,'from') or workspace.email)
- detailsList.createEntry("Nag To: ").createFork('mailto:'+toaddr,toaddr)
- detailsList.createEntry("Nag From: ").createFork('mailto:'+fromaddr,fromaddr)
+ if project.xml.nag:
+ for nagEntry in project.xml.nag:
+ toaddr=getattr(nagEntry,'to') or workspace.mailinglist
+ fromaddr=getStringFromUnicode(getattr(nagEntry,'from') or workspace.email)
+ detailsList.createEntry('Nag To: ').createFork('mailto:'+toaddr,toaddr)
+ detailsList.createEntry('Nag From: ').createFork('mailto:'+fromaddr,fromaddr)
+ elif not project.isPackaged() and project.hasBuildCommand():
+ document.createWarning('This project does not utilize Gump nagging.')
+
+ metadataLocation=str(project.xml.href) or str(module.xml.href)
+ if metadataLocation:
+ detailsList.createEntry('Gump Metadata: ', metadataLocation)
# Note: Leverages previous extraction from project statistics DB
stats=project.getStats()
@@ -1098,18 +1111,21 @@
def documentDependenciesList(self,xdocNode,title,dependencies,dependees,referencingObject):
if dependencies:
- projectSection=xdocNode.createSection(title)
- projectTable=projectSection.createTable(['Name','Type','Inheritence','Ids','State','Notes'])
+ dependencySection=xdocNode.createSection(title)
+ dependencyTable=dependencySection.createTable(['Name','Type','Inheritence','Ids','State','Notes'])
+ totalDeps=0
for depend in dependencies:
+ totalDeps += 1
+
# Project/Owner
if not dependees:
project=depend.getProject()
else:
project=depend.getOwnerProject()
- projectRow=projectTable.createRow()
- projectRow.createComment(project.getName())
- self.insertLink( project, referencingObject, projectRow.createData())
+ dependencyRow=dependencyTable.createRow()
+ dependencyRow.createComment(project.getName())
+ self.insertLink( project, referencingObject, dependencyRow.createData())
# Type
type=''
@@ -1119,23 +1135,26 @@
if depend.isOptional():
if type: type += ' '
type+='Optional'
- projectRow.createData(type)
+ dependencyRow.createData(type)
# Inheritence
- projectRow.createData(depend.getInheritenceDescription())
+ dependencyRow.createData(depend.getInheritenceDescription())
# Ids
ids = depend.getIds() or 'All'
- projectRow.createData(ids)
+ dependencyRow.createData(ids)
# State Icon
- self.insertStateIcon(project,referencingObject,projectRow.createData())
+ self.insertStateIcon(project,referencingObject,dependencyRow.createData())
# Dependency Annotations
- noteData=projectRow.createData()
+ noteData=dependencyRow.createData()
for note in depend.getAnnotations():
noteData.createText(str(note))
- noteData.createBreak()
+ noteData.createBreak()
+
+ dependencySection.createParagraph(
+ 'Total ' + title + ' : ' + str(totalDeps))
def documentAnnotations(self,xdocNode,annotatable):