public async Task ExecuteAsync()

in Core/src/Impl/Commands/CreateCommand.cs [61:100]


    public async Task<int> ExecuteAsync()
    {
      Volatile.Write(ref mySubOpsCount, 0);
      await new StorageManager(myLogger, myStorage).CreateStorageMarkersAsync(myExpectedStorageFormat);

      var dstFiles = new ConcurrentDictionary<SymbolStoragePath, bool>();
      var statistics = await new LocalFilesScanner(myLogger, myDegreeOfParallelism, myIsCompressPe, myIsCompressWPdb, myIsKeepNonCompressed, mySources,
        async (tracer, srcDir, srcFile, dstFile) =>
          {
            Interlocked.Increment(ref mySubOpsCount);
            if (dstFiles.TryAdd(dstFile, false))
              await WriteData(Path.Combine(srcDir, srcFile), stream => myStorage.CreateForWritingAsync(dstFile, AccessMode.Public, stream));
            else
              tracer.Warning($"The file {dstFile} already was created");
          },
        async (tracer, srcDir, srcFile, dstFile) =>
          {
            Interlocked.Increment(ref mySubOpsCount);
            if (dstFiles.TryAdd(dstFile, false))
              await WriteDataPacked(Path.Combine(srcDir, srcFile), dstFile.IntoSystemPath(), stream => myStorage.CreateForWritingAsync(dstFile, AccessMode.Public, stream));
            else
              tracer.Warning($"The file {dstFile} already was created");
          }).ExecuteAsync();
      myLogger.Info($"[{DateTime.Now:s}] Done with data (warnings: {statistics.Warnings}, errors: {statistics.Errors})");
      if (statistics.HasProblems)
      {
        myLogger.Error("Found some issues, creating was interrupted");
        return 1;
      }

      await WriteTag(dstFiles.Select(x =>
      {
        var dir = SymbolStoragePath.GetDirectoryName(x.Key);
        Debug.Assert(dir != null);
        return dir.Value;
      }));
      
      await myStorage.InvalidateExternalServicesAsync();
      return 0;
    }