98 lines
6.8 KiB
Plaintext
98 lines
6.8 KiB
Plaintext
|
<?xml version="1.0" encoding="utf-8"?>
|
||
|
|
||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||
|
<PropertyGroup>
|
||
|
<GitVersionOutputFile Condition="'$(GitVersionOutputFile)' == ''">$([MSBuild]::EnsureTrailingSlash($(BaseIntermediateOutputPath)))gitversion.json</GitVersionOutputFile>
|
||
|
|
||
|
<Language Condition=" '$(Language)' == '' Or '$(DefaultLanguageSourceExtension)' == ''">C#</Language>
|
||
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)/../</SolutionDir>
|
||
|
<GitVersionPath Condition="'$(GitVersionPath)' == '' And '$(GitVersionUseSolutionDir)' == 'true'">$(SolutionDir)</GitVersionPath>
|
||
|
<GitVersionPath Condition="'$(GitVersionPath)' == ''">$(MSBuildProjectDirectory)</GitVersionPath>
|
||
|
|
||
|
<GitVersion_NoFetchEnabled Condition="$(GitVersion_NoFetchEnabled) == ''">false</GitVersion_NoFetchEnabled>
|
||
|
<GitVersion_NoNormalizeEnabled Condition="$(GitVersion_NoNormalizeEnabled) == ''">false</GitVersion_NoNormalizeEnabled>
|
||
|
<GitVersion_NoCacheEnabled Condition="$(GitVersion_NoCacheEnabled) == ''">false</GitVersion_NoCacheEnabled>
|
||
|
|
||
|
<GitVersion_ToolArgments>$(GitVersion_CommandLineArguments) -output file -outputfile $(GitVersionOutputFile)</GitVersion_ToolArgments>
|
||
|
<GitVersion_ToolArgments Condition=" '$(GitVersion_NoFetchEnabled)' == 'true' ">$(GitVersion_ToolArgments) -nofetch</GitVersion_ToolArgments>
|
||
|
<GitVersion_ToolArgments Condition=" '$(GitVersion_NoNormalizeEnabled)' == 'true' ">$(GitVersion_ToolArgments) -nonormalize</GitVersion_ToolArgments>
|
||
|
<GitVersion_ToolArgments Condition=" '$(GitVersion_NoCacheEnabled)' == 'true' ">$(GitVersion_ToolArgments) -nocache</GitVersion_ToolArgments>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<PropertyGroup Condition="'$(MSBuildRuntimeType)' == 'Full' Or '$(MSBuildRuntimeType)' == 'Mono'">
|
||
|
<GitVersionFileExe>"$(SolutionDir)BuildTools/GitVersion/net48/gitversion.exe"</GitVersionFileExe>
|
||
|
<GitVersionAssemblyFile>$(SolutionDir)BuildTools/GitVersion/net48/GitVersion.MsBuild.dll</GitVersionAssemblyFile>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<PropertyGroup>
|
||
|
<GitVersionFileExe Condition="'$(GitVersionFileExe)' == ''">dotnet --roll-forward Major "$(MSBuildThisFileDirectory)netcoreapp3.1/gitversion.dll"</GitVersionFileExe>
|
||
|
<GitVersionAssemblyFile Condition="'$(GitVersionAssemblyFile)' == ''">$(MSBuildThisFileDirectory)netcoreapp3.1/GitVersion.MsBuild.dll</GitVersionAssemblyFile>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<PropertyGroup>
|
||
|
<DisableGitVersionTask Condition=" '$(DisableGitVersionTask)' == '' ">false</DisableGitVersionTask>
|
||
|
|
||
|
<!-- Property that enables WriteVersionInfoToBuildLog -->
|
||
|
<WriteVersionInfoToBuildLog Condition=" '$(DisableGitVersionTask)' == 'true' ">false</WriteVersionInfoToBuildLog>
|
||
|
<WriteVersionInfoToBuildLog Condition=" '$(WriteVersionInfoToBuildLog)' == '' ">true</WriteVersionInfoToBuildLog>
|
||
|
|
||
|
<!-- Property that enables UpdateAssemblyInfo. -->
|
||
|
<UpdateAssemblyInfo Condition=" '$(DisableGitVersionTask)' == 'true' ">false</UpdateAssemblyInfo>
|
||
|
<UpdateAssemblyInfo Condition=" '$(UpdateAssemblyInfo)' == '' ">true</UpdateAssemblyInfo>
|
||
|
<GenerateAssemblyFileVersionAttribute Condition=" '$(UpdateAssemblyInfo)' == 'true' ">false</GenerateAssemblyFileVersionAttribute>
|
||
|
<GenerateAssemblyInformationalVersionAttribute Condition=" '$(UpdateAssemblyInfo)' == 'true' ">false</GenerateAssemblyInformationalVersionAttribute>
|
||
|
<GenerateAssemblyVersionAttribute Condition=" '$(UpdateAssemblyInfo)' == 'true' ">false</GenerateAssemblyVersionAttribute>
|
||
|
|
||
|
<!-- Property that enables GenerateGitVersionInformation -->
|
||
|
<GenerateGitVersionInformation Condition=" '$(DisableGitVersionTask)' == 'true' ">false</GenerateGitVersionInformation>
|
||
|
<!--
|
||
|
During XAML's "GenerateTemporaryTargetAssembly" a new project file is generated and compiled
|
||
|
which already contains the "GeneratedCodeFiles", i.e. GitVersionInformation.g.cs.
|
||
|
Then, when GenerateGitVersionInformation is called in this temp-build, the file is added another time, which results in an error at CSC.
|
||
|
Here we try to detect this situation and prevent GenerateGitVersionInformation from running.
|
||
|
(The global property "_TargetAssemblyProjectName" is injected by XAML's above-mentioned task)
|
||
|
-->
|
||
|
<GenerateGitVersionInformation Condition=" '$(GenerateGitVersionInformation)' == '' And '$(_TargetAssemblyProjectName)' != '' ">false</GenerateGitVersionInformation>
|
||
|
<GenerateGitVersionInformation Condition=" '$(GenerateGitVersionInformation)' == '' ">true</GenerateGitVersionInformation>
|
||
|
<!--
|
||
|
Compounding on the previous "GenerateTemporaryTargetAssembly" explanation, "UpdateAssemblyInfo" is
|
||
|
also called in this temp-build. This results in a warning since we already updated assembly info.
|
||
|
Prevent UpdateAssemblyInfo from running a second time.
|
||
|
-->
|
||
|
<UpdateAssemblyInfo Condition=" '$(UpdateAssemblyInfo)' == 'true' And '$(_TargetAssemblyProjectName)' != '' ">false</UpdateAssemblyInfo>
|
||
|
|
||
|
<!-- Property that enables GetVersion -->
|
||
|
<GetVersion Condition=" '$(DisableGitVersionTask)' == 'true' ">false</GetVersion>
|
||
|
<GetVersion Condition=" '$(GetVersion)' == '' ">true</GetVersion>
|
||
|
|
||
|
<GenerateGitVersionWixDefines Condition=" '$(DisableGitVersionTask)' == 'true' ">false</GenerateGitVersionWixDefines>
|
||
|
<GenerateGitVersionWixDefines Condition=" '$(GenerateGitVersionWixDefines)' == '' ">true</GenerateGitVersionWixDefines>
|
||
|
|
||
|
<!-- Property that enables setting of Version -->
|
||
|
<UpdateVersionProperties Condition=" '$(DisableGitVersionTask)' == 'true' ">false</UpdateVersionProperties>
|
||
|
<UpdateVersionProperties Condition=" '$(UpdateVersionProperties)' == '' ">true</UpdateVersionProperties>
|
||
|
|
||
|
<UseFullSemVerForNuGet Condition=" '$(UseFullSemVerForNuGet)' == '' ">true</UseFullSemVerForNuGet>
|
||
|
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<PropertyGroup>
|
||
|
<GitVersionTargetsBefore>
|
||
|
BeforeCompile;
|
||
|
CoreCompile;
|
||
|
GetAssemblyVersion;
|
||
|
GenerateNuspec;
|
||
|
_GenerateRestoreProjectSpec;
|
||
|
_GetOutputItemsFromPack;
|
||
|
EnsureWixToolsetInstalled
|
||
|
</GitVersionTargetsBefore>
|
||
|
<!--
|
||
|
Ensure GetVersion runs prior to XAML's Markup Compiler in order to have the assembly version available.
|
||
|
Otherwise the generated resource URI's are ambiguous when multiple versions are loaded simultaneously (i.e. in plugins)
|
||
|
-->
|
||
|
<MarkupCompilePass1DependsOn>$(MarkupCompilePass1DependsOn);GetVersion;UpdateAssemblyInfo;GenerateGitVersionInformation</MarkupCompilePass1DependsOn>
|
||
|
<GetPackageVersionDependsOn>$(GetPackageVersionDependsOn);GetVersion</GetPackageVersionDependsOn>
|
||
|
|
||
|
</PropertyGroup>
|
||
|
</Project>
|