Example #1
0
        public CommandResult Execute(Script script, CalamariVariableDictionary variables, ICommandLineRunner commandLineRunner)
        {
            var workingDirectory  = Path.GetDirectoryName(script.File);
            var configurationFile = BashScriptBootstrapper.PrepareConfigurationFile(workingDirectory, variables);
            var boostrapFile      = BashScriptBootstrapper.PrepareBootstrapFile(script, configurationFile, workingDirectory);

            using (new TemporaryFile(configurationFile))
                using (new TemporaryFile(boostrapFile))
                {
                    return(commandLineRunner.Execute(new CommandLineInvocation(
                                                         BashScriptBootstrapper.FindBashExecutable(),
                                                         BashScriptBootstrapper.FormatCommandArguments(boostrapFile), workingDirectory)));
                }
        }
Example #2
0
        protected override ScriptExecution PrepareExecution(Script script, CalamariVariableDictionary variables,
                                                            StringDictionary environmentVars = null)
        {
            var workingDirectory  = Path.GetDirectoryName(script.File);
            var configurationFile = BashScriptBootstrapper.PrepareConfigurationFile(workingDirectory, variables);
            var bootstrapFile     = BashScriptBootstrapper.PrepareBootstrapFile(script, configurationFile, workingDirectory);

            return(new ScriptExecution(
                       new CommandLineInvocation(
                           BashScriptBootstrapper.FindBashExecutable(),
                           BashScriptBootstrapper.FormatCommandArguments(bootstrapFile), workingDirectory, environmentVars),
                       new[] { bootstrapFile, configurationFile }
                       ));
        }
Example #3
0
        protected override IEnumerable <ScriptExecution> PrepareExecution(Script script, CalamariVariableDictionary variables,
                                                                          Dictionary <string, string> environmentVars = null)
        {
            var workingDirectory  = Path.GetDirectoryName(script.File);
            var configurationFile = BashScriptBootstrapper.PrepareConfigurationFile(workingDirectory, variables);

            var(bootstrapFile, otherTemporaryFiles) = BashScriptBootstrapper.PrepareBootstrapFile(script, configurationFile, workingDirectory, variables);

            yield return(new ScriptExecution(
                             new CommandLineInvocation(
                                 BashScriptBootstrapper.FindBashExecutable(),
                                 BashScriptBootstrapper.FormatCommandArguments(bootstrapFile), workingDirectory, environmentVars),
                             otherTemporaryFiles.Concat(new[] { bootstrapFile, configurationFile })
                             ));
        }