public override void Execute(string[] args) { if (AssertProperties()) { var properties = LoadProperties(); var config = new CodeGeneratorConfig(); config.Configure(properties); ForceAddKeys(config.DefaultProperties, properties); Type[] types = null; try { types = CodeGeneratorUtil.LoadTypesFromPlugins(properties); GetConfigurables(types, config); } catch (Exception ex) { throw ex; } var askedRemoveKeys = new HashSet <string>(); var askedAddKeys = new HashSet <string>(); while (Fix(askedRemoveKeys, askedAddKeys, types, config, properties)) { } } }
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 void Configure(Properties properties) { _codeGeneratorConfig.Configure(properties); _assembliesConfig.Configure(properties); _ignoreNamespacesConfig.Configure(properties); _contextsComponentDataProvider.Configure(properties); }
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); } }
public void Configure(Properties properties) { _codeGeneratorConfig.Configure(properties); _assembliesConfig.Configure(properties); foreach (var dataProvider in _dataProviders.OfType <IConfigurable>()) { dataProvider.Configure(properties); } _contextsComponentDataProvider.Configure(properties); }
public static Type[] LoadTypesFromPlugins(Properties properties) { var config = new CodeGeneratorConfig(); config.Configure(properties); var resolver = new AssemblyResolver(AppDomain.CurrentDomain, config.SearchPaths); resolver.LoadUnityAssemblies(); // foreach (var path in config.Plugins) // { // resolver.Load(path); // } return(resolver.GetTypes()); }
public static CodeGenerator CodeGeneratorFromProperties() { var properties = Preferences.LoadProperties(); var config = new CodeGeneratorConfig(); config.Configure(properties); var types = LoadTypesFromPlugins(properties); var dataProviders = GetEnabledInstances <ICodeGeneratorDataProvider>(types, config.DataProviders); var codeGenerators = GetEnabledInstances <ICodeGenerator>(types, config.CodeGenerators); var postProcessors = GetEnabledInstances <ICodeGenFilePostProcessor>(types, config.PostProcessors); Configure(dataProviders, properties); Configure(codeGenerators, properties); Configure(postProcessors, properties); return(new CodeGenerator(dataProviders, codeGenerators, postProcessors)); }