#!/usr/bin/env swift import Foundation final class ReleaseNotesCreator { func gitLogs(count: Int) -> [String] { let gitProcess = Process() gitProcess.executableURL = URL(fileURLWithPath: "/usr/bin/git") gitProcess.arguments = ["log", "-\(count)", "--pretty=format:\"%h (%cn) %s\""] let gitPipe = Pipe() gitProcess.standardOutput = gitPipe do { try gitProcess.run() gitProcess.waitUntilExit() let data = gitPipe.fileHandleForReading.readDataToEndOfFile() if let output = String(data: data, encoding: String.Encoding.utf8) { return output.components(separatedBy: "\n") } } catch { } return [] } func write(notes: [String], to filePath: String, anchor: String) { let data = try! Data(contentsOf: URL(string: "file://\(filePath)")!) let content = String(decoding: data, as: UTF8.self) var lines = content.components(separatedBy: "\n") guard let index = lines.firstIndex(of: anchor) else { return } var result = [String]() result.append("