protected override void Bundle(GeneratorData data, GeneratorOutputHandler output, string tempFolder, string dataFolder, string kickName) { // TODO Setup WindowsDX bundler // Extract Windows Libraries output.WriteLine("Extracting Kickstart stuff"); ZipFile.ExtractToDirectory(Path.Combine(dataFolder, this.Name + "Libs.zip"), tempFolder); // Generate Zip File var zipfile = Path.Combine(data.OutputFolder, kickName) + "_" + this.Name + ".zip"; output.WriteLine("Generating zip file: " + zipfile); ZipFile.CreateFromDirectory(tempFolder, zipfile); }
protected override void Bundle(GeneratorData data, GeneratorOutputHandler output, string tempFolder, string dataFolder, string kickName) { // Copy MonoKickstart output.WriteLine("Extracting Kickstart stuff"); ZipFile.ExtractToDirectory(Path.Combine(dataFolder, "MonoKickstart.zip"), tempFolder); ZipFile.ExtractToDirectory(Path.Combine(dataFolder, this.Name + "Libs.zip"), tempFolder); // Rename Kickstart files var files = Directory.GetFiles(tempFolder); foreach (var f in files) { if (f.Contains("kick.bin.")) { Utilities.CallNativeMethod("chmod +x " + f); File.Move(f, f.Replace("kick", kickName)); } } // Write Kickstart launch script var lines = File.ReadAllLines(Path.Combine(dataFolder, "Kick")); for (int i = 0; i < lines.Length; i++) { if (lines[i].Contains("kick.bin.")) { lines[i] = lines[i].Replace("kick", kickName); } } var kickFile = Path.Combine(tempFolder, kickName); File.WriteAllLines(kickFile, lines); Utilities.CallNativeMethod("chmod +x " + kickFile); // Generate Zip File var zipfile = Path.Combine(data.OutputFolder, kickName) + "_" + this.Name + ".zip"; output.WriteLine("Generating zip file: " + zipfile); output.Write(Utilities.CallNativeMethod("cd " + tempFolder + " && zip -r " + zipfile + " ./*")); }
protected override void Bundle(GeneratorData data, GeneratorOutputHandler output, string tempFolder, string dataFolder, string kickName) { // Copy MonoKickstart output.WriteLine("Extracting Kickstart stuff"); ZipFile.ExtractToDirectory(Path.Combine(dataFolder, "MonoKickstart.zip"), tempFolder); ZipFile.ExtractToDirectory(Path.Combine(dataFolder, this.Name + "Libs.zip"), tempFolder); // Rename Kickstart files var files = Directory.GetFiles(tempFolder); foreach(var f in files) { if(f.Contains("kick.bin.")) { Utilities.CallNativeMethod("chmod +x " + f); File.Move(f, f.Replace("kick", kickName)); } } // Write Kickstart launch script var lines = File.ReadAllLines(Path.Combine(dataFolder, "Kick")); for(int i = 0;i < lines.Length;i++) if(lines[i].Contains("kick.bin.")) lines[i] = lines[i].Replace("kick", kickName); var kickFile = Path.Combine(tempFolder, kickName); File.WriteAllLines(kickFile, lines); Utilities.CallNativeMethod("chmod +x " + kickFile); // Generate Zip File var zipfile = Path.Combine(data.OutputFolder, kickName) + "_" + this.Name + ".zip"; output.WriteLine("Generating zip file: " + zipfile); output.Write(Utilities.CallNativeMethod("cd " + tempFolder + " && zip -r " + zipfile + " ./*")); }
public bool Generate(GeneratorData data, GeneratorOutputHandler output) { var ret = false; var tempFolder = Path.GetTempFileName(); var dataFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data"); var kickName = Path.GetFileNameWithoutExtension(data.ExeFile); output.WritePassage("Starting to bundle"); try { output.WriteLine("Generating temporary folder"); File.Delete(tempFolder); Directory.CreateDirectory(tempFolder); // Copy Game output.WriteLine("Copying game"); Utilities.CopyDirectory(data.Folder, tempFolder); Bundle(data, output, tempFolder, dataFolder, kickName); ret = true; } catch (Exception ex) { output.WriteLine(ex.Message); } try { output.WriteLine("Cleanup"); if (Directory.Exists(tempFolder)) { Directory.Delete(tempFolder, true); } } catch (Exception ex) { output.WriteLine(ex.Message); } output.WriteLine("Done bundling, result: " + ((ret) ? "SUCCESS" : "FAILURE")); return(ret); }
public bool Generate(GeneratorData data, GeneratorOutputHandler output) { var ret = false; var tempFolder = Path.GetTempFileName(); var dataFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data"); var kickName = Path.GetFileNameWithoutExtension(data.ExeFile); output.WritePassage("Starting to bundle"); try { output.WriteLine("Generating temporary folder"); File.Delete(tempFolder); Directory.CreateDirectory(tempFolder); // Copy Game output.WriteLine("Copying game"); Utilities.CopyDirectory(data.Folder, tempFolder); Bundle(data, output, tempFolder, dataFolder, kickName); ret = true; } catch (Exception ex) { output.WriteLine(ex.Message); } try { output.WriteLine("Cleanup"); if (Directory.Exists(tempFolder)) Directory.Delete(tempFolder, true); } catch (Exception ex) { output.WriteLine(ex.Message); } output.WriteLine("Done bundling, result: " + ((ret) ? "SUCCESS" : "FAILURE")); return ret; }