From 1ce0e6ecdfa2a6b997e6d6377397a47a8d7df15a Mon Sep 17 00:00:00 2001 From: John Luo Date: Tue, 27 Feb 2018 16:05:05 -0800 Subject: [PATCH] Add lzma repo task --- build/PackageArchive.targets | 5 +--- build/dependencies.props | 1 + build/tasks/CreateLzma.cs | 44 ++++++++++++++++++++++++++++++++++++ build/tasks/RepoTasks.csproj | 1 + build/tasks/RepoTasks.tasks | 8 ++----- 5 files changed, 49 insertions(+), 10 deletions(-) create mode 100644 build/tasks/CreateLzma.cs diff --git a/build/PackageArchive.targets b/build/PackageArchive.targets index ad5d9ce0e7..bd37ec64c5 100644 --- a/build/PackageArchive.targets +++ b/build/PackageArchive.targets @@ -7,9 +7,6 @@ - - - @@ -49,6 +46,6 @@ Properties="RestorePackagesPath=$(FallbackStagingDir);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp21PackageVersion);DotNetRestoreSourcePropsPath=$(GeneratedFallbackRestoreSourcesPropsPath);DotNetBuildOffline=true;AspNetUniverseBuildOffline=true" /> - + diff --git a/build/dependencies.props b/build/dependencies.props index 80c32f188f..1a6d436f58 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -2,6 +2,7 @@ 4.5.0-preview2-26308-02 + 0.2.0-beta-62606-02 2.1.0-preview2-26308-02 2.1.0-preview2-26308-02 diff --git a/build/tasks/CreateLzma.cs b/build/tasks/CreateLzma.cs new file mode 100644 index 0000000000..88366fa886 --- /dev/null +++ b/build/tasks/CreateLzma.cs @@ -0,0 +1,44 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.IO; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; +using Microsoft.DotNet.Archive; + +namespace RepoTasks +{ + public class CreateLzma : Task + { + [Required] + public string OutputPath { get; set; } + + [Required] + public string[] Sources { get; set; } + + public override bool Execute() + { + var progress = new ConsoleProgressReport(); + using (var archive = new IndexedArchive()) + { + foreach (var source in Sources) + { + if (Directory.Exists(source)) + { + Log.LogMessage(MessageImportance.High, $"Adding directory: {source}"); + archive.AddDirectory(source, progress); + } + else + { + Log.LogMessage(MessageImportance.High, $"Adding file: {source}"); + archive.AddFile(source, Path.GetFileName(source)); + } + } + + archive.Save(OutputPath, progress); + } + + return true; + } + } +} diff --git a/build/tasks/RepoTasks.csproj b/build/tasks/RepoTasks.csproj index 8c6e10cb3a..fbfd560a7c 100644 --- a/build/tasks/RepoTasks.csproj +++ b/build/tasks/RepoTasks.csproj @@ -8,6 +8,7 @@ + diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks index 3bcd44e8f0..c91006135b 100644 --- a/build/tasks/RepoTasks.tasks +++ b/build/tasks/RepoTasks.tasks @@ -5,21 +5,17 @@ - - - - + - + -