Update default UmbracoVersion template value using MSBuild target #13481
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Prerequisites
Description
Local package builds of the
Umbraco.Templates
project didn't produce the same output as the Azure Pipelines build, because the the defaultUmbracoVersion
template value was only updated in the build scipt.This made testing local builds of the templates harder, as you need to explicitly specify the (preview) version when creating a new project, as you can see in PR #13460.
This PR moves the custom build script to an MSBuild
JsonPathUpdateValue
task (provided by theUmbraco.JsonSchema.Extensions
package) to transform/merge all thetemplate.json
files to contain the same package version as is being built.Testing should be done with both a local (
dotnet pack --configuration Release --output build.out
) and CI build (downloading the nupkg artifacts) by:template.json
files inUmbraco.Templates.*.nupkg
have the correct version insymbols.UmbracoVersion.defaultValue
;dotnet new install build.out\Umbraco.Templates.*.nupkg
;Umbraco.Cms
as the template:dotnet new umbraco
(you might need to add a NuGet config file pointing to the locally built packages:dotnet new nugetconfig
anddotnet nuget add source ./build.out --name Local
).