From 2f1d2b61c8a46bf7b255c1a4eea87ea186c10eab Mon Sep 17 00:00:00 2001 From: Alistair Chapman Date: Fri, 11 Aug 2017 02:46:19 +1000 Subject: [PATCH] Add build script --- build.cake | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 build.cake diff --git a/build.cake b/build.cake new file mode 100644 index 0000000..22aaf7d --- /dev/null +++ b/build.cake @@ -0,0 +1,70 @@ +#addin nuget:?package=Cake.Yarn +#addin nuget:?package=Cake.Npm +#addin nuget:?package=Cake.Gulp + +/////////////////////////////////////////////////////////////////////////////// +// ARGUMENTS +/////////////////////////////////////////////////////////////////////////////// + +var target = Argument("target", "Default"); + +/////////////////////////////////////////////////////////////////////////////// +// SETUP / TEARDOWN +/////////////////////////////////////////////////////////////////////////////// + +Setup(ctx => +{ + // Executed BEFORE the first task. + Information("Running tasks..."); +}); + +Teardown(ctx => +{ + // Executed AFTER the last task. + Information("Finished running tasks."); +}); + +/////////////////////////////////////////////////////////////////////////////// +// TASKS +/////////////////////////////////////////////////////////////////////////////// + +Task("Install") +.Does(() => { + Yarn.Install(); +}); + +Task("Static") +.Does(() => { + Gulp.Local.Execute(s => s.WithArguments("static")); +}); + +Task("Run-Unit-Tests") +.IsDependentOn("Static") +.Does(() => { + NpmRunScript("test"); +}); + +Task("Prepublish") +.Does(() => { + Gulp.Local.Execute(s => s.WithArguments("prepublish")); +}); + +Task("Pack") +.Does(() => { + NpmPack(); +}); + +Task("Default") +.IsDependentOn("Install") +.IsDependentOn("Run-Unit-Tests"); + +Task("Publish") +.IsDependentOn("Install") +.IsDependentOn("Run-Unit-Tests") +.IsDependentOn("Prepublish") +.Does(() => { + NpmPublish(); +}); + + +RunTarget(target);