40 lines
1.2 KiB
Plaintext
40 lines
1.2 KiB
Plaintext
use namespace="System"
|
|
use namespace="System.IO"
|
|
use import="Files"
|
|
|
|
default BASE_DIR='${Directory.GetCurrentDirectory()}'
|
|
default TARGET_DIR='${Path.Combine(BASE_DIR, "artifacts")}'
|
|
default BUILD_DIR='${Path.Combine(TARGET_DIR, "build")}'
|
|
default TEST_DIR='${Path.Combine(TARGET_DIR, "test")}'
|
|
|
|
@{
|
|
E("K_BUILD_VERSION", "t" + DateTime.UtcNow.ToString("yyMMddHHmmss"));
|
|
}
|
|
|
|
#target-default target='default'
|
|
k-restore
|
|
k-generate-projects solutionPath='${BASE_DIR}'
|
|
|
|
#target-dir-clean target='clean'
|
|
directory delete="${TARGET_DIR}"
|
|
|
|
#build-clean target='clean'
|
|
k-clean each='var projectFile in Files.Include("src/**/project.json")'
|
|
|
|
#build-compile target='compile'
|
|
k-build each='var projectFile in Files.Include("src/**/project.json")'
|
|
@{
|
|
foreach (var nupkg in Files.Include(Path.Combine(BUILD_DIR, "*/*.nupkg")))
|
|
{
|
|
File.Copy(nupkg, Path.Combine(BUILD_DIR, Path.GetFileName(nupkg)), true);
|
|
}
|
|
}
|
|
|
|
#nuget-install target='install' description='Copy NuGet packages to local repo'
|
|
nuget-local-publish sourcePackagesDir='${BUILD_DIR}'
|
|
|
|
functions @{
|
|
string E(string key) { return Environment.GetEnvironmentVariable(key); }
|
|
void E(string key, string value) { Environment.SetEnvironmentVariable(key, value); }
|
|
}
|