This commit is contained in:
TingluoHuang
2021-12-16 22:23:29 -05:00
parent 3e65909b81
commit 32a0321c43
2 changed files with 631 additions and 177 deletions

View File

@@ -1,4 +1,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.Serialization;
namespace GitHub.DistributedTask.WebApi
@@ -59,10 +61,21 @@ namespace GitHub.DistributedTask.WebApi
set;
}
/// <summary>
/// File ID in file service
/// </summary>
[DataMember(EmitDefaultValue = false)]
[EditorBrowsable(EditorBrowsableState.Never)]
public Int32? FileId
{
get;
set;
}
/// <summary>
/// Auth token to download the package
/// </summary>
[DataMember]
[DataMember(EmitDefaultValue = false)]
public String Token
{
get;
@@ -70,7 +83,7 @@ namespace GitHub.DistributedTask.WebApi
}
/// <summary>
/// MD5 hash as a base64 string
/// SHA256 hash
/// </summary>
[DataMember(EmitDefaultValue = false)]
public String HashValue
@@ -90,7 +103,7 @@ namespace GitHub.DistributedTask.WebApi
}
/// <summary>
/// The UI uses this to display instructions, i.e. "unzip MyAgent.zip"
/// The UI uses this to display instructions, e.g. "unzip MyAgent.zip"
/// </summary>
[DataMember]
public String Filename
@@ -98,5 +111,43 @@ namespace GitHub.DistributedTask.WebApi
get;
set;
}
/// <summary>
/// A set of trimmed down packages:
/// - the package without 'externals'
/// - the package without 'dotnet runtime'
/// - the package without 'dotnet runtime' and 'externals'
/// </summary>
[DataMember(EmitDefaultValue = false)]
public List<TrimmedPackageMetadata> TrimmedPackages
{
get;
set;
}
}
[DataContract]
public class TrimmedPackageMetadata
{
[DataMember(EmitDefaultValue = false)]
public string HashValue { get; set; }
[DataMember(EmitDefaultValue = false)]
public string DownloadUrl { get; set; }
public Dictionary<string, string> TrimmedContents
{
get
{
if (m_trimmedContents == null)
{
m_trimmedContents = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
return m_trimmedContents;
}
}
[DataMember(Name = "TrimmedContents", EmitDefaultValue = false)]
private Dictionary<string, string> m_trimmedContents;
}
}