public void WriteJava() { var path = _environment.Combine(_environment.GetString("Java.SourceDirectory"), "com", "foreign"); var filePath = Path.Combine(path, "ExternedBlockHost.java"); _disk.WriteAllText(filePath, GenJavaClassCode()); }
public void WriteJavaClass(Disk disk) { if (_nested) { throw new Exception("ForeignCode: Attempted to write dedicated javae file for nested class."); } var filePath = FullName.Replace(".", "/") + ".java"; var path = _environment.Combine(_environment.GetString("Java.SourceDirectory"), filePath); disk.WriteAllText(path, GenJavaClassCode()); }
public override void DeleteOutdated(Disk disk, IEnvironment env) { // Remove previously built APK to avoid Android caching issues var apk = env.GetString("APK.BuildName"); if (apk.IsValidPath()) { disk.DeleteFile(env.Combine(apk.UnixToNative())); } // Delete old Java files so Gradle won't try to build them disk.DeleteOutdatedFiles(env.GetOutputPath("Java.SourceDirectory")); }
public override void DeleteOutdated(Disk disk, IEnvironment env) { // Remove previously built AAR, APK and Bundle to avoid caching issues. foreach (var output in new[] { env.GetString("Outputs.AAR"), env.GetString("Outputs.APK"), env.GetString("Outputs.Bundle") }) { if (output.IsValidPath()) { disk.DeleteFile(env.Combine(output.UnixToNative())); } } // Delete old Java files so Gradle won't try to build them. disk.DeleteOutdatedFiles(env.GetOutputPath("Java.SourceDirectory")); // Dump Proguard file after deleting outdated Java files. var file = env.Combine("app", "proguard-rules.pro"); var lines = new List <string> { "## This file was generated by Uno compiler." }; var src = env.GetOutputPath("Java.SourceDirectory"); if (Directory.Exists(src)) { VisitSourceDirectoryRecursive(src, src, lines); } // End with newline. lines.Add(""); using (var f = disk.CreateBufferedText(file)) f.WriteLine(string.Join("\n", lines)); }