51 lines
2.1 KiB
Plaintext
51 lines
2.1 KiB
Plaintext
use namespace="System.IO"
|
|
use namespace="System.IO.Compression"
|
|
use namespace="System.Linq"
|
|
|
|
use-standard-lifecycle
|
|
k-standard-goals
|
|
|
|
#repack-x86 target='compile' if='Directory.Exists("src")'
|
|
@{
|
|
var buildDir= Path.Combine(Directory.GetCurrentDirectory(), "artifacts", "build");
|
|
var projectName = "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation";
|
|
var projectNupkg = Files
|
|
.Include(Path.Combine(buildDir, projectName + "*.nupkg"))
|
|
.Where(path => !path.EndsWith(".symbols.nupkg", StringComparison.OrdinalIgnoreCase))
|
|
.OrderByDescending(f => f) // On local builds multiple nupkgs are generated.
|
|
.First();
|
|
|
|
Log.Info("Repacking Nupkg: " + projectNupkg);
|
|
|
|
var extractToDirectory = projectNupkg + "-temp";
|
|
ZipFile.ExtractToDirectory(projectNupkg, extractToDirectory);
|
|
|
|
var runtimesDirectory = Path.Combine(extractToDirectory, "runtimes");
|
|
var win7x86Directory = Path.Combine(runtimesDirectory, "win7-x86", "lib", "net451");
|
|
var win7x64Directory = Path.Combine(runtimesDirectory, "win7-x64", "lib", "net451");
|
|
Directory.CreateDirectory(win7x86Directory);
|
|
Directory.CreateDirectory(win7x64Directory);
|
|
var net451LibDirectory = Path.Combine(extractToDirectory, "lib", "net451");
|
|
|
|
File.Move(
|
|
Path.Combine(net451LibDirectory, projectName + ".exe"),
|
|
Path.Combine(win7x64Directory, projectName + ".exe"));
|
|
File.Move(
|
|
Path.Combine(net451LibDirectory, projectName + "-x86.exe"),
|
|
Path.Combine(win7x86Directory, projectName + "-x86.exe"));
|
|
|
|
File.WriteAllBytes(Path.Combine(net451LibDirectory, "_._"), new byte[0]);
|
|
|
|
File.Delete(projectNupkg);
|
|
ZipFile.CreateFromDirectory(extractToDirectory, projectNupkg);
|
|
|
|
try
|
|
{
|
|
// Delete temporary directory we used to repack.
|
|
Directory.Delete(extractToDirectory, true);
|
|
}
|
|
catch
|
|
{
|
|
// Don't care if we couldn't delete the temp directory.
|
|
}
|
|
} |