Skip to content

Commit dd1daa3

Browse files
committed
Merge branch 'develop'
2 parents 2e533bd + 3fd2268 commit dd1daa3

File tree

6 files changed

+46
-36
lines changed

6 files changed

+46
-36
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
All notable changes to **Nuke.GitHub** are documented here.
44

5+
## v1.1.0:
6+
- Update to NUKE 0.4.0
7+
58
## v1.0.2
69
- Use the official NUKE logo for the package
710

build/.build.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<NoWarn>CS0649;CS0169</NoWarn>
1010

1111
<!-- NUKE CONFIGURATION -->
12-
<NukeVersion>0.2.0</NukeVersion>
12+
<NukeVersion>0.4.0</NukeVersion>
1313
</PropertyGroup>
1414

1515
<ItemGroup>
@@ -19,7 +19,7 @@
1919
<PackageReference Include="docfx.console" Version="2.31.0">
2020
<ExcludeAssets>build</ExcludeAssets>
2121
</PackageReference>
22-
<PackageReference Include="Nuke.WebDocu" Version="1.0.2" />
22+
<PackageReference Include="Nuke.WebDocu" Version="1.1.0" />
2323
</ItemGroup>
2424

2525
<ItemGroup>

build/Build.cs

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
using Nuke.Common.Tools.DocFx;
33
using Nuke.Common.Tools.DotNet;
44
using Nuke.Common.Tools.GitVersion;
5-
using Nuke.Core;
6-
using Nuke.Core.Utilities;
7-
using Nuke.Core.Utilities.Collections;
5+
using Nuke.Common;
6+
using Nuke.Common.Utilities;
7+
using Nuke.Common.Utilities.Collections;
88
using Nuke.GitHub;
99
using Nuke.WebDocu;
1010
using System;
@@ -15,12 +15,13 @@
1515
using static Nuke.Common.ChangeLog.ChangelogTasks;
1616
using static Nuke.Common.Tools.DocFx.DocFxTasks;
1717
using static Nuke.Common.Tools.DotNet.DotNetTasks;
18-
using static Nuke.Core.EnvironmentInfo;
19-
using static Nuke.Core.IO.FileSystemTasks;
20-
using static Nuke.Core.IO.PathConstruction;
18+
using static Nuke.Common.EnvironmentInfo;
19+
using static Nuke.Common.IO.FileSystemTasks;
20+
using static Nuke.Common.IO.PathConstruction;
2121
using static Nuke.GitHub.ChangeLogExtensions;
2222
using static Nuke.GitHub.GitHubTasks;
2323
using static Nuke.WebDocu.WebDocuTasks;
24+
using Nuke.Common.Tooling;
2425

2526
class Build : NukeBuild
2627
{
@@ -42,6 +43,9 @@ class Build : NukeBuild
4243
[Parameter] string GitHubAuthenticationToken;
4344

4445
string DocFxFile => SolutionDirectory / "docfx.json";
46+
47+
// This is used to to infer which dotnet sdk version to use when generating DocFX metadata
48+
string DocFxDotNetSdkVersion = "2.1.4";
4549
string ChangeLogFile => RootDirectory / "CHANGELOG.md";
4650

4751
Target Clean => _ => _
@@ -63,7 +67,8 @@ class Build : NukeBuild
6367
.Executes(() =>
6468
{
6569
DotNetBuild(s => DefaultDotNetBuild
66-
.SetFileVersion(GitVersion.AssemblySemVer));
70+
.SetFileVersion(GitVersion.GetNormalizedFileVersion())
71+
.SetAssemblyVersion(GitVersion.AssemblySemVer));
6772
});
6873

6974
Target Pack => _ => _
@@ -98,13 +103,12 @@ class Build : NukeBuild
98103
.DependsOn(Restore)
99104
.Executes(() =>
100105
{
101-
if (IsLocalBuild)
102-
{
103-
SetVariable("VSINSTALLDIR", @"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional");
104-
SetVariable("VisualStudioVersion", "15.0");
105-
}
106-
107-
DocFxMetadata(DocFxFile, s => s.SetLogLevel(DocFxLogLevel.Verbose));
106+
// So it uses a fixed, known version of MsBuild to generate the metadata. Otherwise,
107+
// updates of dotnet or Visual Studio could introduce incompatibilities and generation failures
108+
var dotnetPath = Path.GetDirectoryName(ToolPathResolver.GetPathExecutable("dotnet.exe"));
109+
var msBuildPath = Path.Combine(dotnetPath, "sdk", DocFxDotNetSdkVersion, "MSBuild.dll");
110+
SetVariable("MSBUILD_EXE_PATH", msBuildPath);
111+
DocFxMetadata(DocFxFile, s => s.SetLogLevel(DocFxLogLevel.Warning));
108112
});
109113

