This change looks far bigger than it actually was because of line-end
tranformations. I vaguely recall there is a property we should add to
the auto-props so that all *.py files are assumed to have platform
specific line-feeds by SVN, but I've lost the details right now.
Stefan
The real change was:
Index: python/gump/core/model/project.py
===================================================================
--- python/gump/core/model/project.py (revision 111532)
+++ python/gump/core/model/project.py (working copy)
@@ -82,6 +82,7 @@
self.script=None
self.configure = None
self.make = None
+ self.builder = []
self.works=[]
self.mkdirs=[]
@@ -364,6 +365,7 @@
# Import any <ant part [if not packaged]
if self.hasDomChild('ant') and not packaged:
self.ant = Ant(self.getDomChild('ant'),self)
+ self.builder.append(self.ant)
# Copy over any XML errors/warnings
# :TODO:#1: transferAnnotations(self.xml.ant, self)
@@ -371,6 +373,7 @@
# Import any <nant part [if not packaged]
if self.hasDomChild('nant') and not packaged:
self.nant = NAnt(self.getDomChild('nant'),self)
+ self.builder.append(self.nant)
# Copy over any XML errors/warnings
# :TODO:#1: transferAnnotations(self.xml.nant, self)
@@ -378,6 +381,7 @@
# Import any <maven part [if not packaged]
if self.hasDomChild('maven') and not packaged:
self.maven = Maven(self.getDomChild('maven'),self)
+ self.builder.append(self.maven)
# Copy over any XML errors/warnings
# :TODO:#1: transferAnnotations(self.xml.maven, self)
@@ -385,6 +389,7 @@
# Import any <script part [if not packaged]
if self.hasDomChild('script') and not packaged:
self.script = Script(self.getDomChild('script'),self)
+ self.builder.append(self.script)
# Copy over any XML errors/warnings
# :TODO:#1: transferAnnotations(self.xml.script, self)
@@ -392,13 +397,15 @@
# Import any <nant part [if not packaged]
if self.hasDomChild('make') and not packaged:
self.make = Make(self.getDomChild('make'),self)
-
+ self.builder.append(self.make)
+
# Copy over any XML errors/warnings
# :TODO:#1: transferAnnotations(self.xml.make, self)
# Import any <nant part [if not packaged]
if self.hasDomChild('configure') and not packaged:
self.configure = Configure(self.getDomChild('configure'),self)
+ self.builder.append(self.configure)
# Copy over any XML errors/warnings
# :TODO:#1: transferAnnotations(self.xml.configure, self)
@@ -552,12 +559,7 @@
(badDepends, badOptions) = self.importDependencies(workspace)
# Expand <ant <depends/<properties...
- if self.ant: self.ant.expand(self,workspace)
- if self.maven: self.maven.expand(self,workspace)
- if self.script: self.script.expand(self,workspace)
- if self.nant: self.nant.expand(self,workspace)
- if self.make: self.make.expand(self,workspace)
- if self.configure: self.configure.expand(self,workspace)
+ [b.expand(self, workspace) for b in self.builder]
if not packaged:
# Complete dependencies so properties can reference the,
@@ -585,30 +587,8 @@
#
# complete properties
#
- if self.ant:
- self.ant.complete(self,workspace)
- transferAnnotations(self.ant, self)
+ [self.completeAndTransferAnnotations(b, workspace) for b in
self.builder]
- if self.maven:
- self.maven.complete(self,workspace)
- transferAnnotations(self.maven, self)
-
- if self.script:
- self.script.complete(self,workspace)
- transferAnnotations(self.script, self)
-
- if self.nant:
- self.nant.complete(self,workspace)
- transferAnnotations(self.nant, self)
-
- if self.make:
- self.make.complete(self,workspace)
- transferAnnotations(self.make, self)
-
- if self.configure:
- self.configure.complete(self,workspace)
- transferAnnotations(self.configure, self)
-
if not packaged:
#
# TODO -- move these back?
@@ -723,10 +703,10 @@
"""
Does this project have a builder?
"""
- hasBuild=0
- # I.e has an <ant or <script element
- if self.ant or self.script or self.maven: hasBuild=1
- return hasBuild
+ if len(self.builder) > 0:
+ return 1
+ else:
+ return 0
def dump(self, indent=0, output=sys.stdout):
"""
@@ -742,19 +722,8 @@
Dependable.dump(self,indent,output)
- if self.ant:
- self.ant.dump(indent+1,output)
- if self.maven:
- self.maven.dump(indent+1,output)
- if self.script:
- self.script.dump(indent+1,output)
+ [b.dump(indent + 1, output) for b in self.builder + self.works +
self.getOutputs()]
- for work in self.works:
- work.dump(indent+1,output)
-
- for out in self.getOutputs():
- out.dump(indent+1,output)
-
def getAnnotatedOutputsList(self):
"""
Return a list of the outputs this project generates
@@ -779,6 +748,10 @@
def setLanguageType(self,langType):
self.languageType=langType
+ def completeAndTransferAnnotations(self, b, workspace):
+ b.complete(self,workspace)
+ transferAnnotations(b, self)
+
class ProjectStatistics(Statistics):
"""Statistics Holder"""
def __init__(self,projectName):
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]