def check_java_class(self, classname, with_classpath=None): """Check if the specified java class is installed""" import shutil javatestdir = '.waf-javatest' classpath = javatestdir if self.env['CLASSPATH']: classpath += os.pathsep + self.env['CLASSPATH'] if isinstance(with_classpath, str): classpath += os.pathsep + with_classpath shutil.rmtree(javatestdir, True) os.mkdir(javatestdir) java_file = open(os.path.join(javatestdir, 'Test.java'), 'w') java_file.write(class_check_source) java_file.close() # Compile the source Utils.exec_command(self.env['JAVAC'] + [os.path.join(javatestdir, 'Test.java')], shell=False) # Try to run the app cmd = self.env['JAVA'] + ['-cp', classpath, 'Test', classname] self.to_log("%s\n" % str(cmd)) found = Utils.exec_command(cmd, shell=False, log=self.log) self.msg('Checking for java class %s' % classname, not found) shutil.rmtree(javatestdir, True) return found
def genmarshal_func(self): bld = self.inputs[0].__class__.ctx get = self.env.get_flat cmd1 = "%s %s --prefix=%s --header > %s" % ( get('GLIB_GENMARSHAL'), self.inputs[0].srcpath(self.env), get('GLIB_GENMARSHAL_PREFIX'), self.outputs[0].abspath(self.env) ) ret = bld.exec_command(cmd1) if ret: return ret #print self.outputs[1].abspath(self.env) f = open(self.outputs[1].abspath(self.env), 'wb') c = '''#include "%s"\n''' % self.outputs[0].name f.write(c.encode("utf-8")) f.close() cmd2 = "%s %s --prefix=%s --body >> %s" % ( get('GLIB_GENMARSHAL'), self.inputs[0].srcpath(self.env), get('GLIB_GENMARSHAL_PREFIX'), self.outputs[1].abspath(self.env) ) ret = Utils.exec_command(cmd2) if ret: return ret