From f98cf9741e37430f1e9fab18af3288d678a6d28b Mon Sep 17 00:00:00 2001 From: Michael Richardson Date: Fri, 18 Mar 2016 14:34:38 +1000 Subject: [PATCH] When writing configured-scripts for package-steps to disk, add UTF8 BOM. Closes OctopusDeploy/Issues#2396 --- .../Fixtures/Conventions/ConfiguredScriptConventionFixture.cs | 4 ++-- .../Deployment/Conventions/ConfiguredScriptConvention.cs | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/source/Calamari.Tests/Fixtures/Conventions/ConfiguredScriptConventionFixture.cs b/source/Calamari.Tests/Fixtures/Conventions/ConfiguredScriptConventionFixture.cs index 0e927e444..17f440a3c 100644 --- a/source/Calamari.Tests/Fixtures/Conventions/ConfiguredScriptConventionFixture.cs +++ b/source/Calamari.Tests/Fixtures/Conventions/ConfiguredScriptConventionFixture.cs @@ -1,4 +1,5 @@ using System.IO; +using System.Text; using Calamari.Deployment; using Calamari.Deployment.Conventions; using Calamari.Integration.FileSystem; @@ -6,7 +7,6 @@ using Calamari.Integration.Scripting; using NSubstitute; using NUnit.Framework; -using Octostache; namespace Calamari.Tests.Fixtures.Conventions { @@ -48,7 +48,7 @@ public void ShouldRunScriptAtAppropriateStage() scriptEngine.Execute(scriptPath, variables, commandLineRunner).Returns(new CommandResult("", 0)); convention.Install(deployment); - fileSystem.Received().OverwriteFile(scriptPath, scriptBody); + fileSystem.Received().OverwriteFile(scriptPath, scriptBody, Encoding.UTF8); scriptEngine.Received().Execute(scriptPath, variables, commandLineRunner); } diff --git a/source/Calamari/Deployment/Conventions/ConfiguredScriptConvention.cs b/source/Calamari/Deployment/Conventions/ConfiguredScriptConvention.cs index 65440dd0a..45ef84bf1 100644 --- a/source/Calamari/Deployment/Conventions/ConfiguredScriptConvention.cs +++ b/source/Calamari/Deployment/Conventions/ConfiguredScriptConvention.cs @@ -1,5 +1,6 @@ using System.IO; using System.Linq; +using System.Text; using Calamari.Commands.Support; using Calamari.Integration.FileSystem; using Calamari.Integration.Processes; @@ -43,7 +44,7 @@ public void Install(RunningDeployment deployment) var scriptFile = Path.Combine(deployment.CurrentDirectory, scriptName); - fileSystem.OverwriteFile(scriptFile, scriptBody); + fileSystem.OverwriteFile(scriptFile, scriptBody, Encoding.UTF8); // Execute the script Log.VerboseFormat("Executing '{0}'", scriptFile);