Skip to content

Commit 944af72

Browse files
author
Anton Kasyanov
committed
Merge branch 'develop'
2 parents e40cbf6 + 3329b6c commit 944af72

File tree

119 files changed

+1250
-144
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+1250
-144
lines changed

Eve-O-Preview/packages.config

-9
This file was deleted.

README.md

+106-52
Large diffs are not rendered by default.

assets/PartnerBadge.png

79.5 KB
Loading

build/Build.csproj

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>netcoreapp3.1</TargetFramework>
6+
<PackAsTool>true</PackAsTool>
7+
8+
<!-- Make sure start same folder .NET Core CLI and Visual Studio -->
9+
<RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
10+
<Configurations>Debug;Release;Build</Configurations>
11+
</PropertyGroup>
12+
13+
<ItemGroup>
14+
<None Remove="Themes\Github\Theme.css" />
15+
<None Remove="Themes\Github\Theme.html" />
16+
</ItemGroup>
17+
18+
<ItemGroup>
19+
<Content Include="Themes\Github\Theme.css">
20+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
21+
</Content>
22+
<Content Include="Themes\Github\Theme.html">
23+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
24+
</Content>
25+
</ItemGroup>
26+
27+
<ItemGroup>
28+
<PackageReference Include="Cake.Frosting" Version="1.0.0-rc0002" />
29+
<PackageReference Include="Cake.MarkdownToPdf" Version="2.5.2" />
30+
</ItemGroup>
31+
32+
</Project>

build/Configuration.cs

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
namespace Build
2+
{
3+
static class Configuration
4+
{
5+
public const string SolutionName = @"./src/EVE-O-Preview.sln";
6+
7+
public const string BinFolder = @"./bin";
8+
public const string ToolsFolder = @"./tools";
9+
public const string PublishFolder = @"./publish";
10+
public const string BuildConfiguration = @"Release";
11+
12+
public const string BuildToolPath = @"c:\Developer Tools\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe"; // Set to NULL to let Cake to try to use the default MSBuild instance
13+
}
14+
}

build/Context.cs

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using Cake.Core;
2+
using Cake.Frosting;
3+
4+
namespace Build
5+
{
6+
public class Context : FrostingContext
7+
{
8+
public Context(ICakeContext context)
9+
: base(context)
10+
{
11+
}
12+
}
13+
}

build/Lifetime.cs

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
using Cake.Common.Diagnostics;
2+
using Cake.Common.IO;
3+
using Cake.Common.Net;
4+
using Cake.Core;
5+
using Cake.Core.IO;
6+
using Cake.Frosting;
7+
8+
namespace Build
9+
{
10+
public sealed class Lifetime : FrostingLifetime<Context>
11+
{
12+
private const string NuGetUrl = @"https://dist.nuget.org/win-x86-commandline/latest/nuget.exe";
13+
14+
private void DeleteDirectory(Context context, string directoryName)
15+
{
16+
if (!context.DirectoryExists(directoryName))
17+
{
18+
return;
19+
}
20+
21+
context.DeleteDirectory(directoryName, new DeleteDirectorySettings { Force = true, Recursive = true });
22+
}
23+
24+
private void DownloadNuGet(Context context)
25+
{
26+
if (context.FileExists(Configuration.ToolsFolder + "/nuget.exe"))
27+
{
28+
return;
29+
}
30+
31+
if (!context.DirectoryExists(Configuration.ToolsFolder))
32+
{
33+
context.CreateDirectory(Configuration.ToolsFolder);
34+
}
35+
36+
var tempFile = context.DownloadFile(NuGetUrl);
37+
context.CopyFile(tempFile, new FilePath(Configuration.ToolsFolder + "/nuget.exe"));
38+
}
39+
40+
public override void Setup(Context context)
41+
{
42+
context.Information("Setting things up...");
43+
44+
context.Information("Delete bin and publish folders");
45+
this.DeleteDirectory(context, Configuration.BinFolder);
46+
this.DeleteDirectory(context, Configuration.PublishFolder);
47+
48+
context.Information("Download NuGet");
49+
this.DownloadNuGet(context);
50+
51+
}
52+
53+
public override void Teardown(Context context, ITeardownContext info)
54+
{
55+
context.Information("Tearing things down...");
56+
//this.DeleteDirectory(context, ToolsDirectoryName);
57+
}
58+
}
59+
}

