-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathDirectory.Build.props
130 lines (111 loc) · 5.93 KB
/
Directory.Build.props
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<Project>
<!-- Set the repository root into a variable -->
<PropertyGroup>
<SourceRoot>$(MSBuildThisFileDirectory)</SourceRoot>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>
<!-- Set common properties regarding assembly information and nuget packages -->
<PropertyGroup>
<Authors>Yevhen Bobrov</Authors>
<Product>Nake</Product>
<Copyright>since 2013 © Yevhen Bobrov. All rights reserved.</Copyright>
<PackageProjectUrl>https://github.com/yevhen/Nake</PackageProjectUrl>
<PackageTags>C# Scripting Build Automation Task Runner</PackageTags>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<RepositoryUrl>https://github.com/yevhen/Nake</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<IncludeSymbols>true</IncludeSymbols>
<IncludeSource>true</IncludeSource>
<IsPackable>false</IsPackable>
</PropertyGroup>
<!-- Common compile parameters -->
<PropertyGroup>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>$(NoWarn);1591</NoWarn>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<DebugType>portable</DebugType>
</PropertyGroup>
<!-- Common project props -->
<PropertyGroup>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<LangVersion>11.0</LangVersion>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net8</TargetFramework>
<ConsoleProjectTargetFramework>net8</ConsoleProjectTargetFramework>
<TestProjectTargetFramework>$(ConsoleProjectTargetFramework)</TestProjectTargetFramework>
</PropertyGroup>
<!-- Shared Package Versions -->
<PropertyGroup>
<!-- Infrastructure packages -->
<MedallionShellVersion>1.6.2</MedallionShellVersion>
<DotnetScriptDependencyModelVersion>1.5.0</DotnetScriptDependencyModelVersion>
<DotnetScriptDependencyModelNugetVersion>1.5.0</DotnetScriptDependencyModelNugetVersion>
<!-- MSBuild packages -->
<MicrosoftBuildVersion>17.8.3</MicrosoftBuildVersion>
<MicrosoftBuildTasksCoreVersion>17.8.3</MicrosoftBuildTasksCoreVersion>
<MicrosoftBuildUtilitiesCoreVersion>17.8.3</MicrosoftBuildUtilitiesCoreVersion>
<!-- Conflicted dependencies -->
<MicrosoftWin32RegistryVersion>5.0.0</MicrosoftWin32RegistryVersion>
<SystemCodeDomVersion>8.0.0</SystemCodeDomVersion>
<SystemSecurityPrincipalWindowsVersion>5.0.0</SystemSecurityPrincipalWindowsVersion>
<SystemSecurityCryptographyProtectedDataVersion>8.0.0</SystemSecurityCryptographyProtectedDataVersion>
<!-- Roslyn packages -->
<MicrosoftCodeAnalysisScriptingVersion>4.8.0</MicrosoftCodeAnalysisScriptingVersion>
<!-- Microsoft extensions -->
<MicrosoftExtensionsLoggingVersion>2.1.1</MicrosoftExtensionsLoggingVersion>
<MicrosoftExtensionsLoggingConsoleVersion>2.1.1</MicrosoftExtensionsLoggingConsoleVersion>
<!-- Testing packages -->
<NUnitVersion>4.0.1</NUnitVersion>
<NUnit3TestAdapterVersion>4.5.0</NUnit3TestAdapterVersion>
<MicrosoftNETTestSdkVersion>17.8.0</MicrosoftNETTestSdkVersion>
<PowerAssertVersion>1.0.79</PowerAssertVersion>
<!-- Tooling related packages -->
<SourceLinkVersion>2.7.6</SourceLinkVersion>
</PropertyGroup>
<!-- Versioning properties -->
<PropertyGroup>
<VersionPrefix Condition=" '$(VersionPrefix)'=='' ">3.0.0</VersionPrefix>
<VersionSuffix Condition=" '$(VersionSuffix)'=='' ">dev</VersionSuffix>
</PropertyGroup>
<!-- For Debug builds generated a date/time dependent version suffix -->
<PropertyGroup Condition=" '$(Configuration)'=='Debug' ">
<VersionSuffix Condition=" '$(VersionSuffix)'=='' ">dev</VersionSuffix>
<VersionSuffix Condition=" '$(VersionDateSuffix)'!='' ">$(VersionSuffix)-$(VersionDateSuffix)</VersionSuffix>
</PropertyGroup>
<!-- Set output folder for created NuGet packages -->
<PropertyGroup>
<PackageOutputPath Condition=" '$(PackageOutputPath)'=='' ">$(SourceRoot)Artifacts\$(Configuration)</PackageOutputPath>
</PropertyGroup>
<Choose>
<When Condition="'$(OfficialBuild)' != 'true'">
<!-- On non-official builds we don't burn in a git sha. In large part because it
hurts our determinism efforts as binaries which should be the same between
builds will not (due to developers building against different HEAD values -->
<PropertyGroup>
<GitHeadSha><developer build></GitHeadSha>
</PropertyGroup>
</When>
<When Condition="'$(BUILD_SOURCEVERSION)' != ''">
<PropertyGroup>
<GitHeadSha>$(BUILD_SOURCEVERSION)</GitHeadSha>
</PropertyGroup>
</When>
<When Condition="'$(BUILD_SOURCEVERSION)' == '' AND '$(GIT_COMMIT)' != ''">
<PropertyGroup>
<GitHeadSha>$(GIT_COMMIT)</GitHeadSha>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<GitHeadSha>Not found</GitHeadSha>
<DotGitDir>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory).git'))</DotGitDir>
<HeadFileContent Condition="Exists('$(DotGitDir)/HEAD')">$([System.IO.File]::ReadAllText('$(DotGitDir)/HEAD').Trim())</HeadFileContent>
<RefPath Condition="$(HeadFileContent.StartsWith('ref: '))">$(DotGitDir)/$(HeadFileContent.Substring(5))</RefPath>
<GitHeadSha Condition="'$(RefPath)' != '' AND Exists('$(RefPath)')">$([System.IO.File]::ReadAllText('$(RefPath)').Trim())</GitHeadSha>
<GitHeadSha Condition="'$(HeadFileContent)' != '' AND '$(RefPath)' == ''">$(HeadFileContent)</GitHeadSha>
</PropertyGroup>
</Otherwise>
</Choose>
</Project>