From 7e5e4facc16de600219893b4e5b2912a1a15eb89 Mon Sep 17 00:00:00 2001 From: Gary Ewan Park Date: Mon, 30 Aug 2021 21:45:18 +0100 Subject: [PATCH] (#140) Copied templates into 64bit folder So that we can start creating a new VS 2022 specific version of the templates, where the only thing that is different is the repositoryId in the manifest file. Annoying that this has to be done, but hopefully only temporary until we switch to using different template solution. --- .../64bit/AddinTemplate/AddinTemplate.ico | Bin 0 -> 44549 bytes .../AddinTemplate/AddinTemplate.vstemplate | 36 +++++++ .../AddinTemplate/AddinTemplate64.csproj | 102 ++++++++++++++++++ template/64bit/AddinTemplate/Aliases.cs | 20 ++++ template/64bit/AddinTemplate/AssemblyInfo.cs | 36 +++++++ .../AddinTemplate/ProjectTemplate.csproj | 62 +++++++++++ .../AddinTemplate/Properties/AssemblyInfo.cs | 34 ++++++ .../AddinTestBasicTemplate.vstemplate | 45 ++++++++ .../AddinTestBasicTemplate64.csproj | 75 +++++++++++++ .../AddinTestBasicTemplate/AddinTests.cs | 12 +++ .../AddinTestBasicTemplate/AssemblyInfo.cs | 36 +++++++ .../CakeTestTemplate.ico | Bin 0 -> 40658 bytes .../ProjectTemplate.csproj | 63 +++++++++++ .../Properties/AssemblyInfo.cs | 34 ++++++ .../AddinTestTemplate.vstemplate | 48 +++++++++ .../AddinTestTemplate64.csproj | 80 ++++++++++++++ .../64bit/AddinTestTemplate/AddinTests.cs | 34 ++++++ .../64bit/AddinTestTemplate/AssemblyInfo.cs | 36 +++++++ .../64bit/AddinTestTemplate/CakeFixture.cs | 24 +++++ .../AddinTestTemplate/CakeTestTemplate.ico | Bin 0 -> 40658 bytes template/64bit/AddinTestTemplate/CakeTool.cs | 37 +++++++ .../AddinTestTemplate/CakeToolSettings.cs | 6 ++ .../AddinTestTemplate/ProjectTemplate.csproj | 65 +++++++++++ .../Properties/AssemblyInfo.cs | 34 ++++++ template/64bit/ModuleTemplate/AssemblyInfo.cs | 36 +++++++ .../64bit/ModuleTemplate/ModuleTemplate.ico | Bin 0 -> 44549 bytes .../ModuleTemplate/ModuleTemplate.vstemplate | 39 +++++++ .../ModuleTemplate/ModuleTemplate64.csproj | 102 ++++++++++++++++++ .../ModuleTemplate/ProjectTemplate.csproj | 61 +++++++++++ .../ModuleTemplate/Properties/AssemblyInfo.cs | 34 ++++++ template/64bit/ModuleTemplate/ReverseLog.cs | 24 +++++ .../64bit/ModuleTemplate/SampleLogModule.cs | 16 +++ 32 files changed, 1231 insertions(+) create mode 100644 template/64bit/AddinTemplate/AddinTemplate.ico create mode 100644 template/64bit/AddinTemplate/AddinTemplate.vstemplate create mode 100644 template/64bit/AddinTemplate/AddinTemplate64.csproj create mode 100644 template/64bit/AddinTemplate/Aliases.cs create mode 100644 template/64bit/AddinTemplate/AssemblyInfo.cs create mode 100644 template/64bit/AddinTemplate/ProjectTemplate.csproj create mode 100644 template/64bit/AddinTemplate/Properties/AssemblyInfo.cs create mode 100644 template/64bit/AddinTestBasicTemplate/AddinTestBasicTemplate.vstemplate create mode 100644 template/64bit/AddinTestBasicTemplate/AddinTestBasicTemplate64.csproj create mode 100644 template/64bit/AddinTestBasicTemplate/AddinTests.cs create mode 100644 template/64bit/AddinTestBasicTemplate/AssemblyInfo.cs create mode 100644 template/64bit/AddinTestBasicTemplate/CakeTestTemplate.ico create mode 100644 template/64bit/AddinTestBasicTemplate/ProjectTemplate.csproj create mode 100644 template/64bit/AddinTestBasicTemplate/Properties/AssemblyInfo.cs create mode 100644 template/64bit/AddinTestTemplate/AddinTestTemplate.vstemplate create mode 100644 template/64bit/AddinTestTemplate/AddinTestTemplate64.csproj create mode 100644 template/64bit/AddinTestTemplate/AddinTests.cs create mode 100644 template/64bit/AddinTestTemplate/AssemblyInfo.cs create mode 100644 template/64bit/AddinTestTemplate/CakeFixture.cs create mode 100644 template/64bit/AddinTestTemplate/CakeTestTemplate.ico create mode 100644 template/64bit/AddinTestTemplate/CakeTool.cs create mode 100644 template/64bit/AddinTestTemplate/CakeToolSettings.cs create mode 100644 template/64bit/AddinTestTemplate/ProjectTemplate.csproj create mode 100644 template/64bit/AddinTestTemplate/Properties/AssemblyInfo.cs create mode 100644 template/64bit/ModuleTemplate/AssemblyInfo.cs create mode 100644 template/64bit/ModuleTemplate/ModuleTemplate.ico create mode 100644 template/64bit/ModuleTemplate/ModuleTemplate.vstemplate create mode 100644 template/64bit/ModuleTemplate/ModuleTemplate64.csproj create mode 100644 template/64bit/ModuleTemplate/ProjectTemplate.csproj create mode 100644 template/64bit/ModuleTemplate/Properties/AssemblyInfo.cs create mode 100644 template/64bit/ModuleTemplate/ReverseLog.cs create mode 100644 template/64bit/ModuleTemplate/SampleLogModule.cs diff --git a/template/64bit/AddinTemplate/AddinTemplate.ico b/template/64bit/AddinTemplate/AddinTemplate.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca649340f659c03091180281171dd224b1040fd8 GIT binary patch literal 44549 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 literal 0 HcmV?d00001 diff --git a/template/64bit/AddinTemplate/AddinTemplate.vstemplate b/template/64bit/AddinTemplate/AddinTemplate.vstemplate new file mode 100644 index 0000000..397faee --- /dev/null +++ b/template/64bit/AddinTemplate/AddinTemplate.vstemplate @@ -0,0 +1,36 @@ + + + + Cake Addin + Basic project template for creating a new Cake addin + AddinTemplate.ico + CSharp + csharp + linux + windows + macos + Cake + 4.5 + 1000 + 10dcbe21-0d84-4a5b-88a3-220e234a7211 + true + Cake.Addin + true + true + + + + AssemblyInfo.cs + Aliases.cs + + + + NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + NuGet.VisualStudio.TemplateWizard + + + + + + + \ No newline at end of file diff --git a/template/64bit/AddinTemplate/AddinTemplate64.csproj b/template/64bit/AddinTemplate/AddinTemplate64.csproj new file mode 100644 index 0000000..3695552 --- /dev/null +++ b/template/64bit/AddinTemplate/AddinTemplate64.csproj @@ -0,0 +1,102 @@ + + + + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + + + Debug + AnyCPU + {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {FCE573DD-E74E-4AB1-9D17-56FC8869797F} + Library + Properties + AddinTemplate + AddinTemplate + v4.5.2 + 512 + false + false + false + false + false + false + false + false + false + false + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + + + + + + + + + + + + + + + + + + Designer + Cake + + + + + False + Microsoft .NET Framework 4.5.2 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + \ No newline at end of file diff --git a/template/64bit/AddinTemplate/Aliases.cs b/template/64bit/AddinTemplate/Aliases.cs new file mode 100644 index 0000000..d4ab2fa --- /dev/null +++ b/template/64bit/AddinTemplate/Aliases.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +$if$ ($targetframeworkversion$ >= 3.5)using System.Linq; +$endif$using System.Text; +using Cake.Core; +using Cake.Core.Annotations; +using Cake.Core.Diagnostics; + +namespace $safeprojectname$ +{ + [CakeAliasCategory("Sample")] + public static class AddinAliases + { + [CakeMethodAlias] + public static void Hello(this ICakeContext ctx, string name) + { + ctx.Log.Information("Hello " + name); + } + } +} diff --git a/template/64bit/AddinTemplate/AssemblyInfo.cs b/template/64bit/AddinTemplate/AssemblyInfo.cs new file mode 100644 index 0000000..a0edcb6 --- /dev/null +++ b/template/64bit/AddinTemplate/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("$projectname$")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("$registeredorganization$")] +[assembly: AssemblyProduct("$projectname$")] +[assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("$guid1$")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/template/64bit/AddinTemplate/ProjectTemplate.csproj b/template/64bit/AddinTemplate/ProjectTemplate.csproj new file mode 100644 index 0000000..773ba77 --- /dev/null +++ b/template/64bit/AddinTemplate/ProjectTemplate.csproj @@ -0,0 +1,62 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + $guid1$ + Library + Properties + $safeprojectname$ + $safeprojectname$ + v$targetframeworkversion$ + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + $safeprojectname$.xml + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + $safeprojectname$.xml + + + + $if$ ($targetframeworkversion$ >= 3.5) + + + + $endif$ + $if$ ($targetframeworkversion$ >= 4.0) + + $endif$ + + + + + + + + + + + + diff --git a/template/64bit/AddinTemplate/Properties/AssemblyInfo.cs b/template/64bit/AddinTemplate/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a6ea44b --- /dev/null +++ b/template/64bit/AddinTemplate/Properties/AssemblyInfo.cs @@ -0,0 +1,34 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("AddinTemplate")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyProduct("AddinTemplate")] +[assembly: AssemblyCopyright("Copyright (c) .NET Foundation and Contributors")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("fce573dd-e74e-4ab1-9d17-56fc8869797f")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.1.2.0")] +[assembly: AssemblyFileVersion("0.1.2.0")] diff --git a/template/64bit/AddinTestBasicTemplate/AddinTestBasicTemplate.vstemplate b/template/64bit/AddinTestBasicTemplate/AddinTestBasicTemplate.vstemplate new file mode 100644 index 0000000..acff35e --- /dev/null +++ b/template/64bit/AddinTestBasicTemplate/AddinTestBasicTemplate.vstemplate @@ -0,0 +1,45 @@ + + + + Cake Addin Unit Test Project (empty) + Basic project template for creating unit tests for a Cake addin + CakeTestTemplate.ico + CSharp + csharp + linux + windows + macos + Cake + 4.5 + 1000 + 8632940c-cc4f-4a8a-abc9-79c00818f4ef + true + Cake.AddinTests + true + + + + AssemblyInfo.cs + AddinTests.cs + + + + NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + NuGet.VisualStudio.TemplateWizard + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/template/64bit/AddinTestBasicTemplate/AddinTestBasicTemplate64.csproj b/template/64bit/AddinTestBasicTemplate/AddinTestBasicTemplate64.csproj new file mode 100644 index 0000000..1b685ac --- /dev/null +++ b/template/64bit/AddinTestBasicTemplate/AddinTestBasicTemplate64.csproj @@ -0,0 +1,75 @@ + + + + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + + Debug + AnyCPU + {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {F21E9BF8-745B-4B29-B113-0E55AE840D24} + Library + Properties + AddinTestBasicTemplate + AddinTestBasicTemplate + v4.5.2 + 512 + false + false + false + false + false + false + false + false + false + false + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + + + + + + + + + + + + + + + + + + Designer + Cake + + + + + \ No newline at end of file diff --git a/template/64bit/AddinTestBasicTemplate/AddinTests.cs b/template/64bit/AddinTestBasicTemplate/AddinTests.cs new file mode 100644 index 0000000..4afbece --- /dev/null +++ b/template/64bit/AddinTestBasicTemplate/AddinTests.cs @@ -0,0 +1,12 @@ +using Xunit; + +namespace $safeprojectname$ +{ + public class AddinTests + { + [Fact] + public void TestMethod() + { + } + } +} diff --git a/template/64bit/AddinTestBasicTemplate/AssemblyInfo.cs b/template/64bit/AddinTestBasicTemplate/AssemblyInfo.cs new file mode 100644 index 0000000..a0edcb6 --- /dev/null +++ b/template/64bit/AddinTestBasicTemplate/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("$projectname$")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("$registeredorganization$")] +[assembly: AssemblyProduct("$projectname$")] +[assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("$guid1$")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/template/64bit/AddinTestBasicTemplate/CakeTestTemplate.ico b/template/64bit/AddinTestBasicTemplate/CakeTestTemplate.ico new file mode 100644 index 0000000000000000000000000000000000000000..8d67cac61e2ef8bdb1270be98722e78b9add228e GIT binary patch literal 40658 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 literal 0 HcmV?d00001 diff --git a/template/64bit/AddinTestBasicTemplate/ProjectTemplate.csproj b/template/64bit/AddinTestBasicTemplate/ProjectTemplate.csproj new file mode 100644 index 0000000..4ea97aa --- /dev/null +++ b/template/64bit/AddinTestBasicTemplate/ProjectTemplate.csproj @@ -0,0 +1,63 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + $guid1$ + Library + Properties + $safeprojectname$ + $safeprojectname$ + v$targetframeworkversion$ + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + False + UnitTest + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + $if$ ($targetframeworkversion$ >= 3.5) + + + + $endif$ + $if$ ($targetframeworkversion$ >= 4.0) + + $endif$ + + + + + + + + + + + + diff --git a/template/64bit/AddinTestBasicTemplate/Properties/AssemblyInfo.cs b/template/64bit/AddinTestBasicTemplate/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..1335a4b --- /dev/null +++ b/template/64bit/AddinTestBasicTemplate/Properties/AssemblyInfo.cs @@ -0,0 +1,34 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("AddinTestBasicTemplate")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyProduct("AddinTestBasicTemplate")] +[assembly: AssemblyCopyright("Copyright (c) .NET Foundation and Contributors")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f21e9bf8-745b-4b29-b113-0e55ae840d24")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.1.2.0")] +[assembly: AssemblyFileVersion("0.1.2.0")] diff --git a/template/64bit/AddinTestTemplate/AddinTestTemplate.vstemplate b/template/64bit/AddinTestTemplate/AddinTestTemplate.vstemplate new file mode 100644 index 0000000..54c73a6 --- /dev/null +++ b/template/64bit/AddinTestTemplate/AddinTestTemplate.vstemplate @@ -0,0 +1,48 @@ + + + + Cake Addin Unit Test Project + Basic project template, including samples, for creating unit tests for a Cake addin + CakeTestTemplate.ico + CSharp + csharp + linux + windows + macos + Cake + 4.5 + 1000 + 8e115642-736f-4d2d-975e-551dbfc1a088 + true + Cake.AddinTests + true + + + + AssemblyInfo.cs + AddinTests.cs + CakeFixture.cs + CakeTool.cs + CakeToolSettings.cs + + + + NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + NuGet.VisualStudio.TemplateWizard + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/template/64bit/AddinTestTemplate/AddinTestTemplate64.csproj b/template/64bit/AddinTestTemplate/AddinTestTemplate64.csproj new file mode 100644 index 0000000..b2ef1cd --- /dev/null +++ b/template/64bit/AddinTestTemplate/AddinTestTemplate64.csproj @@ -0,0 +1,80 @@ + + + + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + + Debug + AnyCPU + {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {AB983284-D1F6-4853-9462-402F2985A141} + Library + Properties + AddinTestTemplate + AddinTestTemplate + v4.5.2 + 512 + false + false + false + false + false + false + false + false + false + false + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + + + + + + + + + + + + + + + + + + + + Designer + Cake + + + + + + + + \ No newline at end of file diff --git a/template/64bit/AddinTestTemplate/AddinTests.cs b/template/64bit/AddinTestTemplate/AddinTests.cs new file mode 100644 index 0000000..959d824 --- /dev/null +++ b/template/64bit/AddinTestTemplate/AddinTests.cs @@ -0,0 +1,34 @@ +using System.IO; +$if$ ($targetframeworkversion$ >= 3.5)using System.Linq; +$endif$using System.Text; +using Xunit; + +namespace $safeprojectname$ +{ + public class AddinTests + { + [Fact] + public void ShouldThrowIfFileNotExists() + { + // arrange + var fixture = new CakeFixture(false); + //act + var result = Record.Exception(() => fixture.Run()); + //assert + Assert.IsType(typeof(FileNotFoundException), result); + } + + [Theory] + [InlineData("./build.cake")] + [InlineData("./deploy.cake")] + public void ShouldIncludeFileName(string scriptFilePath) + { + //arrange + var fixture = new CakeFixture(true, scriptFilePath); + //act + var result = fixture.Run(); + //result + Assert.True(result.Args.Contains(scriptFilePath)); + } + } +} diff --git a/template/64bit/AddinTestTemplate/AssemblyInfo.cs b/template/64bit/AddinTestTemplate/AssemblyInfo.cs new file mode 100644 index 0000000..a0edcb6 --- /dev/null +++ b/template/64bit/AddinTestTemplate/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("$projectname$")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("$registeredorganization$")] +[assembly: AssemblyProduct("$projectname$")] +[assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("$guid1$")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/template/64bit/AddinTestTemplate/CakeFixture.cs b/template/64bit/AddinTestTemplate/CakeFixture.cs new file mode 100644 index 0000000..c0a8a6f --- /dev/null +++ b/template/64bit/AddinTestTemplate/CakeFixture.cs @@ -0,0 +1,24 @@ +using Cake.Core; +using Cake.Testing; +using Cake.Testing.Fixtures; + +namespace $safeprojectname$ +{ + public class CakeFixture : ToolFixture + { + public CakeFixture(bool scriptExists, string scriptName = "./build.cake") : base("cake.exe") + { + Environment = new FakeEnvironment(PlatformFamily.Linux); + if (scriptExists) FileSystem.CreateFile(scriptName); + ScriptName = scriptName; + } + + private string ScriptName { get; set; } + + protected override void RunTool() + { + var tool = new CakeTool(FileSystem, Environment, ProcessRunner, Tools); + tool.Run(ScriptName); + } + } +} diff --git a/template/64bit/AddinTestTemplate/CakeTestTemplate.ico b/template/64bit/AddinTestTemplate/CakeTestTemplate.ico new file mode 100644 index 0000000000000000000000000000000000000000..8d67cac61e2ef8bdb1270be98722e78b9add228e GIT binary patch literal 40658 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 literal 0 HcmV?d00001 diff --git a/template/64bit/AddinTestTemplate/CakeTool.cs b/template/64bit/AddinTestTemplate/CakeTool.cs new file mode 100644 index 0000000..6ece741 --- /dev/null +++ b/template/64bit/AddinTestTemplate/CakeTool.cs @@ -0,0 +1,37 @@ +using System.Collections.Generic; +using System.IO; +using Cake.Core; +using Cake.Core.IO; +using Cake.Core.Tooling; + +namespace $safeprojectname$ +{ + public class CakeTool : Tool { + + public CakeTool(IFileSystem fileSystem, ICakeEnvironment environment, IProcessRunner processRunner, IToolLocator tools) : base(fileSystem, environment, processRunner, tools) + { + FileSystem = fileSystem; + ProcessRunner = processRunner; + } + + private IProcessRunner ProcessRunner { get; set; } + + private IFileSystem FileSystem { get; set; } + + protected override string GetToolName() => "Cake"; + + protected override IEnumerable GetToolExecutableNames() + { + yield return "cake.exe"; + yield return "cake"; + } + + public void Run(string scriptFilePath) + { + if (!FileSystem.Exist((FilePath) scriptFilePath)) throw new FileNotFoundException(); + var args = new ProcessArgumentBuilder(); + args.Append(scriptFilePath); + ProcessRunner.Start("cake.exe", new ProcessSettings {Arguments = args}); + } + } +} \ No newline at end of file diff --git a/template/64bit/AddinTestTemplate/CakeToolSettings.cs b/template/64bit/AddinTestTemplate/CakeToolSettings.cs new file mode 100644 index 0000000..7bf81c9 --- /dev/null +++ b/template/64bit/AddinTestTemplate/CakeToolSettings.cs @@ -0,0 +1,6 @@ +using Cake.Core.Tooling; + +namespace $safeprojectname$ +{ + public class CakeToolSettings : ToolSettings {} +} \ No newline at end of file diff --git a/template/64bit/AddinTestTemplate/ProjectTemplate.csproj b/template/64bit/AddinTestTemplate/ProjectTemplate.csproj new file mode 100644 index 0000000..c2f94be --- /dev/null +++ b/template/64bit/AddinTestTemplate/ProjectTemplate.csproj @@ -0,0 +1,65 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + $guid1$ + Library + Properties + $safeprojectname$ + $safeprojectname$ + v$targetframeworkversion$ + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + False + UnitTest + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + $if$ ($targetframeworkversion$ >= 3.5) + + + + $endif$ + $if$ ($targetframeworkversion$ >= 4.0) + + $endif$ + + + + + + + + + + + + + + diff --git a/template/64bit/AddinTestTemplate/Properties/AssemblyInfo.cs b/template/64bit/AddinTestTemplate/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..e1475c7 --- /dev/null +++ b/template/64bit/AddinTestTemplate/Properties/AssemblyInfo.cs @@ -0,0 +1,34 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("AddinTestTemplate")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyProduct("AddinTestTemplate")] +[assembly: AssemblyCopyright("Copyright (c) .NET Foundation and Contributors")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("ab983284-d1f6-4853-9462-402f2985a141")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.1.2.0")] +[assembly: AssemblyFileVersion("0.1.2.0")] diff --git a/template/64bit/ModuleTemplate/AssemblyInfo.cs b/template/64bit/ModuleTemplate/AssemblyInfo.cs new file mode 100644 index 0000000..a0edcb6 --- /dev/null +++ b/template/64bit/ModuleTemplate/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("$projectname$")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("$registeredorganization$")] +[assembly: AssemblyProduct("$projectname$")] +[assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("$guid1$")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/template/64bit/ModuleTemplate/ModuleTemplate.ico b/template/64bit/ModuleTemplate/ModuleTemplate.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca649340f659c03091180281171dd224b1040fd8 GIT binary patch literal 44549 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 literal 0 HcmV?d00001 diff --git a/template/64bit/ModuleTemplate/ModuleTemplate.vstemplate b/template/64bit/ModuleTemplate/ModuleTemplate.vstemplate new file mode 100644 index 0000000..f6728eb --- /dev/null +++ b/template/64bit/ModuleTemplate/ModuleTemplate.vstemplate @@ -0,0 +1,39 @@ + + + + + Cake Module + Basic project template for creating a new Cake module, including a sample module. + ModuleTemplate.ico + CSharp + csharp + linux + windows + macos + Cake + 4.5 + 1000 + 5e03cc59-29b1-40df-a2a4-042532a23176 + true + Cake.MyModule + true + true + + + + AssemblyInfo.cs + SampleLogModule.cs + ReverseLog.cs + + + + NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + NuGet.VisualStudio.TemplateWizard + + + + + + + \ No newline at end of file diff --git a/template/64bit/ModuleTemplate/ModuleTemplate64.csproj b/template/64bit/ModuleTemplate/ModuleTemplate64.csproj new file mode 100644 index 0000000..4c14392 --- /dev/null +++ b/template/64bit/ModuleTemplate/ModuleTemplate64.csproj @@ -0,0 +1,102 @@ + + + + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + + + Debug + AnyCPU + {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {85BCBED7-39BD-4670-85F7-EE36D0DA31C0} + Library + Properties + ModuleTemplate + ModuleTemplate + v4.5.2 + 512 + false + false + false + false + false + false + false + false + false + false + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + + + + + + + + + + + + + + + + + + + Cake + + + + + False + Microsoft .NET Framework 4.5.2 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + \ No newline at end of file diff --git a/template/64bit/ModuleTemplate/ProjectTemplate.csproj b/template/64bit/ModuleTemplate/ProjectTemplate.csproj new file mode 100644 index 0000000..25ee3ab --- /dev/null +++ b/template/64bit/ModuleTemplate/ProjectTemplate.csproj @@ -0,0 +1,61 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + $guid1$ + Library + Properties + $safeprojectname$ + $safeprojectname$ + v$targetframeworkversion$ + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + $if$ ($targetframeworkversion$ >= 3.5) + + + + $endif$ + $if$ ($targetframeworkversion$ >= 4.0) + + $endif$ + + + + + + + + + + + + + diff --git a/template/64bit/ModuleTemplate/Properties/AssemblyInfo.cs b/template/64bit/ModuleTemplate/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7e81f99 --- /dev/null +++ b/template/64bit/ModuleTemplate/Properties/AssemblyInfo.cs @@ -0,0 +1,34 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ModuleTemplate")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyProduct("ModuleTemplate")] +[assembly: AssemblyCopyright("Copyright (c) .NET Foundation and Contributors")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("85bcbed7-39bd-4670-85f7-ee36d0da31c0")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.1.2.0")] +[assembly: AssemblyFileVersion("0.1.2.0")] diff --git a/template/64bit/ModuleTemplate/ReverseLog.cs b/template/64bit/ModuleTemplate/ReverseLog.cs new file mode 100644 index 0000000..460dba9 --- /dev/null +++ b/template/64bit/ModuleTemplate/ReverseLog.cs @@ -0,0 +1,24 @@ +using System.Linq; +using Cake.Core; +using Cake.Core.Diagnostics; + + +namespace $safeprojectname$ +{ + public sealed class ReverseLog : ICakeLog + { + private readonly IConsole _console; + public Verbosity Verbosity { get; set; } + + public ReverseLog(IConsole console) + { + _console = console; + } + + public void Write(Verbosity verbosity, LogLevel level, string format, params object[] args) + { + var message = string.Format(format, args); + _console.WriteLine(new string(message.Reverse().ToArray())); + } + } +} diff --git a/template/64bit/ModuleTemplate/SampleLogModule.cs b/template/64bit/ModuleTemplate/SampleLogModule.cs new file mode 100644 index 0000000..a55aca3 --- /dev/null +++ b/template/64bit/ModuleTemplate/SampleLogModule.cs @@ -0,0 +1,16 @@ +using Cake.Core.Annotations; +using Cake.Core.Composition; +using Cake.Core.Diagnostics; + +[assembly: CakeModule(typeof($safeprojectname$.SampleLogModule))] + +namespace $safeprojectname$ +{ + public class SampleLogModule : ICakeModule + { + public void Register(ICakeContainerRegistrar registrar) + { + registrar.RegisterType().As().Singleton(); + } + } +}