From 8ef4885f8ee9d90dd253cafd23a8f1c42514e2ef Mon Sep 17 00:00:00 2001 From: Petrik van der Velde Date: Sat, 8 Jun 2019 10:47:11 +1200 Subject: [PATCH] Updating to the latest version of nBuildKit so that we can handle the new project file format references #7 --- build.settings.props | 1277 ++++++++++++++++++++++++++--------------- deploy.settings.props | 554 +++++++++++++----- entrypoint.msbuild | 285 ++++++--- settings.props | 316 +++++----- test.settings.props | 572 ++++++++++++++---- 5 files changed, 2093 insertions(+), 911 deletions(-) diff --git a/build.settings.props b/build.settings.props index 1085183..2207ab5 100644 --- a/build.settings.props +++ b/build.settings.props @@ -1,341 +1,97 @@ - + - + - Release + Release - Deploy + Deploy - + - - - - - - Prepare; - - - - - - - Prepare; - - - - - - - Prepare; - - - - - - - Prepare; - - - - - - - Prepare; - - - - - - - Prepare; - - - + + - - - - - Prepare; - - - - + + + - - - - - Compile; - - - - - + + - - - Configuration=$(TestConfiguration); - Platform=$(Platform) - - - Analyze; - - - + + - - - - Configuration=$(ProductionConfiguration); - Platform=$(Platform) - - - Package; - - - - - Configuration=$(ProductionConfiguration); - Platform=$(Platform) - - - Package; - - - - - + - - - - + @@ -347,62 +103,30 @@ The list of all files that should be generated and their template files. The template file may contain zero or more template parameters as indicated at the top of this - file. Template parameters must be enclosed in '${}'. + file. By default template parameters must be enclosed in '${}'. By providing a value for + 'Expression' it is possible to use a custom regular expression to search for elements to replace, + e.g. $TOKEN$. Note that elements in the regular expession might need to be converted in a suitable + format because XML doesn't like < and > and MsBuild doesn't like $ (%24), * (%2A), ? (%3F). + + Only the 'Template' value is required. Additional parameters can be provided through the 'TemplateTokens' ItemGroup below. --> - + - - - - - - - - - - - - - - - - - - - - @@ -410,7 +134,7 @@ The item group defining the location of the Vistual Studio solutions that should be build. The solution path allows build templates, e.g. '$(DirSrc)\${CompanyName}\${ProductName}\MySolution.sln' --> - + $(TestConfiguration) @@ -471,6 +195,59 @@ true + + + + + + + + + - + - + - + - + - + + + + - + - + - + - + - - - - - + @@ -570,44 +356,37 @@ - - + - - - - $(DirSrc)\default.ruleset - + - - + - - + - true + - + + - + - + - - - - - - @@ -656,136 +423,709 @@ Patch - The version range of the dependency is from the current version up to, but not including, the next patch version, e.g [1.2.3, 1.2.4) --> - + - - - - true - - - - - - - + + + + + + + + + + + + + + + - + + + + + + + + + + + clean; + prepare; + prepare.clean; + + BuildStepsPrepareWorkspace + + + + + + + - - - + + + + + prepare; + prepare.bootstrap; + + BuildStepsBuildTargetsAssembly + + + + + + + - - + + + + + + prepare; + prepare.restore; + prepare.restore.nuget; + + BuildStepsPrepareRestoreNuGet + + + + + + + - + + + + + prepare; + prepare.buildserver; + prepare.buildserver.vcssetbranch; + prepare.vcs; + prepare.vcs.vcssetbranch; + + BuildStepsPrepareVcsBranch + + + + + + + + + + + + prepare; + prepare.get; + prepare.get.vcsinfo; + + BuildStepsPrepareVcsInfo + + + + + + + + + + + + prepare; + prepare.get; + prepare.get.issueids; + + BuildStepsPrepareGetIssueIds + + + + + + + - + + + + + prepare; + prepare.buildserver; + prepare.buildserver.merge; + prepare.vcs; + prepare.vcs.merge; + + BuildStepsPrepareVcsMerge + + + + + + + - + + + + + prepare; + prepare.get; + prepare.get.version; + + BuildStepsPrepareGetVersion + + + + + + + + + + + + prepare; + prepare.buildserver; + prepare.buildserver.tag; + prepare.vcs; + prepare.vcs.tag; + + BuildStepsPrepareTagVcs + + + + + + + + + + + + + prepare; + prepare.get; + prepare.get.releasenotes; + + BuildStepsPrepareReleaseNotes + + + + + + + - + + + + + prepare; + prepare.copy; + prepare.copy.nuget; + + BuildStepsPrepareCopyNuGet + + + + + + + + + + + + prepare; + prepare.copy; + prepare.copy.url; + + BuildStepsPrepareCopyHttp + + + + + + + + + + + + prepare; + prepare.copy; + prepare.copy.files; + + BuildStepsPrepareCopyFiles + + + + + + + + + + + + prepare; + prepare.copy; + prepare.copy.archive; + + BuildStepsPrepareCopyArchive + + + + + + + + + + + + + prepare; + prepare.generate; + prepare.generate.assemblyinfo; + + build.help + + + + + + + + + + + + prepare; + prepare.generate; + prepare.generate.licenses; + + BuildStepsPrepareGenerateLicenses + + + + + + + + + + + + prepare; + prepare.generate; + prepare.generate.files; + + BuildStepsPrepareGenerateFiles + + + + + + + + + + + + + build; + build.visualstudio; + + BuildStepsBuildVisualStudioSolution + + + + + + + + + + + + + test; + test.unittest; + test.unittest.nunit; + + BuildStepsUnitTestNUnit + + + + + + Configuration=$(TestConfiguration); + Platform=$(Platform) + + - - + + + + + + test; + test.analyze; + test.analyze.fxcop; + + BuildStepsAnalyzeBinariesFxCop + + + + + + Configuration=$(TestConfiguration); + Platform=$(Platform) + + - - + + + + + package; + package.nuget; + + BuildStepsPackNuGet + + + + + + Configuration=$(ProductionConfiguration); + Platform=$(Platform) + + + + + + + package; + package.zip; + + BuildStepsPackZip + + + + + + Configuration=$(ProductionConfiguration); + Platform=$(Platform) + + + + + + - + + + - + + + + + + + + + + @@ -803,5 +1143,8 @@ true + + + 1.1 diff --git a/deploy.settings.props b/deploy.settings.props index b4ecc05..7791327 100644 --- a/deploy.settings.props +++ b/deploy.settings.props @@ -2,6 +2,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nuclei + ${ReleaseNotes} + + + + + + + + + + + $(GitRemoteRepository) + gh-pages + true + Documentation update for version ${VersionSemantic} + + + + + + - + + + + + + + + prepare; + prepare.restore; + prepare.restore.nuget; + + DeployStepsRestoreNuGet + + + + + + + + + + + + + prepare; + prepare.buildserver; + prepare.buildserver.vcssetbranch; + + DeployStepsPrepareVcsBranch + + + + + + + + - Prepare; + prepare; + prepare.get; + prepare.get.vcsinfo; + DeployStepsPrepareVcsInfo + + + + + + + + + + prepare; + prepare.get; + prepare.get.issueids; + + DeployStepsPrepareGetIssueIds + + + + + + + + + + - Prepare; + prepare; + prepare.get; + prepare.get.version; + DeployStepsPrepareGetVersion + + + + + + - - + + + + + prepare; + prepare.copy; + prepare.copy.files; + + DeployStepsPrepareCopyFiles + + + + + + + + + + + + prepare; + prepare.copy; + prepare.copy.archive; + + DeployStepsPrepareCopyArchive + + + + + + + + + + + + + deploy; + deploy.vcs.tags; + + DeployStepsPushToTags + + + + Configuration=$(ProductionConfiguration); Platform=$(Platform); - - NuGet; - Push; + + + + + + deploy; + deploy.package.nuget; + DeployStepsPushToNuget + + + + + + Configuration=$(ProductionConfiguration); + Platform=$(Platform); + - - + DeployStepsPushToHttp + + + + Configuration=$(ProductionConfiguration); Platform=$(Platform); + + + + - Push; - SymbolServer; + deploy; + deploy.package.symbols; + DeployStepsPushToSymbolServer + + + + + + Configuration=$(ProductionConfiguration); + Platform=$(Platform); + - - + DeployStepsPushToGitBranch + + + + Configuration=$(ProductionConfiguration); Platform=$(Platform); + + + + - Git; - Push; + deploy; + deploy.vcs.git.repository; + DeployStepsPushToGitRepository + + + + + + Configuration=$(ProductionConfiguration); + Platform=$(Platform); + @@ -122,18 +489,9 @@ for that step, e.g. adding a deploy step that points to the 'c:\stuff\MyCoolScript.msbuild' will execute that script. - Each script has the following properties passed to it: - $(SharedPropertyFile) - The full path to the settings.props file (i.e. this file). - $(ShouldDisplayDebugLog) - A flag indicating whether or not to display debug log information, usually at the start of the script execution. - $(NBuildKitVersion) - The full version of the nBuildKit library that is executing the build. - $(DirNBuildKitMsBuild) - The full path to the directory that contains the nBuildKit scripts. - $(DirNBuildKitMsBuildShared) - The full path to the directory that contains the shared nBuildkit scripts. - $(DirNBuildKitMsBuildExtensions) - The full path to the directory that contains the nBuildKit extension scripts. - $(DirNBuildKitMsBuildTemplates) - The full path to the directory that contains the nBuildKit templates. - - Additionally any properties defined by the 'Properties' section are also pushed up. + Any properties defined by the 'Properties' section are pushed up. --> - + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - Nuclei - ${ReleaseNotes} - - - - - - - - - - - $(GitRemoteRepository) - gh-pages - true - Documentation update for version ${VersionSemantic} - @@ -259,10 +532,6 @@ - - @@ -281,5 +550,8 @@ true + + + 1.1 diff --git a/entrypoint.msbuild b/entrypoint.msbuild index 77785b0..38520f4 100644 --- a/entrypoint.msbuild +++ b/entrypoint.msbuild @@ -1,5 +1,7 @@ - - + @@ -79,10 +81,18 @@ NBUILDKIT_MACHINE_ENVIRONMENT_FILE, if it exists * Workspace - Load the environment information from the file in the workspace, if it exists --> - - - - + + + + - + @@ -188,7 +200,9 @@ script and passing the path to the 'settings.props' file and the version of nBuildKit that is going to be used to execute the tests. --> - + @@ -202,7 +216,9 @@ script and passing the path to the 'settings.props' file and the version of nBuildKit that is going to be used to execute the deploy. --> - + @@ -211,68 +227,139 @@ - - - - + + + + - + - + - - + + - + - - + + - - + + - - + + - - + + - + - - + + - - + + - - - - + + + + @@ -283,29 +370,50 @@ --> - - + + - - + + - - + + - - + + - + - + - + - - - - + + + + - - - + + + - + - - - - + + + + - + - + - - - - - + + + + + - + - 1.0 + 1.1 diff --git a/settings.props b/settings.props index 7d8a34a..ed61545 100644 --- a/settings.props +++ b/settings.props @@ -1,7 +1,8 @@ - + - - - - + + + + + + + @@ -90,8 +109,6 @@ nuclei.build @@ -188,7 +205,7 @@ Note that custom version number templates may not reference other custom version number templates. --> - + - + - + - + - + - + - + - - - - + - + - - - - $(DirWorkspace)\doc + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + - - - - + - + - UNDEFINED + @@ -394,20 +519,14 @@ **** PREPARE - RELEASE NOTES **** --> - - - - - - - + - + - UNDEFINED + - + - - - - - - - - + @@ -503,22 +613,24 @@ Each script should have a task with the same name as the file. --> - + - - - $(DirDoc) + + - + @@ -537,7 +649,7 @@ The tag 'all' is a special tag that will lead to the invocation of all steps that are registered for the selected stage. --> - + @@ -554,67 +666,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -632,6 +683,9 @@ true + + + 1.1 - 1.0.0 - 2.0.0 + 1.1.0 + 2.0.0 diff --git a/test.settings.props b/test.settings.props index 87e29fe..5b237b2 100644 --- a/test.settings.props +++ b/test.settings.props @@ -1,106 +1,491 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + clean; + prepare; + prepare.clean; + + TestStepsPrepareWorkspace + + + + + + + + + + + - Prepare; + prepare; + prepare.restore; + prepare.restore.nuget; + TestStepsPrepareRestoreNuGet + + + + + + + + + + + + + + prepare; + prepare.buildserver; + prepare.buildserver.vcssetbranch; + + TestStepsPrepareVcsBranch + + + + + + + + + + + + prepare; + prepare.get; + prepare.get.vcsinfo; + + TestStepsPrepareVcsInfo + + + + + + - + + + + + prepare; + prepare.get; + prepare.get.issueids; + + TestStepsPrepareGetIssueIds + + + + + + + + + + + + + prepare; + prepare.get; + prepare.get.version; + + TestStepsPrepareGetVersion + + + + + + + + - Prepare; + prepare; + prepare.get; + prepare.get.releasenotes; + TestStepsPrepareReleaseNotes + + + + + + - + + + + + + prepare; + prepare.copy; + prepare.copy.nuget; + + TestStepsPrepareCopyNuGet + + + + + + + + - Prepare; + prepare; + prepare.copy; + prepare.copy.url; + TestStepsPrepareCopyHttp + + + + + + - + + + + + prepare; + prepare.copy; + prepare.copy.files; + + TestStepsPrepareCopyFiles + + + + + + + + - Prepare; + prepare; + prepare.copy; + prepare.copy.archive; + TestStepsPrepareCopyArchive + + + + + + - + + + + + + prepare; + prepare.generate; + prepare.generate.files; + + TestStepsPrepareGenerateFiles + + + + + + + + + - Generate; - Prepare; + test; + test.pester; + test.pester.integration; + TestStepsIntegrationPester + + + + + + @@ -111,18 +496,9 @@ for that step, e.g. adding a test step that points to the 'c:\stuff\MyCoolScript.msbuild' will execute that script. - Each script has the following properties passed to it: - $(SharedPropertyFile) - The full path to the settings.props file (i.e. this file). - $(ShouldDisplayDebugLog) - A flag indicating whether or not to display debug log information, usually at the start of the script execution. - $(NBuildKitVersion) - The full version of the nBuildKit library that is executing the build. - $(DirNBuildKitMsBuild) - The full path to the directory that contains the nBuildKit scripts. - $(DirNBuildKitMsBuildShared) - The full path to the directory that contains the shared nBuildkit scripts. - $(DirNBuildKitMsBuildExtensions) - The full path to the directory that contains the nBuildKit extension scripts. - $(DirNBuildKitMsBuildTemplates) - The full path to the directory that contains the nBuildKit templates. - - Additionally any properties defined by the 'Properties' section are also pushed up. + Any properties defined by the 'Properties' section are pushed up. --> - + - - - - - - - - - - + + @@ -198,5 +557,8 @@ true + + + 1.1