From 46b16d2de051175a5398fc27c195c1c5f7f230b0 Mon Sep 17 00:00:00 2001 From: Bryan Thornbury Date: Tue, 4 Oct 2016 16:06:45 -0700 Subject: [PATCH] fix signing migration --- .../TestAppWithSigning/Program.cs | 12 ++++++++ .../TestProjects/TestAppWithSigning/key.snk | Bin 0 -> 596 bytes .../TestAppWithSigning/project.json | 26 ++++++++++++++++++ .../Rules/MigrateBuildOptionsRule.cs | 2 +- .../GivenThatIWantToMigrateBuildOptions.cs | 9 ++++-- .../GivenThatIWantToMigrateTestApps.cs | 1 + 6 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 TestAssets/TestProjects/TestAppWithSigning/Program.cs create mode 100644 TestAssets/TestProjects/TestAppWithSigning/key.snk create mode 100644 TestAssets/TestProjects/TestAppWithSigning/project.json diff --git a/TestAssets/TestProjects/TestAppWithSigning/Program.cs b/TestAssets/TestProjects/TestAppWithSigning/Program.cs new file mode 100644 index 000000000..51233cffa --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSigning/Program.cs @@ -0,0 +1,12 @@ +using System; + +namespace ConsoleApplication +{ + public class Program + { + public static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + } + } +} diff --git a/TestAssets/TestProjects/TestAppWithSigning/key.snk b/TestAssets/TestProjects/TestAppWithSigning/key.snk new file mode 100644 index 0000000000000000000000000000000000000000..fe413a523c450a85162e60860a75854b1fe61fc8 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa500964n#5uHT!P2lC09TUPt@t$-+IJ;Jy#`2 zz)aLvbtoVT$F*HBI_d3sV+UG^Bytf8C#I*%bVS|GpD0Lz~$5a6|9N3&hznf6!`Zt!X zEIf5$(}whK8x|rDTozjy*Leo4CYD??qR7R1dJ-q%8wc1~1pImB@f?Xz=E2 zcN!2;$E9*rb^uXKSVw)?^3TLJsX@EBKSN_$K$6fY&D*S{PzqE?YAzFMbrCk^OAtOL zdrCESXb)oAIPd6B^TBH6K+n!%szlQ##n`?6G*A~Alc$;?vS69(G&XMK4a*&p7)})0 z(??nc7r)QGI*#cThmCf4l#|Xx3_eF^&Ef`=bV^PlGAn?0!V%{W)sb#gG3#iTJc{~) zQQIJX`X&>GLlrKJTptK(0IJ9A<#@db6Akg1+e0DqhVevA!tMf4R#2UV7re=f=&ztq z9>(2tzDanAc4#tx8ohXN$X=>Vq67f{f(Goruf|?JC78yKs_5)kK&k%KWXrI2({XwK zS[] KeyFileTransforms => new [] { - new AddPropertyTransform("KeyFile", + new AddPropertyTransform("KeyOriginatorFile", compilerOptions => compilerOptions.KeyFile, compilerOptions => !string.IsNullOrEmpty(compilerOptions.KeyFile)), new AddPropertyTransform("SignAssembly", diff --git a/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigrateBuildOptions.cs b/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigrateBuildOptions.cs index 8eb2d353f..cca5d0894 100644 --- a/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigrateBuildOptions.cs +++ b/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigrateBuildOptions.cs @@ -249,11 +249,16 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests } }"); - mockProj.Properties.Count(p => p.Name == "AssemblyOriginatorKeyFile").Should().Be(1); - mockProj.Properties.First(p => p.Name == "AssemblyOriginatorKeyFile").Value.Should().Be("../keyfile.snk"); + mockProj.Properties.Count(p => p.Name == "KeyOriginatorFile").Should().Be(1); + mockProj.Properties.First(p => p.Name == "KeyOriginatorFile").Value.Should().Be("../keyfile.snk"); mockProj.Properties.Count(p => p.Name == "SignAssembly").Should().Be(1); mockProj.Properties.First(p => p.Name == "SignAssembly").Value.Should().Be("true"); + mockProj.Properties.First(p => p.Name == "SignAssembly").Condition.Should().Be(" '$(OS)' == 'Windows_NT' "); + + mockProj.Properties.Count(p => p.Name == "PublicSign").Should().Be(1); + mockProj.Properties.First(p => p.Name == "PublicSign").Value.Should().Be("true"); + mockProj.Properties.First(p => p.Name == "PublicSign").Condition.Should().Be(" '$(OS)' != 'Windows_NT' "); } [Fact] diff --git a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs index 655919ac5..2cc0d5a1d 100644 --- a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs +++ b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs @@ -26,6 +26,7 @@ namespace Microsoft.DotNet.Migration.Tests // https://github.com/dotnet/sdk/issues/73 [InlineData("TestAppWithLibrary/TestApp", false)] [InlineData("TestAppWithRuntimeOptions")] [InlineData("TestAppWithContents")] + [InlineData("TestAppWithSigning")] public void It_migrates_apps(string projectName) { var projectDirectory = TestAssetsManager.CreateTestInstance(projectName, callingMethod: "i").WithLockFiles().Path;