ajack       2004/03/19 10:19:18

  Modified:    python/gump/test/resources/full1 module4.xml module3.xml
               python/gump/model project.py depend.py ant.py
               python/gump/document forrest.py
               .        gumpy.sh
               python/gump/test model.py
               python/gump/gui view.py
  Log:
  1) Make gumpy.sh cat log file to log directory, whenever it exits.

  2) Attempt to fix <ant <depend to set classpath.

  3) Unit tests for this and <ant <property
  
  Revision  Changes    Path
  1.9       +3 -0      gump/python/gump/test/resources/full1/module4.xml
  
  Index: module4.xml
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/test/resources/full1/module4.xml,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- module4.xml       15 Mar 2004 22:07:07 -0000      1.8
  +++ module4.xml       19 Mar 2004 18:19:18 -0000      1.9
  @@ -17,7 +17,10 @@
       </ant>
   
       <depend project="project1"/>
  +    <depend project="project2" runtime="true"/>
       <depend project="project3"/>
  +
  +    <option project="project1" />
   
       <home nested="dist"/>
   
  
  
  
  1.10      +9 -4      gump/python/gump/test/resources/full1/module3.xml
  
  Index: module3.xml
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/test/resources/full1/module3.xml,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- module3.xml       29 Feb 2004 19:16:19 -0000      1.9
  +++ module3.xml       19 Mar 2004 18:19:18 -0000      1.10
  @@ -11,12 +11,17 @@
       <package>org.apache.project3</package>
   
       <ant target="gump" debug="true">      
  +       <!-- This is used to test depends in ant, which
  +             are like properties only with classpath="add".
  +             Please do not add any other dependences on project1
  +             or this test will be silently invalidated -->
         <depend property="project1.jar" project="project1"/>
  +      
  +      <!-- This is used to test property dependencies,
  +             do not add any other dependencies on project2
  +             or the check that this is 'noclasspath' will fail -->
  +      <property property="project2.jar" project="project2"/>
       </ant>
  -
  -    <option project="project1" />
  -
  -    <depend project="project2" runtime="true"/>
   
       <home nested="dist"/>
        
  
  
  
  1.67      +10 -7     gump/python/gump/model/project.py
  
  Index: project.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/model/project.py,v
  retrieving revision 1.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- project.py        18 Mar 2004 23:24:55 -0000      1.66
  +++ project.py        19 Mar 2004 18:19:18 -0000      1.67
  @@ -913,7 +913,7 @@
   # ------------------------------------------------------------------------
   """)
           
  -        (classpath,bootclasspath)=self.getClasspathLists()
  +        (classpath,bootclasspath)=self.getClasspathObjects()
           
           # :TODO: write...
           for annotatedPath in classpath.getPathParts():
  @@ -970,7 +970,7 @@
           #
           # Calculate classpath and bootclasspath
           #
  -        (classpath, bootclasspath) = self.getClasspathLists(debug)
  +        (classpath, bootclasspath) = self.getClasspathObjects(debug)
           
           #
           # Return them simple/flattened
  @@ -999,7 +999,7 @@
       #
       # Return a tuple of (CLASSPATH, BOOTCLASSPATH) for a project
       #
  -    def getClasspathLists(self,debug=0):
  +    def getClasspathObjects(self,debug=0):
           """Get a TOTAL classpath for a project (including its dependencies)"""
   
           #
  @@ -1065,12 +1065,15 @@
       def getDependOutputList(self,dependency,visited,depth=0,debug=0):      
           """Get a classpath of outputs for a project (including its dependencies)""" 
           
      
  -        # Don't loop, and skip ones that aren't here to
  -        # affect the classpath
  -        if (dependency in visited) or dependency.isNoClasspath():  
  +        # Skip ones that aren't here to affect the classpath
  +        if dependency.isNoClasspath():  
  +            return (None,None)
  +            
  +        # Don't loop
  +        if (dependency in visited):
               # beneficiary.addInfo("Duplicated dependency [" + str(depend) + "]")    
      
               if debug:
  -                print str(depth) + ") Already Visited : " + str(depend)
  +                print str(depth) + ") Already Visited : " + str(dependency)
                   print str(depth) + ") Previously Visits  : "
                   for v in visited:
                       print str(depth) + ")  - " + str(v)
  
  
  
  1.21      +1 -2      gump/python/gump/model/depend.py
  
  Index: depend.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/model/depend.py,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- depend.py 18 Mar 2004 23:24:55 -0000      1.20
  +++ depend.py 19 Mar 2004 18:19:18 -0000      1.21
  @@ -340,8 +340,7 @@
           for dependency in self.getDirectDependencies():
               if dependency.getProject().getName()==name       \
                   and not dependency.isNoClasspath() :
  -                return 1
  -            
  +                return 1            
           return 0
   
       # determine if this project is a prereq of any project on the todo list
  
  
  
  1.19      +9 -0      gump/python/gump/model/ant.py
  
  Index: ant.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/model/ant.py,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ant.py    18 Mar 2004 23:24:55 -0000      1.18
  +++ ant.py    19 Mar 2004 18:19:18 -0000      1.19
  @@ -64,6 +64,10 @@
       # Expands
       #
       def expandProperty(self,property,project,workspace):
  +        
  +        # :TODO: Cleanup this Workaround
  +        if not property.name and property.project:
  +            property.name=property.project
               
           # Check if the property comes from another project
           if not property.project: return      
  @@ -131,6 +135,11 @@
           
               # :TODO: AJ added this, no idea if it is right/needed.
               if depend.id: xmlproperty['ids']= depend.id
  +            
  +            # <depend wants the classpath
  +            if not xmlproperty.noclasspath:
  +                xmlproperty['classpath']='add'
  +            
               # Store it
               self.expandProperty(xmlproperty,project,workspace)            
               self.importProperty(xmlproperty) 
  
  
  
  1.111     +4 -4      gump/python/gump/document/forrest.py
  
  Index: forrest.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/document/forrest.py,v
  retrieving revision 1.110
  retrieving revision 1.111
  diff -u -r1.110 -r1.111
  --- forrest.py        18 Mar 2004 23:24:55 -0000      1.110
  +++ forrest.py        19 Mar 2004 18:19:18 -0000      1.111
  @@ -1346,7 +1346,7 @@
                   if project.hasAnt():                
                       self.documentProperties(miscSection, project.getAnt(), 'Ant 
Properties')
               
  -                (classpath,bootclasspath)=project.getClasspathLists()            
  +                (classpath,bootclasspath)=project.getClasspathObjects()            
                   self.displayClasspath(miscSection, classpath,'Classpath',project)   
     
                   self.displayClasspath(miscSection, bootclasspath,'Boot 
Classpath',project) 
          
  
  
  
  1.32      +5 -2      gump/gumpy.sh
  
  Index: gumpy.sh
  ===================================================================
  RCS file: /home/cvs/gump/gumpy.sh,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- gumpy.sh  17 Mar 2004 20:10:06 -0000      1.31
  +++ gumpy.sh  19 Mar 2004 18:19:18 -0000      1.32
  @@ -113,6 +113,8 @@
        mkdir $GUMP_PROFILE_LOG_DIR; 
   fi
   if [ ! -d $GUMP_PROFILE_LOG_DIR ] ; then
  +     echo \</XMP\> >> $GUMP_LOG
  +     cp $GUMP_LOG $GUMP_FINAL_LOG
        exit 1
   fi
   
  @@ -189,7 +191,9 @@
           echo "Failed to integrate, exited with [${INTEGRATION_EXIT}], exiting..." 
>> $GUMP_LOG
           echo "Failed to integrate, exited with [${INTEGRATION_EXIT}], exiting..."
           # For cron to mail to owner...
  -        cat $GUMP_LOG
  +        cat $GUMP_LOG        
  +             echo \</XMP\> >> $GUMP_LOG
  +             cp $GUMP_LOG $GUMP_FINAL_LOG
           exit 1
   fi;
   
  @@ -226,7 +230,6 @@
   cd $GUMP
   
   echo \</XMP\> >> $GUMP_LOG
  -
   cp $GUMP_LOG $GUMP_FINAL_LOG
   
   #
  @@ -235,6 +238,8 @@
   pkill -KILL -P $$ 
   
   # $Log$
  -# Revision 1.31  2004/03/17 20:10:06  ajack
  -# Write log to tmp, then move to log directory after run is over.
  +# Revision 1.32  2004/03/19 18:19:18  ajack
  +# 1) Make gumpy.sh cat log file to log directory, whenever it exits.

  +# 2) Attempt to fix <ant <depend to set classpath.

  +# 3) Unit tests for this and <ant <property
   #
  
  
  
  1.17      +28 -3     gump/python/gump/test/model.py
  
  Index: model.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/test/model.py,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- model.py  15 Mar 2004 22:07:07 -0000      1.16
  +++ model.py  19 Mar 2004 18:19:18 -0000      1.17
  @@ -231,6 +231,31 @@
               self.assertFalse('Not NoClaspath', depend.isNoClasspath())
           self.assertTrue('Did a NOT NoClasspath test', tested)
           
  +    def testNoClasspathOnProperty(self):
  +        self.assertFalse('<ant <property does NOT gives full dependency 
(noclasspath)',      \
  +                self.project3.hasFullDependencyOnNamedProject('project2'))
  +                
  +                
  +        (classpath,bootclasspath)=self.project3.getClasspathObjects()
  +        
  +        for pathPart in classpath.getSimpleClasspathList():
  +            self.assertNotSubstring('Ought not get output2.jar from project2',      
 \
  +                    'output2.jar',   \
  +                    pathPart)
  +        
  +    def testNoClasspathOnDepend(self):
  +        self.assertTrue('<ant <depend gives full dependency (classpath)', \
  +                self.project3.hasFullDependencyOnNamedProject('project1'))
  +                
  +        (classpath,bootclasspath)=self.project3.getClasspathObjects()
  +        
  +        found=0
  +        for pathPart in classpath.getSimpleClasspathList():
  +            if not -1 == pathPart.find('output1.jar'):
  +                found=1
  +            
  +        self.assertTrue('Ought find output1.jar', found)
  +        
       def testJunitReport(self):
                   
           self.assertTrue('This has a <junitreport', self.project3.hasReports())
  
  
  
  1.9       +4 -4      gump/python/gump/gui/view.py
  
  Index: view.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/gui/view.py,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- view.py   16 Mar 2004 19:50:15 -0000      1.8
  +++ view.py   19 Mar 2004 18:19:18 -0000      1.9
  @@ -419,7 +419,7 @@
       if not self.classpath.GetColumn(0):
         self.classpath.InsertColumn(0, 'Path')
   
  -    (classpath, bootclasspath)=project.getClasspathLists()
  +    (classpath, bootclasspath)=project.getClasspathObjects()
       for i in range(0,len(classpath)):
         self.classpath.InsertStringItem(i,classpath[i])
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to