public void SetPropertiesFromArg_DifferentTypes_Succesfull() { var buildScript = new BuildScriptWithForArguments(); _taskSession.ScriptArgs["s"] = "beda"; _taskSession.ScriptArgs["l"] = "23"; _taskSession.ScriptArgs["sog"] = "true"; _taskSession.ScriptArgs["NoAttribute"] = "Noo"; _taskSession.ScriptArgs["list"] = "a,b,c"; ScriptProperties.SetPropertiesFromScriptArg(buildScript, _taskSession); Assert.Equal("beda", buildScript.SolutionFileName); Assert.Equal(23, buildScript.Level); Assert.True(buildScript.StayOrGo); Assert.Equal("Noo", buildScript.NoAttribute); Assert.Equal(3, buildScript.SomeList.Count); }
/// <summary> /// Construct an analyst script. /// </summary> /// public AnalystScript() { _normalize = new AnalystNormalize(this); _segregate = new AnalystSegregate(); _generated = new List <String>(); _tasks = new Dictionary <String, AnalystTask>(); _properties = new ScriptProperties(); _properties.SetProperty(ScriptProperties.SetupConfigCSVFormat, AnalystFileFormat.DecpntComma); _properties.SetProperty( ScriptProperties.SetupConfigMaxClassCount, DefaultMaxClass); _properties .SetProperty(ScriptProperties.SetupConfigAllowedClasses, "integer,string"); }
private void RunBuild(IFlubuSession flubuSession) { bool resetTargetTree = false; ConfigureDefaultProps(flubuSession); ConfigureBuildProperties(flubuSession); ConfigureDefaultTargets(flubuSession); ScriptProperties.SetPropertiesFromScriptArg(this, flubuSession); TargetCreator.CreateTargetFromMethodAttributes(this, flubuSession); ConfigureTargets(flubuSession); var targetsInfo = default((List <string> targetsToRun, bool unknownTarget, List <string> notFoundTargets)); if (!flubuSession.Args.InteractiveMode) { targetsInfo = ParseCmdLineArgs(flubuSession.Args.MainCommands, flubuSession.TargetTree); flubuSession.UnknownTarget = targetsInfo.unknownTarget; if (targetsInfo.targetsToRun == null || targetsInfo.targetsToRun.Count == 0) { var defaultTargets = flubuSession.TargetTree.DefaultTargets; targetsInfo.targetsToRun = new List <string>(); if (defaultTargets != null && defaultTargets.Count != 0) { foreach (var defaultTarget in defaultTargets) { targetsInfo.targetsToRun.Add(defaultTarget.TargetName); } } else { targetsInfo.targetsToRun.Add("help"); } } ExecuteTarget(flubuSession, targetsInfo); } else { FlubuInteractiveMode(flubuSession, targetsInfo, resetTargetTree); } }
/** * Obtain the ML method. * @return The method. */ public IMLMethod ObtainMethod() { ScriptProperties prop = EncogAnalyst.Script.Properties; String resourceID = prop.GetPropertyString( ScriptProperties.MlConfigMachineLearningFile); FileInfo resourceFile = EncogAnalyst.Script.ResolveFilename(resourceID); var method = (IMLMethod)EncogDirectoryPersistence .LoadObject(resourceFile); if (!(method is IMLMethod)) { throw new AnalystError( "The object to be trained must be an instance of MLMethod. " + method.GetType().Name); } return(method); }
/// <summary> /// Construct this command. /// </summary> /// <param name="theAnalyst">The analyst that this command belongs to.</param> protected Cmd(EncogAnalyst theAnalyst) { _analyst = theAnalyst; _script = _analyst.Script; _properties = _script.Properties; }
private void RunBuild(ITaskSession taskSession) { ConfigureDefaultProps(taskSession); ConfigureBuildProperties(taskSession); ConfigureDefaultTargets(taskSession); ScriptProperties.SetPropertiesFromScriptArg(this, taskSession); TargetCreator.CreateTargetFromMethodAttributes(this, taskSession); ConfigureTargets(taskSession); var targetsInfo = ParseCmdLineArgs(taskSession, taskSession.TargetTree); if (targetsInfo.targetsToRun == null || targetsInfo.targetsToRun.Count == 0) { var defaultTargets = taskSession.TargetTree.DefaultTargets; targetsInfo.targetsToRun = new List <string>(); if (defaultTargets != null && defaultTargets.Count != 0) { foreach (var defaultTarget in defaultTargets) { targetsInfo.targetsToRun.Add(defaultTarget.TargetName); } } else { targetsInfo.targetsToRun.Add("help"); } } taskSession.Start(s => { foreach (var target in s.TargetTree.EnumerateExecutedTargets()) { var targt = target as Target; if (targt?.TaskStopwatch.ElapsedTicks > 0) { s.LogInfo($"Target {target.TargetName} took {(int)targt.TaskStopwatch.Elapsed.TotalSeconds} s"); } } if (taskSession.Args.DryRun) { s.LogInfo("DRY RUN PERFORMED"); } else if (!targetsInfo.unknownTarget) { s.LogInfo(s.HasFailed ? "BUILD FAILED" : "BUILD SUCCESSFUL"); } }); //// specific target help if (targetsInfo.targetsToRun.Count == 2 && targetsInfo.targetsToRun[1].Equals("help", StringComparison.OrdinalIgnoreCase)) { taskSession.TargetTree.RunTargetHelp(taskSession, targetsInfo.targetsToRun[0]); return; } if (targetsInfo.targetsToRun.Count == 1 || !taskSession.Args.ExecuteTargetsInParallel) { if (targetsInfo.targetsToRun[0].Equals("help", StringComparison.OrdinalIgnoreCase)) { taskSession.TargetTree.ScriptArgsHelp = ScriptProperties.GetPropertiesHelp(this); } BeforeTargetExecution(taskSession); foreach (var targetToRun in targetsInfo.targetsToRun) { taskSession.TargetTree.RunTarget(taskSession, targetToRun); } AfterTargetExecution(taskSession); } else { taskSession.LogInfo("Running target's in parallel."); var tasks = new List <Task>(); BeforeTargetExecution(taskSession); foreach (var targetToRun in targetsInfo.targetsToRun) { tasks.Add(taskSession.TargetTree.RunTargetAsync(taskSession, targetToRun)); } Task.WaitAll(tasks.ToArray()); AfterTargetExecution(taskSession); } if (targetsInfo.unknownTarget) { throw new TargetNotFoundException($"Target {string.Join(" and ", targetsInfo.notFoundTargets)} not found."); } AssertAllTargetDependenciesWereExecuted(taskSession); }
private void RunBuild(ITaskSession taskSession) { ConfigureDefaultProps(taskSession); ConfigureBuildProperties(taskSession); ConfigureDefaultTargets(taskSession); ScriptProperties.SetPropertiesFromScriptArg(this, taskSession); TargetCreator.CreateTargetFromMethodAttributes(this, taskSession); ConfigureTargets(taskSession); (List <string> targetsToRun, bool unknownTarget, List <string> notFoundTargets)targetsInfo = default((List <string> targetsToRun, bool unknownTarget, List <string> notFoundTargets)); bool runInTerminalMode; ConsoleHintedInput inputReader = null; if (!taskSession.Args.InteractiveMode) { runInTerminalMode = false; targetsInfo = ParseCmdLineArgs(taskSession.Args.MainCommands, taskSession.TargetTree); taskSession.UnknownTarget = targetsInfo.unknownTarget; if (targetsInfo.targetsToRun == null || targetsInfo.targetsToRun.Count == 0) { var defaultTargets = taskSession.TargetTree.DefaultTargets; targetsInfo.targetsToRun = new List <string>(); if (defaultTargets != null && defaultTargets.Count != 0) { foreach (var defaultTarget in defaultTargets) { targetsInfo.targetsToRun.Add(defaultTarget.TargetName); } } else { targetsInfo.targetsToRun.Add("help"); } } } else { runInTerminalMode = true; var source = new Dictionary <char, IReadOnlyCollection <string> >(); var propertyKeys = ScriptProperties.GetPropertiesKeys(this, taskSession); propertyKeys.Add("-parallel"); propertyKeys.Add("-dryrun"); propertyKeys.Add("-noColor"); source.Add('-', propertyKeys); inputReader = new ConsoleHintedInput(taskSession.TargetTree.GetTargetNames().ToList(), source); taskSession.TargetTree.RunTarget(taskSession, "help.onlyTargets"); taskSession.LogInfo(" "); } do { if (runInTerminalMode) { var commandLine = inputReader.ReadHintedLine(); var app = new CommandLineApplication(false); IFlubuCommandParser parser = new FlubuCommandParser(app, null); var args = parser.Parse(commandLine.Split(' ') .Where(x => !string.IsNullOrWhiteSpace(x)) .Select(x => x.Trim()).ToArray()); targetsInfo = ParseCmdLineArgs(args.MainCommands, taskSession.TargetTree); taskSession.ScriptArgs = args.ScriptArguments; ScriptProperties.SetPropertiesFromScriptArg(this, taskSession); if (args.MainCommands[0].Equals("exit", StringComparison.OrdinalIgnoreCase) || args.MainCommands[0].Equals("quit", StringComparison.OrdinalIgnoreCase) || args.MainCommands[0].Equals("x", StringComparison.OrdinalIgnoreCase) || args.MainCommands[0].Equals("q", StringComparison.OrdinalIgnoreCase)) { break; } } taskSession.Start(); //// specific target help if (targetsInfo.targetsToRun.Count == 2 && targetsInfo.targetsToRun[1].Equals("help", StringComparison.OrdinalIgnoreCase)) { taskSession.TargetTree.RunTargetHelp(taskSession, targetsInfo.targetsToRun[0]); return; } if (targetsInfo.targetsToRun.Count == 1 || !taskSession.Args.ExecuteTargetsInParallel) { if (targetsInfo.targetsToRun[0].Equals("help", StringComparison.OrdinalIgnoreCase)) { taskSession.TargetTree.ScriptArgsHelp = ScriptProperties.GetPropertiesHelp(this); } BeforeTargetExecution(taskSession); foreach (var targetToRun in targetsInfo.targetsToRun) { taskSession.TargetTree.RunTarget(taskSession, targetToRun); } AfterTargetExecution(taskSession); } else { taskSession.LogInfo("Running target's in parallel."); var tasks = new List <Task>(); BeforeTargetExecution(taskSession); foreach (var targetToRun in targetsInfo.targetsToRun) { tasks.Add(taskSession.TargetTree.RunTargetAsync(taskSession, targetToRun, true)); } Task.WaitAll(tasks.ToArray()); AfterTargetExecution(taskSession); } if (targetsInfo.unknownTarget) { var targetNotFoundMsg = $"Target {string.Join(" and ", targetsInfo.notFoundTargets)} not found."; if (taskSession.Args.InteractiveMode) { taskSession.LogInfo(targetNotFoundMsg); } else { throw new TargetNotFoundException(targetNotFoundMsg); } } AssertAllTargetDependenciesWereExecuted(taskSession); }while (runInTerminalMode); }
private void DeploySingleFile(object state) { try { var project = state as Project; var variables = new SsdtVariableProvider().GetVariables(project.FullName); var settings = Config.Configuration.GetSettings(project); var filename = GetSelectedSolutionExplorerFileName(); if (String.IsNullOrEmpty(filename)) { OutputWindowMessage.WriteMessage("Couldn't GetConfig filename"); return; } if (!filename.EndsWith(".sql")) { OutputWindowMessage.WriteMessage("Single file deploy only works with .sql files - boo hoo hoo"); return; } var procname = ScriptProperties.GetScriptDetail(File.ReadAllText(filename)).Name; if (string.IsNullOrEmpty(procname)) { OutputWindowMessage.WriteMessage("Couldn't GetConfig proc name - boo hoo hoo"); return; } var fileContents = GetFileContents(filename); foreach (SqlCmdVariable v in variables) { fileContents = fileContents.Replace(v.Name, v.Value); } if (!DtcAvailable()) { OutputWindowMessage.WriteMessage("Unable to deploy file, deploy uses msdtc to protect changes. Please ensure the service is enabled and running"); return; } using (var scope = new TransactionScope()) { try { var script = DeploymentScriptGenerator.BuildDeploy(fileContents); var batches = script.Split(new string[] { "\r\nGO\r\n" }, StringSplitOptions.RemoveEmptyEntries); foreach (var batch in batches) { new SqlGateway(settings.ConnectionString).Execute(batch); } scope.Complete(); OutputWindowMessage.WriteMessage(string.Format("Deployed File: {0}\r\n", filename)); } catch (NullReferenceException) { OutputWindowMessage.WriteMessage(string.Format("Unable to deploy file {0}\r\n", filename)); } catch (Exception ex) { OutputWindowMessage.WriteMessage(string.Format("Unable to deploy file {0} error : {1}\r\n", filename, ex.Message)); } } } catch (Exception e) { OutputWindowMessage.WriteMessage("Deploying file Failed: " + e.Message); } }
private void RunBuild(ITaskSession taskSession) { ConfigureDefaultProps(taskSession); ConfigureBuildProperties(taskSession); ConfigureDefaultTargets(taskSession); ScriptProperties.SetPropertiesFromScriptArg(this, taskSession); TargetCreator.CreateTargetFromMethodAttributes(this, taskSession); ConfigureTargets(taskSession); var targetsInfo = ParseCmdLineArgs(taskSession, taskSession.TargetTree); taskSession.UnknownTarget = targetsInfo.unknownTarget; if (targetsInfo.targetsToRun == null || targetsInfo.targetsToRun.Count == 0) { var defaultTargets = taskSession.TargetTree.DefaultTargets; targetsInfo.targetsToRun = new List <string>(); if (defaultTargets != null && defaultTargets.Count != 0) { foreach (var defaultTarget in defaultTargets) { targetsInfo.targetsToRun.Add(defaultTarget.TargetName); } } else { targetsInfo.targetsToRun.Add("help"); } } taskSession.Start(); //// specific target help if (targetsInfo.targetsToRun.Count == 2 && targetsInfo.targetsToRun[1].Equals("help", StringComparison.OrdinalIgnoreCase)) { taskSession.TargetTree.RunTargetHelp(taskSession, targetsInfo.targetsToRun[0]); return; } if (targetsInfo.targetsToRun.Count == 1 || !taskSession.Args.ExecuteTargetsInParallel) { if (targetsInfo.targetsToRun[0].Equals("help", StringComparison.OrdinalIgnoreCase)) { taskSession.TargetTree.ScriptArgsHelp = ScriptProperties.GetPropertiesHelp(this); } BeforeTargetExecution(taskSession); foreach (var targetToRun in targetsInfo.targetsToRun) { taskSession.TargetTree.RunTarget(taskSession, targetToRun); } AfterTargetExecution(taskSession); } else { taskSession.LogInfo("Running target's in parallel."); var tasks = new List <Task>(); BeforeTargetExecution(taskSession); foreach (var targetToRun in targetsInfo.targetsToRun) { tasks.Add(taskSession.TargetTree.RunTargetAsync(taskSession, targetToRun)); } Task.WaitAll(tasks.ToArray()); AfterTargetExecution(taskSession); } if (targetsInfo.unknownTarget) { throw new TargetNotFoundException( $"Target {string.Join(" and ", targetsInfo.notFoundTargets)} not found."); } AssertAllTargetDependenciesWereExecuted(taskSession); }