rubys 2004/04/02 18:36:35 Modified: python/gump gumpenv.py python/gump/document forrest.py Log: Add more java and os version information to the output. Log all Java system properties (if available). Revision Changes Path 1.3 +65 -11 gump/python/gump/gumpenv.py Index: gumpenv.py =================================================================== RCS file: /home/cvs/gump/python/gump/gumpenv.py,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- gumpenv.py 19 Mar 2004 23:11:46 -0000 1.2 +++ gumpenv.py 3 Apr 2004 02:36:35 -0000 1.3 @@ -57,6 +57,12 @@ self.noRuper=0 self.noSvn=0 self.noCvs=0 + self.noJavaHome=0 + self.noClasspath=0 + self.noJava=0 + self.noJavac=0 + self.noPGrep=0 + self.javaProperties=0 # # JAVACMD can override this, see checkEnvironment @@ -94,19 +100,19 @@ # CLASSPATH # FORREST_HOME? - if not self.checkEnvVariable('JAVA_HOME',0): + if not self.noJavaHome and not self.checkEnvVariable('JAVA_HOME',0): self.noJavaHome=1 self.addWarning('JAVA_HOME environmental variable not found. Might not be needed.') - if not self.checkEnvVariable('CLASSPATH',0): + if not self.noClasspath and not self.checkEnvVariable('CLASSPATH',0): self.noClasspath=1 self.addWarning('CLASSPATH environmental variable not found. Might not be needed.') - if not self.checkEnvVariable('FORREST_HOME',0): + if not self.noForrest and not self.checkEnvVariable('FORREST_HOME',0): self.noForrest=1 self.addWarning('FORREST_HOME environmental variable not found, no xdoc output.') - if not self.checkEnvVariable('MAVEN_HOME',0): + if not self.noMaven and not self.checkEnvVariable('MAVEN_HOME',0): self.noMaven=1 self.addWarning('MAVEN_HOME environmental variable not found, no maven builds.') @@ -117,14 +123,19 @@ # javac (for bootstrap ant & beyond) # cvs # - # These ought set a switch.. - # # forrest (for documentation) # self.checkExecutable('env','',0) - self.checkExecutable(self.javaCommand,'-version',exitOnError,1) - self.checkExecutable('javac','-help',0) - self.checkExecutable('java com.sun.tools.javac.Main','-help',0,0,'check_java_compiler') + + if not self.noJava and not self.checkExecutable(self.javaCommand,'-version',exitOnError,1): + self.noJava=1 + self.noJavac=1 + + if not self.noJavac and not self.checkExecutable('javac','-help',0): + self.noJavac=1 + + if not self.noJavac and not self.checkExecutable('java com.sun.tools.javac.Main','-help',0,0,'check_java_compiler'): + self.noJavac=1 if not self.noCvs and not self.checkExecutable('cvs','--version',0): self.noCvs=1 @@ -148,12 +159,51 @@ self.noMaven=1 self.addWarning('"maven" command not found, no Maven builds') - if not self.checkExecutable('pgrep','-help',0): + if not self.noPGrep and not self.checkExecutable('pgrep','-help',0): self.noPGrep=1 self.addWarning('"pgrep" command not found, no process clean-ups can occur') self.changeState(STATE_SUCCESS) + def getJavaProperties(self): + if self.javaProperties: return self.javaProperties + + self.checkEnvironment() + if self.noJavac: return {} + + import commands, re + + JAVA_SOURCE = dir.tmp + '/sysprop.java' + + source=open(JAVA_SOURCE,'w') + source.write(""" + import java.util.Enumeration; + public class sysprop { + public static void main(String [] args) { + Enumeration e=System.getProperties().propertyNames(); + while (e.hasMoreElements()) { + String name = (String)e.nextElement(); + System.out.print(name + ": "); + System.out.println(System.getProperty(name)); + } + } + } + """) + source.close() + + os.system('javac ' + JAVA_SOURCE) + os.unlink(JAVA_SOURCE) + + cmd=self.javaCommand + ' -cp ' + dir.tmp + ' sysprop' + self.javaProperties = \ + dict(re.findall('(.*?): (.*)', commands.getoutput(cmd))) + os.unlink(JAVA_SOURCE.replace('.java','.class')) + + for (name,value) in self.javaProperties.items(): + log.info(name + " => " + value) + + return self.javaProperties + def checkExecutable(self,command,options,mandatory,logOutput=0,name=None): ok=0 try: @@ -213,4 +263,8 @@ def getJavaCommand(self): return self.javaCommand - \ No newline at end of file + +if __name__ == '__main__': + env = GumpEnvironment() + env.checkEnvironment() + env.getJavaProperties() 1.126 +11 -4 gump/python/gump/document/forrest.py Index: forrest.py =================================================================== RCS file: /home/cvs/gump/python/gump/document/forrest.py,v retrieving revision 1.125 retrieving revision 1.126 diff -u -r1.125 -r1.126 --- forrest.py 2 Apr 2004 21:23:20 -0000 1.125 +++ forrest.py 3 Apr 2004 02:36:35 -0000 1.126 @@ -313,6 +313,13 @@ definitionTable.createEntry('@@DATE@@', str(default.date)) definitionTable.createEntry('Start Date/Time', workspace.startdatetime) definitionTable.createEntry('Timezone', workspace.timezone) + + javaproperties=run.getEnvironment().getJavaProperties() + for name in ['java.vendor', 'java.version', 'os.name', 'os.arch', 'os.version']: + if name in javaproperties: + definitionTable.createEntry(name, javaproperties[name]) + + rssSyndRow=definitionTable.createRow() rssSyndRow.createData('Syndication') @@ -2801,4 +2808,4 @@ return fileName + '.html' - \ No newline at end of file +
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]