Private GIT

Skip to content
Snippets Groups Projects
Select Git revision
4 results Searching

build.cake

Blame
  • build.cake 8.13 KiB
    #tool nuget:?package=NUnit.ConsoleRunner
    #addin nuget:?package=Cake.FileHelpers
    #addin nuget:?package=Cake.Git
    
    //////////////////////////////////////////////////////////////////////
    // ARGUMENTS
    //////////////////////////////////////////////////////////////////////
    
    var target = Argument("target", "Default");
    var configuration = Argument("configuration", "Release");
    
    //////////////////////////////////////////////////////////////////////
    // PREPARATION
    //////////////////////////////////////////////////////////////////////
    
    // Define directories.
    var workingDir = MakeAbsolute(Directory("./"));
    var artifactsDirName = "Artifacts";
    var testResultsDirName = "TestResults";
    
    var windowsBuildFullFramework = "./BuildOutput/FullFramework/Windows";
    var monoBuildFullFramework = "./BuildOutput/FullFramework/Mono";
    
    //////////////////////////////////////////////////////////////////////
    // TASKS
    //////////////////////////////////////////////////////////////////////
    
    Task("Info")
    	.Does(() =>
    	{
    		Information(@"Jackett Cake build script starting...");
    		Information(@"Requires InnoSetup and C:\cygwin to be present for packaging (Pre-installed on AppVeyor)");
    		Information(@"Working directory is: " + workingDir);
    	});
    
    Task("Clean")
    	.IsDependentOn("Info")
    	.Does(() =>
    	{
    		CleanDirectories("./src/**/obj" + configuration);
    		CleanDirectories("./src/**/bin" + configuration);
    		CleanDirectories("./BuildOutput");
    		CleanDirectories("./" + artifactsDirName);
    		CleanDirectories("./" + testResultsDirName);
    
    		Information("Clean completed");
    	});
    
    Task("Restore-NuGet-Packages")
    	.IsDependentOn("Clean")
    	.Does(() =>
    	{
    		NuGetRestore("./src/Jackett.sln");
    	});
    
    Task("Build")
    	.IsDependentOn("Restore-NuGet-Packages")
    	.Does(() =>
    	{
    		MSBuild("./src/Jackett.sln", settings => settings.SetConfiguration(configuration));
    	});
    
    Task("Run-Unit-Tests")
    	.IsDependentOn("Build")
    	.Does(() =>
    	{
    		CreateDirectory("./" + testResultsDirName);
    		var resultsFile = $"./{testResultsDirName}/JackettTestResult.xml";
    
    		NUnit3("./src/**/bin/" + configuration + "/**/*.Test.dll", new NUnit3Settings