86 lines
2.7 KiB
Plaintext
86 lines
2.7 KiB
Plaintext
use assembly='WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
|
|
use namespace='System.IO.Packaging'
|
|
use import="Environment"
|
|
|
|
var VERSION='0.1'
|
|
var FULL_VERSION='0.1'
|
|
var AUTHORS='Microsoft Open Technologies, Inc.'
|
|
|
|
use-standard-lifecycle
|
|
k-standard-goals
|
|
|
|
var Configuration2='${E("Configuration")}'
|
|
var ROOT = '${Directory.GetCurrentDirectory()}'
|
|
var BUILD_DIR2 = '${Path.Combine(ROOT, "build")}'
|
|
|
|
#build-compile target='compile' if='!IsWindows && !IsBuildV2 && Directory.Exists("src")'
|
|
@{
|
|
var projectFiles = Files.Include("src/**/project.json")
|
|
.Exclude("src/Microsoft.AspNet.DataProtection.SystemWeb/project.json")
|
|
.ToList();
|
|
|
|
if (ShouldRunInParallel)
|
|
{
|
|
Parallel.ForEach(projectFiles, projectFile => DnuPack(projectFile, BUILD_DIR2, Configuration2));
|
|
}
|
|
else
|
|
{
|
|
projectFiles.ForEach(projectFile => DnuPack(projectFile, BUILD_DIR2, Configuration2));
|
|
}
|
|
|
|
foreach (var nupkg in Files.Include(Path.Combine(BUILD_DIR2, "*/*.nupkg")))
|
|
{
|
|
File.Copy(nupkg, Path.Combine(BUILD_DIR2, Path.GetFileName(nupkg)), true);
|
|
}
|
|
}
|
|
|
|
#build-compile target='compile' if='!IsWindows && IsBuildV2'
|
|
@{
|
|
if (Directory.Exists("src"))
|
|
{
|
|
var projects = Files.Include("src/*")
|
|
.Exclude("src/Microsoft.AspNet.DataProtection.SystemWeb")
|
|
.ToList();
|
|
|
|
DnuPack(string.Join(";", projects), BUILD_DIR2, Configuration2);
|
|
|
|
foreach (var nupkg in Files.Include(Path.Combine(BUILD_DIR2, "*/*.nupkg")))
|
|
{
|
|
File.Copy(nupkg, Path.Combine(BUILD_DIR2, Path.GetFileName(nupkg)), true);
|
|
}
|
|
}
|
|
|
|
if (Directory.Exists("test"))
|
|
{
|
|
DnuBuild("test/*", Configuration2);
|
|
}
|
|
}
|
|
|
|
functions
|
|
@{
|
|
PackagePart CreatePartFromFile(
|
|
Package destination,
|
|
string sourceFileName,
|
|
string partUriString)
|
|
{
|
|
var partUri = PackUriHelper.CreatePartUri(new Uri(partUriString, UriKind.Relative));
|
|
var packagePart = destination.CreatePart(partUri, "application/octet", CompressionOption.Maximum);
|
|
|
|
using (var sourceStream = File.OpenRead(sourceFileName))
|
|
using (var stream = packagePart.GetStream())
|
|
{
|
|
sourceStream.CopyTo(stream);
|
|
}
|
|
|
|
return packagePart;
|
|
}
|
|
|
|
bool IsWindows
|
|
{
|
|
get
|
|
{
|
|
var p = (int)Environment.OSVersion.Platform;
|
|
return (p != 4) && (p != 6) && (p != 128);
|
|
}
|
|
}
|
|
} |