in Core/src/Impl/Commands/CreateCommand.cs [102:124]
private async Task WriteTag(IEnumerable<SymbolStoragePath> dirs)
{
myLogger.Info($"[{DateTime.Now:s}] Writing tag file...");
var fileId = Guid.NewGuid();
using var stream = new MemoryStream();
await TagUtil.WriteTagScriptAsync(new Tag
{
ToolId = myToolId,
FileId = fileId,
Product = myIdentity.Product,
Version = myIdentity.Version,
CreationUtcTime = DateTime.UtcNow,
IsProtected = myIsProtected,
Properties = myProperties.Select(x => new TagKeyValue
{
Key = x.Key,
Value = x.Value
}).ToArray(),
Directories = dirs.OrderBy(x => x).Distinct().ToArray()
}, stream);
await myStorage.CreateForWritingAsync(TagUtil.MakeTagFile(myIdentity, fileId), AccessMode.Private, stream);
}