fix: Create options if it does not exist when updating them

Previously, the file could not be read to be updated. If the file does not exist, simply serialize the options to the file.
This commit is contained in:
oSumAtrIX 2023-09-03 22:40:01 +02:00
parent 5d50d1a622
commit ca809f0948
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4

View File

@ -23,7 +23,7 @@ internal object OptionsCommand : Runnable {
@CommandLine.Option(
names = ["-p", "--path"], description = ["Path to patch options JSON file"], showDefaultValue = ALWAYS
)
private var path: File = File("options.json")
private var filePath: File = File("options.json")
@CommandLine.Option(
names = ["-o", "--overwrite"], description = ["Overwrite existing options file"], showDefaultValue = ALWAYS
@ -37,10 +37,10 @@ internal object OptionsCommand : Runnable {
)
private var update: Boolean = false
override fun run() = if (!path.exists() || overwrite) with(PatchBundleLoader.Jar(*patchBundles)) {
if (update) setOptions(path)
override fun run() = if (!filePath.exists() || overwrite) with(PatchBundleLoader.Jar(*patchBundles)) {
if (update && filePath.exists()) setOptions(filePath)
Options.serialize(this, prettyPrint = true).let(path::writeText)
Options.serialize(this, prettyPrint = true).let(filePath::writeText)
}
else logger.severe("Options file already exists, use --override to override it")
}