public override void Execute(string[] args) { var currentDir = Directory.GetCurrentDirectory(); var path = currentDir + Path.DirectorySeparatorChar + Preferences.PATH; if (/*args.IsForce() ||*/ !File.Exists(path)) { var defaultConfig = new CodeGeneratorConfig(); var properties = new Properties(defaultConfig.DefaultProperties); defaultConfig.Configure(properties); var propertiesString = defaultConfig.ToString(); File.WriteAllText(path, propertiesString); Log.I("Created " + path); Log.I(propertiesString); new EditConfig().Execute(args); } else { Log.W(path + " already exists!"); Log.I("Use entitas new -f to overwrite the exiting file."); Log.I("Use entitas edit to open the exiting file."); } }
public override void Execute(string[] args) { if (AssertProperties()) { var properties = LoadProperties(); var config = new CodeGeneratorConfig(); config.Configure(properties); Log.I(config.ToString()); Type[] types = null; Dictionary <string, string> configurables = null; try { types = CodeGeneratorUtil.LoadTypesFromPlugins(properties); configurables = CodeGeneratorUtil.GetConfigurables( CodeGeneratorUtil.GetUsed <ICodeGeneratorDataProvider>(types, config.DataProviders), CodeGeneratorUtil.GetUsed <ICodeGenerator>(types, config.CodeGenerators), CodeGeneratorUtil.GetUsed <ICodeGenFilePostProcessor>(types, config.PostProcessors) ); } catch (Exception ex) { PrintKeyStatus(config.DefaultProperties.Keys.ToArray(), properties); throw ex; } var requiredKeys = config.DefaultProperties.Merge(configurables).Keys.ToArray(); PrintKeyStatus(requiredKeys, properties); PrintPluginStatus(types, config); } }