in src/Microsoft.NET.Sdk.Functions.MSBuild/Tasks/GenerateFunctions.cs [28:66]
public override bool Execute()
{
string hostJsonPath = Path.Combine(OutputPath, "host.json");
if (GenerateHostJson && !File.Exists(hostJsonPath))
{
string hostJsonString = @"{ }";
File.WriteAllText(hostJsonPath, hostJsonString);
}
string taskDirectoryFullPath = Path.GetFullPath(TaskAssemblyDirectory).TrimEnd(new[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar });
string baseDirectory = Path.GetDirectoryName(taskDirectoryFullPath);
ProcessStartInfo processStartInfo = GetProcessStartInfo(baseDirectory);
this.Log.LogMessage(MessageImportance.Low, $"Function generator path: '{processStartInfo.FileName}'");
this.Log.LogCommandLine(MessageImportance.Low, processStartInfo.Arguments);
using (Process process = new Process { StartInfo = processStartInfo })
{
process.Start();
var output = process.StandardOutput.ReadToEnd();
var error = process.StandardError.ReadToEnd();
process.WaitForExit();
if (!string.IsNullOrEmpty(output))
{
Log.LogWarning(output);
}
if (process.ExitCode != 0 || !string.IsNullOrEmpty(error))
{
Log.LogError(error);
Log.LogError("Metadata generation failed.");
return false;
}
else
{
return true;
}
}
}