mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +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); |