From 125541814642b9105b9d6494b2a29b4d60123cf9 Mon Sep 17 00:00:00 2001 From: Steve Sanderson Date: Wed, 30 Aug 2017 14:46:37 +0100 Subject: [PATCH] Modernize build system (use Directory.Build.* and KoreBuild lineups) --- Directory.Build.props | 3 ++ Directory.Build.targets | 14 ++++++++ NuGet.config | 1 - Templating.sln | 31 ++++++++++++---- build/Key.snk | Bin 596 -> 0 bytes build/common.props | 9 ----- build/dependencies.props | 8 ----- build/repo.props | 6 ++++ src/Directory.Build.props | 33 ++++++++++++++++++ .../Microsoft.DotNet.Web.ItemTemplates.csproj | 8 +++++ ...Microsoft.DotNet.Web.ItemTemplates.nuspec} | 0 .../build.csproj | 19 ---------- ...oft.DotNet.Web.ProjectTemplates.1.x.csproj | 8 +++++ ...ft.DotNet.Web.ProjectTemplates.1.x.nuspec} | 0 .../build.csproj | 18 ---------- ...oft.DotNet.Web.ProjectTemplates.2.0.csproj | 8 +++++ ...ft.DotNet.Web.ProjectTemplates.2.0.nuspec} | 0 .../build.csproj | 18 ---------- src/Templates.csproj | 23 ------------ test/Helpers/TemplateTestBase.cs | 6 ++++ test/Templates.Test.csproj | 11 +++--- 21 files changed, 116 insertions(+), 108 deletions(-) create mode 100644 Directory.Build.props create mode 100644 Directory.Build.targets delete mode 100644 build/Key.snk delete mode 100644 build/common.props delete mode 100644 build/dependencies.props create mode 100644 build/repo.props create mode 100644 src/Directory.Build.props create mode 100644 src/Microsoft.DotNet.Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.csproj rename src/Microsoft.DotNet.Web.ItemTemplates/{Templates.nuspec => Microsoft.DotNet.Web.ItemTemplates.nuspec} (100%) delete mode 100644 src/Microsoft.DotNet.Web.ItemTemplates/build.csproj create mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates.1.x/Microsoft.DotNet.Web.ProjectTemplates.1.x.csproj rename src/Microsoft.DotNet.Web.ProjectTemplates.1.x/{Templates.nuspec => Microsoft.DotNet.Web.ProjectTemplates.1.x.nuspec} (100%) delete mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates.1.x/build.csproj create mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates.2.0/Microsoft.DotNet.Web.ProjectTemplates.2.0.csproj rename src/Microsoft.DotNet.Web.ProjectTemplates.2.0/{Templates.nuspec => Microsoft.DotNet.Web.ProjectTemplates.2.0.nuspec} (100%) delete mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates.2.0/build.csproj delete mode 100644 src/Templates.csproj diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000000..bb661ee10c --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,3 @@ + + + diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 0000000000..8296c12835 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,14 @@ + + + + <_BootstrapperFile Condition=" $([MSBuild]::IsOSUnixLike()) ">build.sh + <_BootstrapperFile Condition="! $([MSBuild]::IsOSUnixLike()) ">build.cmd + <_BootstrapperError> + Package references have not been pinned. Run './$(_BootstrapperFile) /t:Pin'. + Also, you can run './$(_BootstrapperFile) /t:Restore' which will pin *and* restore packages. '$(_BootstrapperFile)' can be found in '$(MSBuildThisFileDirectory)'. + + + + + + diff --git a/NuGet.config b/NuGet.config index 4e8a1f6de1..20060c934e 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,7 +3,6 @@ - diff --git a/Templating.sln b/Templating.sln index 665d6760c3..a00f768587 100644 --- a/Templating.sln +++ b/Templating.sln @@ -3,28 +3,47 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.26730.0 MinimumVisualStudioVersion = 15.0.26124.0 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Templates", "src\Templates.csproj", "{1CAB59EF-8E8F-4708-8579-3F5B2D33EB90}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Templates.Test", "test\Templates.Test.csproj", "{D43A4D24-D514-44C2-9438-54F6EDF58680}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Web.ItemTemplates", "src\Microsoft.DotNet.Web.ItemTemplates\Microsoft.DotNet.Web.ItemTemplates.csproj", "{ABC9D95C-7FBD-4F8D-827A-00942EA3D0C0}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Web.ProjectTemplates.1.x", "src\Microsoft.DotNet.Web.ProjectTemplates.1.x\Microsoft.DotNet.Web.ProjectTemplates.1.x.csproj", "{B8EB8821-9B58-465A-9693-5F9289AA7B29}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Web.ProjectTemplates.2.0", "src\Microsoft.DotNet.Web.ProjectTemplates.2.0\Microsoft.DotNet.Web.ProjectTemplates.2.0.csproj", "{62D00388-8824-4661-8CC8-8D8436FF97E6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TemplatePackages", "TemplatePackages", "{0AD6E692-E423-408C-B523-DAFB19412E4B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1CAB59EF-8E8F-4708-8579-3F5B2D33EB90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1CAB59EF-8E8F-4708-8579-3F5B2D33EB90}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1CAB59EF-8E8F-4708-8579-3F5B2D33EB90}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1CAB59EF-8E8F-4708-8579-3F5B2D33EB90}.Release|Any CPU.Build.0 = Release|Any CPU {D43A4D24-D514-44C2-9438-54F6EDF58680}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D43A4D24-D514-44C2-9438-54F6EDF58680}.Debug|Any CPU.Build.0 = Debug|Any CPU {D43A4D24-D514-44C2-9438-54F6EDF58680}.Release|Any CPU.ActiveCfg = Release|Any CPU {D43A4D24-D514-44C2-9438-54F6EDF58680}.Release|Any CPU.Build.0 = Release|Any CPU + {ABC9D95C-7FBD-4F8D-827A-00942EA3D0C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ABC9D95C-7FBD-4F8D-827A-00942EA3D0C0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ABC9D95C-7FBD-4F8D-827A-00942EA3D0C0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ABC9D95C-7FBD-4F8D-827A-00942EA3D0C0}.Release|Any CPU.Build.0 = Release|Any CPU + {B8EB8821-9B58-465A-9693-5F9289AA7B29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B8EB8821-9B58-465A-9693-5F9289AA7B29}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B8EB8821-9B58-465A-9693-5F9289AA7B29}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B8EB8821-9B58-465A-9693-5F9289AA7B29}.Release|Any CPU.Build.0 = Release|Any CPU + {62D00388-8824-4661-8CC8-8D8436FF97E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {62D00388-8824-4661-8CC8-8D8436FF97E6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {62D00388-8824-4661-8CC8-8D8436FF97E6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {62D00388-8824-4661-8CC8-8D8436FF97E6}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {ABC9D95C-7FBD-4F8D-827A-00942EA3D0C0} = {0AD6E692-E423-408C-B523-DAFB19412E4B} + {B8EB8821-9B58-465A-9693-5F9289AA7B29} = {0AD6E692-E423-408C-B523-DAFB19412E4B} + {62D00388-8824-4661-8CC8-8D8436FF97E6} = {0AD6E692-E423-408C-B523-DAFB19412E4B} + EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E9B27B0D-4F85-431B-9C26-80CFE4393D36} EndGlobalSection diff --git a/build/Key.snk b/build/Key.snk deleted file mode 100644 index e10e4889c125d3120cd9e81582243d70f7cbb806..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50098=Iw=HCsnz~#iVhm& zj%TU(_THUee?3yHBjk$37ysB?i5#7WD$={H zV4B!OxRPrb|8)HPg~A}8P>^=#y<)56#=E&NzcjOtPK~<4n6GHt=K$ro*T(lhby_@U zEk(hLzk1H)0yXj{A_5>fk-TgNoP|q6(tP2xo8zt8i%212CWM#AeCd?`hS|4~L({h~Moo(~vy&3Z z1uI}`fd^*>o=rwbAGymj6RM^pZm(*Kfhs+Y1#`-2JPWZMK8@;ZWCk2+9bX4YP);~fj-BU*R zQPvWv$89!{Rl9wM+zR>_TSkn^voYxA?2G iKnV#iZ6Ah`K>b=@=IjYJXrxL124zR(38)nxe+&q_$QXwJ diff --git a/build/common.props b/build/common.props deleted file mode 100644 index fd9606610c..0000000000 --- a/build/common.props +++ /dev/null @@ -1,9 +0,0 @@ - - - - - $(MSBuildThisFileDirectory)..\artifacts\ - $(VersionPrefix) - $(VersionPrefix)-$(VersionSuffix) - - \ No newline at end of file diff --git a/build/dependencies.props b/build/dependencies.props deleted file mode 100644 index b80407b6e5..0000000000 --- a/build/dependencies.props +++ /dev/null @@ -1,8 +0,0 @@ - - - 2.1.1-* - 15.3.0 - 2.3.0-beta4-build3742 - 0.6.1 - - diff --git a/build/repo.props b/build/repo.props new file mode 100644 index 0000000000..c5d91e8a2c --- /dev/null +++ b/build/repo.props @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Directory.Build.props b/src/Directory.Build.props new file mode 100644 index 0000000000..cf686c1544 --- /dev/null +++ b/src/Directory.Build.props @@ -0,0 +1,33 @@ + + + + + true + False + False + False + False + 2008;8021 + $(VersionPrefix) + $(VersionPrefix)-$(VersionSuffix) + $(MSBuildThisFileDirectory)..\artifacts\ + version=$(PackageVersion) + + + true + + + + + + + + diff --git a/src/Microsoft.DotNet.Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.csproj b/src/Microsoft.DotNet.Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.csproj new file mode 100644 index 0000000000..b52a39bd72 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.csproj @@ -0,0 +1,8 @@ + + + + netcoreapp2.0 + Microsoft.DotNet.Web.ItemTemplates.nuspec + + + diff --git a/src/Microsoft.DotNet.Web.ItemTemplates/Templates.nuspec b/src/Microsoft.DotNet.Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.nuspec similarity index 100% rename from src/Microsoft.DotNet.Web.ItemTemplates/Templates.nuspec rename to src/Microsoft.DotNet.Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.nuspec diff --git a/src/Microsoft.DotNet.Web.ItemTemplates/build.csproj b/src/Microsoft.DotNet.Web.ItemTemplates/build.csproj deleted file mode 100644 index 96533dceba..0000000000 --- a/src/Microsoft.DotNet.Web.ItemTemplates/build.csproj +++ /dev/null @@ -1,19 +0,0 @@ - - - - netstandard1.0 - $(MSBuildThisFileDirectory)\Templates.nuspec - version=$(PackageVersion) - False - False - False - False - $(TemplatesFolder) - False - $(MSBuildThisFileDirectory)..\..\artifacts\scratch - - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates.1.x/Microsoft.DotNet.Web.ProjectTemplates.1.x.csproj b/src/Microsoft.DotNet.Web.ProjectTemplates.1.x/Microsoft.DotNet.Web.ProjectTemplates.1.x.csproj new file mode 100644 index 0000000000..b454da4d82 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates.1.x/Microsoft.DotNet.Web.ProjectTemplates.1.x.csproj @@ -0,0 +1,8 @@ + + + + netcoreapp2.0 + Microsoft.DotNet.Web.ProjectTemplates.1.x.nuspec + + + diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates.1.x/Templates.nuspec b/src/Microsoft.DotNet.Web.ProjectTemplates.1.x/Microsoft.DotNet.Web.ProjectTemplates.1.x.nuspec similarity index 100% rename from src/Microsoft.DotNet.Web.ProjectTemplates.1.x/Templates.nuspec rename to src/Microsoft.DotNet.Web.ProjectTemplates.1.x/Microsoft.DotNet.Web.ProjectTemplates.1.x.nuspec diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates.1.x/build.csproj b/src/Microsoft.DotNet.Web.ProjectTemplates.1.x/build.csproj deleted file mode 100644 index 47aeb59abe..0000000000 --- a/src/Microsoft.DotNet.Web.ProjectTemplates.1.x/build.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - netstandard1.0 - $(MSBuildThisFileDirectory)\Templates.nuspec - version=$(PackageVersion) - False - False - False - False - $(TemplatesFolder) - False - $(MSBuildThisFileDirectory)..\..\artifacts\scratch - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates.2.0/Microsoft.DotNet.Web.ProjectTemplates.2.0.csproj b/src/Microsoft.DotNet.Web.ProjectTemplates.2.0/Microsoft.DotNet.Web.ProjectTemplates.2.0.csproj new file mode 100644 index 0000000000..930797a861 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates.2.0/Microsoft.DotNet.Web.ProjectTemplates.2.0.csproj @@ -0,0 +1,8 @@ + + + + netcoreapp2.0 + Microsoft.DotNet.Web.ProjectTemplates.2.0.nuspec + + + diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates.2.0/Templates.nuspec b/src/Microsoft.DotNet.Web.ProjectTemplates.2.0/Microsoft.DotNet.Web.ProjectTemplates.2.0.nuspec similarity index 100% rename from src/Microsoft.DotNet.Web.ProjectTemplates.2.0/Templates.nuspec rename to src/Microsoft.DotNet.Web.ProjectTemplates.2.0/Microsoft.DotNet.Web.ProjectTemplates.2.0.nuspec diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates.2.0/build.csproj b/src/Microsoft.DotNet.Web.ProjectTemplates.2.0/build.csproj deleted file mode 100644 index 47aeb59abe..0000000000 --- a/src/Microsoft.DotNet.Web.ProjectTemplates.2.0/build.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - netstandard1.0 - $(MSBuildThisFileDirectory)\Templates.nuspec - version=$(PackageVersion) - False - False - False - False - $(TemplatesFolder) - False - $(MSBuildThisFileDirectory)..\..\artifacts\scratch - - - - - \ No newline at end of file diff --git a/src/Templates.csproj b/src/Templates.csproj deleted file mode 100644 index 3e1570068f..0000000000 --- a/src/Templates.csproj +++ /dev/null @@ -1,23 +0,0 @@ - - - - netstandard2.0 - - - - - - - - - - - - - - - - - - - diff --git a/test/Helpers/TemplateTestBase.cs b/test/Helpers/TemplateTestBase.cs index fd50ed4666..e8b63e0c08 100644 --- a/test/Helpers/TemplateTestBase.cs +++ b/test/Helpers/TemplateTestBase.cs @@ -26,6 +26,12 @@ namespace Templates.Test var basePath = Path.GetDirectoryName(assemblyUri.LocalPath); TemplateOutputDir = Path.Combine(basePath, "TestTemplates", ProjectName); Directory.CreateDirectory(TemplateOutputDir); + + // We don't want any of the host repo's build config interfering with + // how the test project is built, so disconnect it from the + // Directory.Build.props/targets context + File.WriteAllText(Path.Combine(TemplateOutputDir, "Directory.Build.props"), ""); + File.WriteAllText(Path.Combine(TemplateOutputDir, "Directory.Build.targets"), ""); } protected void InstallTemplatePackages() diff --git a/test/Templates.Test.csproj b/test/Templates.Test.csproj index bfec3903d9..6366d9d7b6 100644 --- a/test/Templates.Test.csproj +++ b/test/Templates.Test.csproj @@ -1,16 +1,15 @@ - netcoreapp2.0 - - - - - + + + + +