private ProcessStartInfo GetProcessStartInfo()

in src/Microsoft.NET.Sdk.Functions.MSBuild/Tasks/GenerateFunctions.cs [68:94]


        private ProcessStartInfo GetProcessStartInfo(string baseLocation)
        {
            string workingDirectory = Path.Combine(baseLocation, NETCoreAppFolder);
            string exePath = DotNetMuxer.MuxerPathOrDefault();
            string arguments = $"Microsoft.NET.Sdk.Functions.Generator.dll \"{TargetPath} \" \"{OutputPath} \" \"{FunctionsInDependencies} \"";

            string excludedFunctionNamesArg = UserProvidedFunctionJsonFiles?
                    .Select(f => f.ItemSpec.Replace("/", @"\").Replace(@"\function.json", string.Empty))
                    .Where(f => !f.Contains(@"\")) // only first level folders
                    .Aggregate((current, next) => $"{current};{next}");

            if (!string.IsNullOrEmpty(excludedFunctionNamesArg))
            {
                arguments += $" \"{excludedFunctionNamesArg}\"";
            }

            return new ProcessStartInfo
            {
                UseShellExecute = false,
                CreateNoWindow = true,
                RedirectStandardError = true,
                RedirectStandardOutput = true,
                WorkingDirectory = workingDirectory,
                FileName = exePath,
                Arguments = arguments
            };
        }