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)
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, ''
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)