build/Program.cs

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using Cake.Frosting;
2+
using Microsoft.Extensions.DependencyInjection;
3+
4+
namespace Build
5+
{
6+
public class Program : IFrostingStartup
7+
{
8+
public static int Main(string[] args)
9+
=> new CakeHost()
10+
.UseStartup<Program>()
11+
.Run(args);
12+
13+
public void Configure(IServiceCollection services)
14+
{
15+
services.UseContext<Context>();
16+
services.UseLifetime<Lifetime>();
17+
18+
//move up from build directory and searching for sln or csproj files
19+
services.UseWorkingDirectory("..");
20+
}
21+
}
22+
}

build/Tasks/Build.cs

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using Cake.Common.Diagnostics;
2+
using Cake.Common.Tools.MSBuild;
3+
using Cake.Frosting;
4+
5+
namespace Build.Tasks
6+
{
7+
[Dependency(typeof(Restore))]
8+
public sealed class Build : FrostingTask<Context>
9+
{
10+
public override void Run(Context context)
11+
{
12+
context.Information("Build started...");
13+
14+
context.MSBuild(Configuration.SolutionName, settings =>
15+
{
16+
settings.Configuration = Configuration.BuildConfiguration;
17+
settings.ToolVersion = MSBuildToolVersion.Default;
18+
19+
if (!string.IsNullOrEmpty(Configuration.BuildToolPath))
20+
{
21+
settings.ToolPath = Configuration.BuildToolPath;
22+
}
23+
});
24+
}
25+
}
26+
}

build/Tasks/Default.cs

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using Cake.Frosting;
2+
3+
namespace Build.Tasks
4+
{
5+
[Dependency(typeof(Zip))]
6+
public sealed class Default : FrostingTask<Context>
7+
{
8+
}
9+
}

build/Tasks/Documentation.cs

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using Cake.Common.Diagnostics;
2+
using Cake.Frosting;
3+
using Cake.MarkdownToPdf;
4+
using Markdig;
5+
6+
namespace Build.Tasks
7+
{
8+
public sealed class Documentation : FrostingTask<Context>
9+
{
10+
public override void Run(Context context)
11+
{
12+
context.Information("Convert README.MD");
13+
14+
context.MarkdownFileToPdf("readme.md", Configuration.BinFolder + "/readme.pdf", settings =>
15+
{
16+
settings.Theme = Themes.Github;
17+
settings.UseAdvancedMarkdownTables();
18+
settings.MarkdownPipeline.UseGridTables();
19+
});
20+
}
21+
}
22+
}

build/Tasks/Restore.cs

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using Cake.Common.Diagnostics;
2+
using Cake.Common.Tools.NuGet;
3+
using Cake.Common.Tools.NuGet.Restore;
4+
using Cake.Frosting;
5+
6+
namespace Build.Tasks
7+
{
8+
[Dependency(typeof(Documentation))]
9+
public sealed class Restore : FrostingTask<Context>
10+
{
11+
public override void Run(Context context)
12+
{
13+
context.Information("Restore started...");
14+
context.NuGetRestore(Configuration.SolutionName, new NuGetRestoreSettings { NoCache = true });
15+
}
16+
}
17+
}

build/Tasks/Zip.cs

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using Cake.Common.IO;
2+
using Cake.Frosting;
3+
4+
namespace Build.Tasks
5+
{
6+
[Dependency(typeof(Build))]
7+
public sealed class Zip : FrostingTask<Context>
8+
{
9+
public override void Run(Context context)
10+
{
11+
if (!context.DirectoryExists(Configuration.PublishFolder))
12+
{
13+
context.CreateDirectory(Configuration.PublishFolder);
14+
}
15+
16+
context.Zip(Configuration.BinFolder, Configuration.PublishFolder + "/EVE-O Preview.zip",
17+
new[] { Configuration.BinFolder + "/EVE-O Preview.exe", Configuration.BinFolder + "/readme.pdf" });
18+
}
19+
}
20+
}

0 commit comments

Comments
 (0)