public override int Execute(CommandContext context, DefaultCommandSettings settings) { try { // Set log verbosity. _log.Verbosity = settings.Verbosity; if (settings.ShowVersion) { _version.Run(_console); return(0); } else if (settings.ShowInfo) { _info.Run(_console); return(0); } // Get the build host type. var host = GetBuildHostKind(settings); // Run the bootstrapper? if (!settings.SkipBootstrap || settings.Bootstrap) { int bootstrapperResult = PerformBootstrapping(context, settings, host); if (bootstrapperResult != 0 || settings.Bootstrap) { return(bootstrapperResult); } } // Run the build feature. return(_builder.Run(context.Remaining, new BuildFeatureSettings(host) { Script = settings.Script, Verbosity = settings.Verbosity, Exclusive = settings.Exclusive, Debug = settings.Debug, NoBootstrapping = settings.SkipBootstrap, })); } catch (Exception ex) { return(_log.LogException(ex)); } }