diff options
Diffstat (limited to 'src/Directory.Build.targets')
-rw-r--r-- | src/Directory.Build.targets | 41 |
1 files changed, 29 insertions, 12 deletions
diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets index c426f25e..11ebc2e0 100644 --- a/src/Directory.Build.targets +++ b/src/Directory.Build.targets | |||
@@ -1,12 +1,14 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> |
3 | <!-- | 3 | |
4 | Do NOT modify this file. Update the canonical version in Home\repo-template\src\Directory.Build.targets | ||
5 | then update all of the repos. | ||
6 | --> | ||
7 | <Project> | 4 | <Project> |
5 | <!-- <ItemGroup> | ||
6 | <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" /> | ||
7 | <PackageReference Include="GitInfo" Version="2.1.2" PrivateAssets="All" /> | ||
8 | </ItemGroup> --> | ||
9 | |||
8 | <PropertyGroup> | 10 | <PropertyGroup> |
9 | <SigningToolFolder>$(BaseOutputPath)obj\.tools</SigningToolFolder> | 11 | <SigningToolFolder>$(ToolsFolder)</SigningToolFolder> |
10 | <SigningToolExe>$(SigningToolFolder)\SignClient.exe</SigningToolExe> | 12 | <SigningToolExe>$(SigningToolFolder)\SignClient.exe</SigningToolExe> |
11 | <SigningFilelist>$(SigningToolFolder)\empty-filelist.txt</SigningFilelist> | 13 | <SigningFilelist>$(SigningToolFolder)\empty-filelist.txt</SigningFilelist> |
12 | <SigningConfiguration>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), signing.json))\signing.json</SigningConfiguration> | 14 | <SigningConfiguration>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), signing.json))\signing.json</SigningConfiguration> |
@@ -20,11 +22,19 @@ | |||
20 | </PropertyGroup> | 22 | </PropertyGroup> |
21 | </Target> | 23 | </Target> |
22 | 24 | ||
23 | <Target Name="__SetPropertiesFromGit" DependsOnTargets="GitVersion"> | 25 | <PropertyGroup> |
26 | <GetPackageVersionDependsOn> | ||
27 | $(GetPackageVersionDependsOn); | ||
28 | __SetPropertiesFromGit; | ||
29 | </GetPackageVersionDependsOn> | ||
30 | </PropertyGroup> | ||
31 | |||
32 | <Target Name="__SetPropertiesFromGit" DependsOnTargets="GitVersion" Condition=" '$(GitInfoImported)'=='true' "> | ||
24 | <PropertyGroup> | 33 | <PropertyGroup> |
25 | <AssemblyVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).0.0</AssemblyVersion> | 34 | <AssemblyVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).0.0</AssemblyVersion> |
26 | <FileVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch).$(GitCommits)</FileVersion> | 35 | <FileVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch).$(GitCommits)</FileVersion> |
27 | <PackageVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch)$(GitSemVerDashLabel)</PackageVersion> | 36 | <PackageVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch)$(GitSemVerDashLabel)</PackageVersion> |
37 | <Version>$(PackageVersion)</Version> | ||
28 | <InformationalVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch)$(GitSemVerDashLabel)+$(GitSha)</InformationalVersion> | 38 | <InformationalVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch)$(GitSemVerDashLabel)+$(GitSha)</InformationalVersion> |
29 | <!-- We already included the $(GitSha) in the informational version so do not include it again. --> | 39 | <!-- We already included the $(GitSha) in the informational version so do not include it again. --> |
30 | <IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion> | 40 | <IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion> |
@@ -42,6 +52,7 @@ | |||
42 | <PropertyGroup> | 52 | <PropertyGroup> |
43 | <GenerateNuspecDependsOn> | 53 | <GenerateNuspecDependsOn> |
44 | $(GenerateNuspecDependsOn); | 54 | $(GenerateNuspecDependsOn); |
55 | __SetPropertiesFromGit; | ||
45 | __SetNuspecProperties | 56 | __SetNuspecProperties |
46 | </GenerateNuspecDependsOn> | 57 | </GenerateNuspecDependsOn> |
47 | </PropertyGroup> | 58 | </PropertyGroup> |
@@ -51,10 +62,14 @@ | |||
51 | <PropertyGroup> | 62 | <PropertyGroup> |
52 | <ProjectUrl Condition=" '$(ProjectUrl)'=='' and '$(GitRepositoryUrl)'!='' ">$(GitRepositoryUrl.Replace('.git',''))</ProjectUrl> | 63 | <ProjectUrl Condition=" '$(ProjectUrl)'=='' and '$(GitRepositoryUrl)'!='' ">$(GitRepositoryUrl.Replace('.git',''))</ProjectUrl> |
53 | 64 | ||
54 | <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile> | 65 | <NuspecFile Condition=" '$(NuspecFile)'=='' ">$(MSBuildProjectName).nuspec</NuspecFile> |
55 | <NuspecBasePath Condition=" '$(NuspecBasePath)'=='' ">$([System.IO.Path]::GetFullPath($(OutputPath)..))\</NuspecBasePath> | 66 | <PackageId Condition=" '$(PackageId)'=='' ">$(MSBuildProjectName)</PackageId> |
56 | <NuspecProperties>$(NuspecProperties);Id=$(PackageId);Authors="$(Authors)";Configuration=$(Configuration);Copyright="$(Copyright)";Description="$(Description)";Title="$(Title)"</NuspecProperties> | 67 | <Title Condition=" '$(Title)'=='' ">$(Description)</Title> |
57 | <NuspecProperties>$(NuspecProperties);Version=$(PackageVersion);RepositoryCommit=$(GitSha);RepositoryType=git;RepositoryUrl=$(GitRepositoryUrl);ProjectFolder=$(MSBuildProjectDirectory)\;ProjectUrl=$(ProjectUrl)</NuspecProperties> | 68 | <NuspecBasePath Condition=" '$(NuspecBasePath)'=='' ">$(OutputPath)</NuspecBasePath> |
69 | <NuspecProperties>$(NuspecProperties);Id=$(PackageId);Version=$(PackageVersion);Authors=$(Authors);Configuration=$(Configuration)</NuspecProperties> | ||
70 | <NuspecProperties>$(NuspecProperties);Copyright=$(Copyright);Description=$(Description);Title=$(Title)</NuspecProperties> | ||
71 | <NuspecProperties>$(NuspecProperties);RepositoryType=git;RepositoryCommit=$(GitSha);RepositoryUrl=$(GitRepositoryUrl)</NuspecProperties> | ||
72 | <NuspecProperties>$(NuspecProperties);ProjectUrl=$(ProjectUrl);ProjectFolder=$(MSBuildProjectDirectory)</NuspecProperties> | ||
58 | <PublishRepositoryUrl>true</PublishRepositoryUrl> | 73 | <PublishRepositoryUrl>true</PublishRepositoryUrl> |
59 | <SymbolPackageFormat>snupkg</SymbolPackageFormat> | 74 | <SymbolPackageFormat>snupkg</SymbolPackageFormat> |
60 | </PropertyGroup> | 75 | </PropertyGroup> |
@@ -69,12 +84,14 @@ | |||
69 | 84 | ||
70 | <Target Name="PackNative" DependsOnTargets="__SetNuspecProperties" | 85 | <Target Name="PackNative" DependsOnTargets="__SetNuspecProperties" |
71 | Condition=" Exists('$(MSBuildProjectName).nuspec') "> | 86 | Condition=" Exists('$(MSBuildProjectName).nuspec') "> |
87 | <Error Text="There must be package reference to 'GitInfo'. Ensure the project was restored as well." | ||
88 | Condition=" '$(GitInfoImported)'!='true' " /> | ||
72 | 89 | ||
73 | <Exec Command='nuget pack $(NuspecFile) -OutputDirectory "$(BaseOutputPath)$(Configuration)" -BasePath "$(NuspecBasePath)" -Properties $(NuspecProperties)' | 90 | <Exec Command='nuget pack $(NuspecFile) -OutputDirectory "$(PackageOutputPath.Trim("\"))" -BasePath $(NuspecBasePath) -Properties "$(NuspecProperties)"' |
74 | WorkingDirectory="$(MSBuildProjectDirectory)" /> | 91 | WorkingDirectory="$(MSBuildProjectDirectory)" /> |
75 | 92 | ||
76 | <ItemGroup> | 93 | <ItemGroup> |
77 | <NuGetPackOutput Include="$(BaseOutputPath)$(Configuration)\**\$(PackageId)*.nupkg" /> | 94 | <NuGetPackOutput Include="$(PackageOutputPath)\$(PackageId).$(PackageVersion).nupkg" /> |
78 | </ItemGroup> | 95 | </ItemGroup> |
79 | </Target> | 96 | </Target> |
80 | 97 | ||