Esempio n. 1
0
 def build(self):
     super(GraalVmWatBuildTask, self).build()
     output_dir = self.subject.getOutputDir()
     for root, filename in self.subject.getProgramSources():
         src = join(
             output_dir,
             mx_wasm.remove_extension(filename) + ".wasm")
         dst = join(
             root,
             mx_wasm.remove_extension(filename) + ".wasm")
         if mx.is_windows():
             mx.copyfile(src, dst)
         else:
             os.symlink(src, dst)
Esempio n. 2
0
 def needsBuild(self, newestInput):
     is_needed, reason = super(GraalVmWatBuildTask,
                               self).needsBuild(newestInput)
     if is_needed:
         return is_needed, reason
     for root, filename in self.subject.getProgramSources():
         f = join(root,
                  mx_wasm.remove_extension(filename) + ".wasm")
         if not os.path.exists(f):
             return True, "symlink '{}' does not exist".format(
                 f)
     return False, ''
Esempio n. 3
0
 def clean(self, forBuild=False):
     super(GraalVmWatBuildTask, self).build()
     for root, filename in self.subject.getProgramSources():
         f = join(root,
                  mx_wasm.remove_extension(filename) + ".wasm")
         if os.path.exists(f):
             if os.path.islink(f):
                 os.unlink(f)
             else:
                 mx.rmtree(f)
     output_dir = self.subject.getOutputDir()
     if not forBuild and os.path.exists(output_dir):
         mx.rmtree(output_dir)