-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathIBuildConsole.cs
36 lines (32 loc) · 1.38 KB
/
IBuildConsole.cs
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
using Nuke.Common;
using Nuke.Common.IO;
using Nuke.Common.Utilities.Collections;
using ricaun.Nuke.Components;
using ricaun.Nuke.Extensions;
public interface IBuildConsole : IHazExample, IRevitPackageBuilder
{
Target BuildConsole => _ => _
.TriggeredBy(PackageBuilder)
.Before(Release)
.Executes(() =>
{
var project = Solution.GetOtherProject("DesignAutomationConsole");
var releaseDirectory = GetReleaseDirectory(MainProject);
Globbing.GlobFiles(releaseDirectory, "**/*.bundle.zip")
.ForEach(file =>
{
var resourcesDirectory = project.Directory / "Bundle";
Serilog.Log.Information($"Copy Bundle: {file} to {resourcesDirectory}");
AbsolutePathExtensions.CopyToDirectory(file, resourcesDirectory, ExistsPolicy.FileOverwriteIfNewer);
});
Solution.BuildProject(project, (project) =>
{
SignProject(project);
var fileName = project.Name;
var version = project.GetInformationalVersion();
var exampleDirectory = GetExampleDirectory(project);
var releaseFileName = CreateReleaseFromDirectory(exampleDirectory, fileName, version);
Serilog.Log.Information($"Release: {releaseFileName}");
});
});
}