From 0c0bc9782b1e9c3df622d6da8f773f768d7f9e6a Mon Sep 17 00:00:00 2001 From: Daniel Cazzulino Date: Fri, 1 Dec 2017 21:20:17 -0300 Subject: [PATCH 1/5] Bump GitInfo and unify how we reference it Instead of having it scattered all over, keep it in PackageVersion.targets --- .../NuGet.Build.Packaging.Tasks.csproj | 1 - .../NuGet.Build.Packaging.Tasks.targets | 4 ++-- .../NuGet.Build.Packaging.Tests.csproj | 1 - src/NuGet.Build.Packaging.Shared.props | 8 ++++---- src/NuGet.Build.Packaging.Shared.targets | 2 +- src/PackageVersion.targets | 6 +++++- .../NuGet.Packaging.VisualStudio.15.csproj | 1 - .../NuGet.Packaging.VisualStudio.csproj | 1 - 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.Tasks.csproj b/src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.Tasks.csproj index 1172957..e35818e 100644 --- a/src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.Tasks.csproj +++ b/src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.Tasks.csproj @@ -6,7 +6,6 @@ NO-SDK-PACK - diff --git a/src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.Tasks.targets b/src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.Tasks.targets index e084a93..22e2a16 100644 --- a/src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.Tasks.targets +++ b/src/Build/NuGet.Build.Packaging.Tasks/NuGet.Build.Packaging.Tasks.targets @@ -12,8 +12,8 @@ - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + NuGet.Build.Packaging NuGetizer-3000 NuGetizer-3000 diff --git a/src/Build/NuGet.Build.Packaging.Tests/NuGet.Build.Packaging.Tests.csproj b/src/Build/NuGet.Build.Packaging.Tests/NuGet.Build.Packaging.Tests.csproj index 3f95151..537319c 100644 --- a/src/Build/NuGet.Build.Packaging.Tests/NuGet.Build.Packaging.Tests.csproj +++ b/src/Build/NuGet.Build.Packaging.Tests/NuGet.Build.Packaging.Tests.csproj @@ -13,7 +13,6 @@ - diff --git a/src/NuGet.Build.Packaging.Shared.props b/src/NuGet.Build.Packaging.Shared.props index 8aefbd7..0455cbd 100644 --- a/src/NuGet.Build.Packaging.Shared.props +++ b/src/NuGet.Build.Packaging.Shared.props @@ -1,7 +1,7 @@  - + false false @@ -10,7 +10,7 @@ AnyCPU $(MSBuildProjectName) NuGet.Build.Packaging - + bin\$(Configuration)\ Library Properties @@ -46,11 +46,11 @@ - + - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) true diff --git a/src/NuGet.Build.Packaging.Shared.targets b/src/NuGet.Build.Packaging.Shared.targets index 019608f..c0ce647 100644 --- a/src/NuGet.Build.Packaging.Shared.targets +++ b/src/NuGet.Build.Packaging.Shared.targets @@ -10,7 +10,7 @@ - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) true diff --git a/src/PackageVersion.targets b/src/PackageVersion.targets index 374da48..76ae790 100644 --- a/src/PackageVersion.targets +++ b/src/PackageVersion.targets @@ -2,7 +2,7 @@ - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) true @@ -11,6 +11,10 @@ + + + + diff --git a/src/VisualStudio/NuGet.Packaging.VisualStudio.15/NuGet.Packaging.VisualStudio.15.csproj b/src/VisualStudio/NuGet.Packaging.VisualStudio.15/NuGet.Packaging.VisualStudio.15.csproj index 84b6dbc..fa17573 100644 --- a/src/VisualStudio/NuGet.Packaging.VisualStudio.15/NuGet.Packaging.VisualStudio.15.csproj +++ b/src/VisualStudio/NuGet.Packaging.VisualStudio.15/NuGet.Packaging.VisualStudio.15.csproj @@ -47,7 +47,6 @@ - diff --git a/src/VisualStudio/NuGet.Packaging.VisualStudio/NuGet.Packaging.VisualStudio.csproj b/src/VisualStudio/NuGet.Packaging.VisualStudio/NuGet.Packaging.VisualStudio.csproj index 23e2e21..91c6267 100644 --- a/src/VisualStudio/NuGet.Packaging.VisualStudio/NuGet.Packaging.VisualStudio.csproj +++ b/src/VisualStudio/NuGet.Packaging.VisualStudio/NuGet.Packaging.VisualStudio.csproj @@ -29,7 +29,6 @@ - From 9b3b8fbcb302e9913ade783251b6969c152dc30d Mon Sep 17 00:00:00 2001 From: Daniel Cazzulino Date: Sat, 2 Dec 2017 02:58:30 -0300 Subject: [PATCH 2/5] Improve versioning with semver 2 Version PRs separately, append branch metadata and git information. Don't attach it for release branches. Only for non-master branches, having the branch name as a prerelease label makes it easier to trivially dogfood a specific feature branch, without having to tweak GitInfo.txt across branches. This change allows us to keep working on a stable version number (i.e. 0.2.5) while working on `dev` branch, so we will get version numbers like 0.2.5-dev.5+sha.asdfasdf. Branching for a feature `foo`, you'd automatically get version numbers like 0.2.5-foo.6+sha.asfdasdf. If, however, we already had a branch that's creating an already labeled release (via GitInfo.txt), such as 0.2.5-alpha, the version in (say) dev for that would be 0.2.5-alpha.15+dev.sha.asdfasdf. This allows you to tell apart a build for the alpha that's being contributed to by a specific branch. --- GitInfo.txt | 2 +- build.proj | 15 +--- msbuild.rsp | 3 - ...NuGet.Build.Packaging.Tasks.Shared.targets | 4 +- .../Scenarios/Scenario.props | 5 +- src/Directory.Build.targets | 74 +++++++++++++++++++ src/NuGet.Build.Packaging.Shared.targets | 2 - src/PackageVersion.targets | 35 --------- ...uGet.Packaging.VisualStudio.Shared.targets | 4 +- 9 files changed, 83 insertions(+), 61 deletions(-) delete mode 100644 msbuild.rsp create mode 100644 src/Directory.Build.targets delete mode 100644 src/PackageVersion.targets diff --git a/GitInfo.txt b/GitInfo.txt index b4f09dd..b038896 100644 --- a/GitInfo.txt +++ b/GitInfo.txt @@ -1 +1 @@ -0.2.0-dev \ No newline at end of file +0.2.5-dev \ No newline at end of file diff --git a/build.proj b/build.proj index d184305..2154f83 100644 --- a/build.proj +++ b/build.proj @@ -31,8 +31,7 @@ - - + @@ -48,7 +47,7 @@ - + @@ -139,20 +138,12 @@ - - - 1 - 0 - 0 - - - - + \ No newline at end of file diff --git a/msbuild.rsp b/msbuild.rsp deleted file mode 100644 index 2dd6fb5..0000000 --- a/msbuild.rsp +++ /dev/null @@ -1,3 +0,0 @@ -/consoleloggerparameters:Verbosity=minimal -/fileLogger -/fileloggerparameters:LogFile=msbuild.log;verbosity=detailed diff --git a/src/Build/NuGet.Build.Packaging.Tasks.Shared.targets b/src/Build/NuGet.Build.Packaging.Tasks.Shared.targets index cc4bf66..999fd2d 100644 --- a/src/Build/NuGet.Build.Packaging.Tasks.Shared.targets +++ b/src/Build/NuGet.Build.Packaging.Tasks.Shared.targets @@ -15,6 +15,4 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) true - - - + \ No newline at end of file diff --git a/src/Build/NuGet.Build.Packaging.Tests/Scenarios/Scenario.props b/src/Build/NuGet.Build.Packaging.Tests/Scenarios/Scenario.props index c80f47f..85c1645 100644 --- a/src/Build/NuGet.Build.Packaging.Tests/Scenarios/Scenario.props +++ b/src/Build/NuGet.Build.Packaging.Tests/Scenarios/Scenario.props @@ -28,14 +28,13 @@ false - - 1 None + + false diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets new file mode 100644 index 0000000..e2bd596 --- /dev/null +++ b/src/Directory.Build.targets @@ -0,0 +1,74 @@ + + + + + true + true + + Microsoft + Microsoft NuGet Packaging + Copyright © 2016 + + + + + + + + + + + + + + + $([MSBuild]::Add('$(GitCommits)', '1')) + + + + + + + + + $(GitSemVerDashLabel)-pr$(BUILD_SOURCEBRANCH.Substring(10).TrimEnd('/merge')) + $(GitSemVerDashLabel)-pr$(APPVEYOR_PULL_REQUEST_NUMBER) + + + <_IndexOfBranchSlash>$(GitBranch.LastIndexOf('/')) + <_IndexOfBranchSubstring>$([MSBuild]::Add('$(_IndexOfBranchSlash)', '1')) + <_GitBranch Condition="'$(_IndexOfBranchSlash)' != '0'">$(GitBranch.Substring($(_IndexOfBranchSubstring))) + <_GitBranch Condition="'$(_IndexOfBranchSlash)' == '0'">$(GitBranch) + + + -$(_GitBranch) + $(_GitBranch). + $(SemVerMetadata)sha.$(GitCommit) + + + $(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch)$(GitSemVerDashLabel).$(GitCommits)+$(SemVerMetadata) + + $(GitSemVerMajor).$(GitSemVerMinor).$(GitSemVerPatch)+$(SemVerMetadata) + $(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch) + $(GitSemVerMajor).$(GitSemVerMinor).$(GitSemVerPatch) + $(PackageVersion) + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/NuGet.Build.Packaging.Shared.targets b/src/NuGet.Build.Packaging.Shared.targets index c0ce647..16884df 100644 --- a/src/NuGet.Build.Packaging.Shared.targets +++ b/src/NuGet.Build.Packaging.Shared.targets @@ -13,6 +13,4 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) true - - diff --git a/src/PackageVersion.targets b/src/PackageVersion.targets deleted file mode 100644 index 76ae790..0000000 --- a/src/PackageVersion.targets +++ /dev/null @@ -1,35 +0,0 @@ - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - true - - GetPackageVersion; - $(BuildDependsOn) - - - - - - - - - - - - -pr$(BUILD_SOURCEBRANCH.Substring(10).TrimEnd('/merge')) - -pr$(APPVEYOR_PULL_REQUEST_NUMBER) - - - $(GitSemVerMajor).$(GitSemVerMinor).$(GitSemVerPatch) - - $(GitSemVerMajor).$(GitSemVerMinor).$(GitBaseVersionPatch)$(GitSemVerDashLabel)-build$(GitCommits.PadLeft(4, '0')) - - - - - true - - \ No newline at end of file diff --git a/src/VisualStudio/NuGet.Packaging.VisualStudio.Shared.targets b/src/VisualStudio/NuGet.Packaging.VisualStudio.Shared.targets index 8d1a5b1..795ea43 100644 --- a/src/VisualStudio/NuGet.Packaging.VisualStudio.Shared.targets +++ b/src/VisualStudio/NuGet.Packaging.VisualStudio.Shared.targets @@ -43,7 +43,7 @@ <_NuGetizerPackage Include="$(Out)\*.nupkg" /> @@ -76,7 +76,7 @@ PrepareForBuild; CopyOutOfDateSmartTemplateContent; - GetPackageVersion; + SetVersion; FindTemplates; UpdateTemplatePackages From 943aba0f563f91ba7d74e918452da8bd333b5091 Mon Sep 17 00:00:00 2001 From: Daniel Cazzulino Date: Wed, 21 Feb 2018 05:50:55 -0300 Subject: [PATCH 3/5] Use minimal logging when getting the VS install root from build.cmd --- build.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.cmd b/build.cmd index 0299cd8..e37071a 100644 --- a/build.cmd +++ b/build.cmd @@ -59,7 +59,7 @@ if %MSBuildMajorVersion% LSS 15 ( :: Ensure developer command prompt variables are set if "%VisualStudioVersion%" == "" ( - for /f "delims=" %%i in ('msbuild build.props -nologo /t:GetVsInstallRoot') do set "VsInstallRoot=%%i" & goto :VsInstallRootDone + for /f "delims=" %%i in ('msbuild build.props /nologo /v:m /t:GetVsInstallRoot') do set "VsInstallRoot=%%i" & goto :VsInstallRootDone :VsInstallRootDone for /f "tokens=* delims= " %%i in ("%VsInstallRoot%") do set "VsInstallRoot=%%i" set "DeveloperCommandPrompt=%VsInstallRoot%\Common7\Tools\VsDevCmd.bat" From 15d1868ebab0d76471680dda99e3409608439f6f Mon Sep 17 00:00:00 2001 From: Daniel Cazzulino Date: Wed, 21 Feb 2018 05:56:10 -0300 Subject: [PATCH 4/5] Prerelease label -dev will be appended automatically now We don't need to have it hardcoded in GitInfo.txt anymore. --- GitInfo.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GitInfo.txt b/GitInfo.txt index b038896..28af839 100644 --- a/GitInfo.txt +++ b/GitInfo.txt @@ -1 +1 @@ -0.2.5-dev \ No newline at end of file +0.2.5 \ No newline at end of file From 46b97c56ba03ed5a0c042f5bc31feb797d0dbdec Mon Sep 17 00:00:00 2001 From: Daniel Cazzulino Date: Wed, 21 Feb 2018 05:59:38 -0300 Subject: [PATCH 5/5] Don't append 'undefined' label when that's the 'branch' name in a PR --- src/Directory.Build.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets index e2bd596..d7eaa61 100644 --- a/src/Directory.Build.targets +++ b/src/Directory.Build.targets @@ -46,7 +46,7 @@ AssemblyVersion=$(AssemblyVersion)" /> -$(_GitBranch) - $(_GitBranch). + $(_GitBranch). $(SemVerMetadata)sha.$(GitCommit)