public static BuildTargetResult CompileStage2(BuildTargetContext c) { var configuration = c.BuildContext.Get <string>("Configuration"); CleanBinObj(c, Path.Combine(c.BuildContext.BuildDirectory, "src")); if (Directory.Exists(Dirs.Stage2)) { Utils.DeleteDirectory(Dirs.Stage2); } Directory.CreateDirectory(Dirs.Stage2); PublishSharedFramework(c, Dirs.Stage2, DotNetCli.Stage1); CopySharedHost(Dirs.Stage2); var result = CompileCliSdk(c, dotnet: DotNetCli.Stage1, outputDir: Dirs.Stage2); if (!result.Success) { return(result); } if (CurrentPlatform.IsWindows) { // build projects for nuget packages var packagingOutputDir = Path.Combine(Dirs.Stage2Compilation, "forPackaging"); Mkdirp(packagingOutputDir); foreach (var project in PackageTargets.ProjectsToPack) { // Just build them, we'll pack later var packBuildResult = DotNetCli.Stage1.Build( "--build-base-path", packagingOutputDir, "--configuration", configuration, Path.Combine(c.BuildContext.BuildDirectory, "src", project)) .Execute(); packBuildResult.EnsureSuccessful(); } } CleanOutputDir(Path.Combine(Dirs.Stage2, "sdk")); FS.CopyRecursive(Dirs.Stage2, Dirs.Stage2Symbols); RemovePdbsFromDir(Path.Combine(Dirs.Stage2, "sdk")); return(c.Success()); }
private void CopyFilesToDebianLayout( DebianLayoutDirectories layoutDirectories, string debianConfigFile, string inputBinariesDirectory, string manpagesDirectory) { FS.CopyRecursive(inputBinariesDirectory, layoutDirectories.PackageRoot); if (manpagesDirectory != null) { FS.CopyRecursive(manpagesDirectory, layoutDirectories.Docs); } File.Copy(debianConfigFile, Path.Combine(layoutDirectories.LayoutDirectory, s_debianConfigJsonFileName)); }
private void CopyFilesToDebianLayout( DebianLayoutDirectories layoutDirectories, string packageVersion, string debianConfigFile, string inputBinariesDirectory, string manpagesDirectory, bool versionManpages, IEnumerable <string> debianFiles) { FS.CopyRecursive(inputBinariesDirectory, layoutDirectories.PackageRoot); if (manpagesDirectory != null) { FS.CopyRecursive(manpagesDirectory, layoutDirectories.Docs); // Append version to all manpage files if (versionManpages) { foreach (var file in Directory.EnumerateFiles(layoutDirectories.Docs, "*", SearchOption.AllDirectories)) { var versionedFile = Path.Combine( Path.GetDirectoryName(file), $"{Path.GetFileNameWithoutExtension(file)}-{packageVersion}{Path.GetExtension(file)}"); if (File.Exists(versionedFile)) { File.Delete(versionedFile); } File.Move(file, versionedFile); } } } File.Copy(debianConfigFile, Path.Combine(layoutDirectories.LayoutDirectory, s_debianConfigJsonFileName)); if (debianFiles != null) { foreach (var debianFile in debianFiles) { File.Copy(debianFile, Path.Combine(layoutDirectories.DebianFiles, Path.GetFileName(debianFile))); } } }
public static BuildTargetResult CompileStage1(BuildTargetContext c) { CleanBinObj(c, Path.Combine(c.BuildContext.BuildDirectory, "src")); if (Directory.Exists(Dirs.Stage1)) { Utils.DeleteDirectory(Dirs.Stage1); } Directory.CreateDirectory(Dirs.Stage1); var result = CompileCliSdk(c, dotnet: DotNetCli.Stage0, rootOutputDirectory: Dirs.Stage1); CleanOutputDir(Path.Combine(Dirs.Stage1, "sdk")); FS.CopyRecursive(Dirs.Stage1, Dirs.Stage1Symbols); RemovePdbsFromDir(Path.Combine(Dirs.Stage1, "sdk")); return(result); }