Browse Source

Prefer UTF-8 without BOM when writing Yaml

Fixes: #402

This is more commandline/unix friendly. Yaml allows a BOM but doesn't
require it, yaml documents without a BOM are specified to be utf-8.
pull/412/head
Ryan Nowak 6 years ago
parent
commit
e165ae8038
  1. 2
      src/Microsoft.Tye.Core/DeployApplicationKubernetesManifestStep.cs
  2. 2
      src/Microsoft.Tye.Core/DockerfileGenerator.cs
  3. 2
      src/Microsoft.Tye.Core/GenerateApplicationKubernetesManifestStep.cs
  4. 2
      src/Microsoft.Tye.Core/ValidateSecretStep.cs
  5. 2
      src/Microsoft.Tye.Core/WriteServiceYamlStep.cs

2
src/Microsoft.Tye.Core/DeployApplicationKubernetesManifestStep.cs

@ -32,7 +32,7 @@ namespace Microsoft.Tye
{
await using var stream = File.OpenWrite(tempFile.FilePath);
await using var writer = new StreamWriter(stream, Encoding.UTF8, leaveOpen: true);
await using var writer = new StreamWriter(stream, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), leaveOpen: true);
await ApplicationYamlWriter.WriteAsync(output, writer, application);
}

2
src/Microsoft.Tye.Core/DockerfileGenerator.cs

@ -40,7 +40,7 @@ namespace Microsoft.Tye
}
await using var stream = File.OpenWrite(filePath);
await using var writer = new StreamWriter(stream, encoding: Encoding.UTF8, bufferSize: -1, leaveOpen: true);
await using var writer = new StreamWriter(stream, encoding: new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), bufferSize: -1, leaveOpen: true);
var entryPoint = project.AssemblyName;
output.WriteDebugLine($"Writing Dockerfile to '{filePath}'.");

2
src/Microsoft.Tye.Core/GenerateApplicationKubernetesManifestStep.cs

@ -22,7 +22,7 @@ namespace Microsoft.Tye
File.Delete(outputFilePath);
await using var stream = File.OpenWrite(outputFilePath);
await using var writer = new StreamWriter(stream, Encoding.UTF8, leaveOpen: true);
await using var writer = new StreamWriter(stream, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), leaveOpen: true);
await ApplicationYamlWriter.WriteAsync(output, writer, application);
}

2
src/Microsoft.Tye.Core/ValidateSecretStep.cs

@ -194,7 +194,7 @@ namespace Microsoft.Tye
{
await using var stream = File.OpenWrite(tempFile.FilePath);
await using var writer = new StreamWriter(stream, Encoding.UTF8, bufferSize: -1, leaveOpen: true);
await using var writer = new StreamWriter(stream, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), bufferSize: -1, leaveOpen: true);
var yamlStream = new YamlStream(yaml.Select(y => y.Yaml));
yamlStream.Save(writer, assignAnchors: false);
}

2
src/Microsoft.Tye.Core/WriteServiceYamlStep.cs

@ -37,7 +37,7 @@ namespace Microsoft.Tye
File.Delete(outputFilePath);
using var stream = File.OpenWrite(outputFilePath);
using var writer = new StreamWriter(stream, Encoding.UTF8, bufferSize: -1, leaveOpen: true);
using var writer = new StreamWriter(stream, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), bufferSize: -1, leaveOpen: true);
var yamlStream = new YamlStream(yaml.Select(y => y.Yaml));
yamlStream.Save(writer, assignAnchors: false);

Loading…
Cancel
Save