110114
Target BuildDocumentation => _ => _
@@ -122,7 +126,7 @@ class Build : NukeBuild
122126

123127
DocFxBuild(DocFxFile, s => s
124128
.ClearXRefMaps()
125-
.SetLogLevel(DocFxLogLevel.Verbose));
129+
.SetLogLevel(DocFxLogLevel.Warning));
126130

127131
File.Delete(SolutionDirectory / "index.md");
128132
Directory.Delete(SolutionDirectory / "api", true);
@@ -148,7 +152,7 @@ class Build : NukeBuild
148152
.DependsOn(Pack)
149153
.Requires(() => GitHubAuthenticationToken)
150154
.OnlyWhen(() => GitVersion.BranchName.Equals("master") || GitVersion.BranchName.Equals("origin/master"))
151-
.Executes<Task>(async () =>
155+
.Executes(() =>
152156
{
153157
var releaseTag = $"v{GitVersion.MajorMinorPatch}";
154158

@@ -159,23 +163,26 @@ class Build : NukeBuild
159163

160164
var repositoryInfo = GetGitHubRepositoryInfo(GitRepository);
161165

162-
await PublishRelease(new GitHubReleaseSettings()
163-
.SetArtifactPaths(GlobFiles(OutputDirectory, "*.nupkg").NotEmpty().ToArray())
164-
.SetCommitSha(GitVersion.Sha)
165-
.SetReleaseNotes(completeChangeLog)
166-
.SetRepositoryName(repositoryInfo.repositoryName)
167-
.SetRepositoryOwner(repositoryInfo.gitHubOwner)
168-
.SetTag(releaseTag)
169-
.SetToken(GitHubAuthenticationToken)
170-
);
166+
PublishRelease(new GitHubReleaseSettings()
167+
.SetArtifactPaths(GlobFiles(OutputDirectory, "*.nupkg").NotEmpty().ToArray())
168+
.SetCommitSha(GitVersion.Sha)
169+
.SetReleaseNotes(completeChangeLog)
170+
.SetRepositoryName(repositoryInfo.repositoryName)
171+
.SetRepositoryOwner(repositoryInfo.gitHubOwner)
172+
.SetTag(releaseTag)
173+
.SetToken(GitHubAuthenticationToken)
174+
)
175+
.ConfigureAwait(false)
176+
.GetAwaiter()
177+
.GetResult();
171178
});
172179

173180
Target Generate => _ => _
174181
.DependsOn(Restore)
175182
.Executes(() =>
176183
{
177184
GenerateCode(
178-
metadataDirectory: RootDirectory / "src" / "Nuke.GitHub" / "MetaData",
185+
specificationDirectory: RootDirectory / "src" / "Nuke.GitHub" / "MetaData",
179186
generationBaseDirectory: RootDirectory / "src" / "Nuke.GitHub",
180187
baseNamespace: "Nuke.GitHub"
181188
);

src/Nuke.GitHub/GitHubTasks.Generated.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
// Copyright Matthias Koch 2018.
1+
// Copyright Matthias Koch, Sebastian Karasek 2018.
22
// Distributed under the MIT License.
33
// https://github.com/nuke-build/nuke/blob/master/LICENSE
44

5-
// Generated with Nuke.CodeGeneration, Version: 0.2.0 [CommitSha: 2b38bd4a].
5+
// Generated with Nuke.CodeGeneration, Version: 0.4.0 [CommitSha: c494ebb7].
66

77
using JetBrains.Annotations;
8+
using Nuke.Common;
9+
using Nuke.Common.Execution;
10+
using Nuke.Common.Tooling;
811
using Nuke.Common.Tools;
9-
using Nuke.Core;
10-
using Nuke.Core.Execution;
11-
using Nuke.Core.Tooling;
12-
using Nuke.Core.Utilities.Collections;
12+
using Nuke.Common.Utilities.Collections;
1313
using System;
1414
using System.Collections.Generic;
1515
using System.Collections.ObjectModel;

src/Nuke.GitHub/GitHubTasks.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.Linq;
44
using System.Threading.Tasks;
55
using Nuke.Common.Git;
6-
using Nuke.Core;
6+
using Nuke.Common;
77
using Octokit;
88

99
namespace Nuke.GitHub

src/Nuke.GitHub/Nuke.GitHub.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<ItemGroup>
1313
<PackageReference Include="JetBrains.Annotations" Version="11.1.0" />
1414
<PackageReference Include="Octokit" Version="0.29.0" />
15-
<PackageReference Include="Nuke.Common" Version="0.2.0" />
15+
<PackageReference Include="Nuke.Common" Version="0.4.0" />
1616
</ItemGroup>
1717

1818
</Project>

0 commit comments

Comments
 (0)