mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
This adds the .cake file extension to the C# language. Here is a search in the wild: https://github.com/search?q=extension%3Acake+NOT+coffee&type=Code Cake (C# Make) is a cross platform build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages. You can find out out more about cake here: http://cakebuild.net/
86 lines
2.5 KiB
C#
86 lines
2.5 KiB
C#
///////////////////////////////////////////////////////////////////////////////
|
|
// ARGUMENTS
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
var target = Argument<string>("target", "Default");
|
|
var configuration = Argument<string>("configuration", "Release");
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// GLOBAL VARIABLES
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
var solutions = GetFiles("./**/*.sln");
|
|
var solutionPaths = solutions.Select(solution => solution.GetDirectory());
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// SETUP / TEARDOWN
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
Setup(() =>
|
|
{
|
|
// Executed BEFORE the first task.
|
|
Information("Running tasks...");
|
|
});
|
|
|
|
Teardown(() =>
|
|
{
|
|
// Executed AFTER the last task.
|
|
Information("Finished running tasks.");
|
|
});
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// TASK DEFINITIONS
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
Task("Clean")
|
|
.Does(() =>
|
|
{
|
|
// Clean solution directories.
|
|
foreach(var path in solutionPaths)
|
|
{
|
|
Information("Cleaning {0}", path);
|
|
CleanDirectories(path + "/**/bin/" + configuration);
|
|
CleanDirectories(path + "/**/obj/" + configuration);
|
|
}
|
|
});
|
|
|
|
Task("Restore")
|
|
.Does(() =>
|
|
{
|
|
// Restore all NuGet packages.
|
|
foreach(var solution in solutions)
|
|
{
|
|
Information("Restoring {0}...", solution);
|
|
NuGetRestore(solution);
|
|
}
|
|
});
|
|
|
|
Task("Build")
|
|
.IsDependentOn("Clean")
|
|
.IsDependentOn("Restore")
|
|
.Does(() =>
|
|
{
|
|
// Build all solutions.
|
|
foreach(var solution in solutions)
|
|
{
|
|
Information("Building {0}", solution);
|
|
MSBuild(solution, settings =>
|
|
settings.SetPlatformTarget(PlatformTarget.MSIL)
|
|
.WithProperty("TreatWarningsAsErrors","true")
|
|
.WithTarget("Build")
|
|
.SetConfiguration(configuration));
|
|
}
|
|
});
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// TARGETS
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
Task("Default")
|
|
.IsDependentOn("Build");
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// EXECUTION
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
RunTarget(target); |