public static void InitNewConfig(InitOptions options) { if (File.Exists(PathUtils.ConfigPath)) { Logger.Log(LogCategory.Warning, "This project already has a config file"); } Logger.Log(LogCategory.Info, $"Writing new config file to {PathUtils.ConfigPath} ..."); var newConfigText = SerialiseConfig(ConfigDefaults.GetMinimalUserConfig()); try { using (var file = File.Open(PathUtils.ConfigPath, FileMode.CreateNew)) { var writer = new StreamWriter(file); writer.Write(newConfigText); writer.Flush(); } } catch (Exception e) { throw new Exception("Failed to write new config file: " + e.Message, e); } var defaultConfigInstance = ConfigDefaults.GetDefaultConfig(); if (!Directory.Exists(defaultConfigInstance.Build.OutputDirectory)) { Logger.Log(LogCategory.Info, $"Creating your build output folder at {defaultConfigInstance.Build.OutputDirectory} ..."); } }
static ConfigModel LoadConfig() { var config = ConfigDefaults.GetDefaultConfig(); JsonConvert.PopulateObject(File.ReadAllText(PathUtils.ConfigPath), config, new JsonSerializerSettings { ObjectCreationHandling = ObjectCreationHandling.Reuse }); return(config); }