public override async Task <int> ExecuteAsync()
        {
            DependencyType type = _options.Type.ToLower() == "toolset" ? DependencyType.Toolset : DependencyType.Product;

            Local local = new Local(Logger);

            DependencyDetail dependency = new DependencyDetail
            {
                Name    = _options.Name,
                Version = _options.Version ?? string.Empty,
                RepoUri = _options.RepoUri ?? string.Empty,
                Commit  = _options.Commit ?? string.Empty,
                CoherentParentDependencyName = _options.CoherentParentDependencyName ?? string.Empty,
                Pinned = _options.Pinned,
                Type   = type,
            };

            try
            {
                await local.AddDependencyAsync(dependency);

                return(Constants.SuccessCode);
            }
            catch (FileNotFoundException exc)
            {
                Logger.LogError(exc, $"One of the version files is missing. Please make sure to add all files " +
                                "included in https://github.com/dotnet/arcade/blob/main/Documentation/DependencyDescriptionFormat.md#dependency-description-details");
                return(Constants.ErrorCode);
            }
            catch (Exception exc)
            {
                Logger.LogError(exc, $"Failed to add dependency '{dependency.Name}' to repository.");
                return(Constants.ErrorCode);
            }
        }
Beispiel #2
0
        public override async Task <int> ExecuteAsync()
        {
            DependencyType type = _options.Type.ToLower() == "toolset" ? DependencyType.Toolset : DependencyType.Product;

            Local local = new Local(LocalHelpers.GetGitDir(Logger), Logger);

            DependencyDetail dependency = new DependencyDetail
            {
                Name    = _options.Name,
                Version = _options.Version ?? string.Empty,
                RepoUri = _options.RepoUri ?? string.Empty,
                Commit  = _options.Commit ?? string.Empty
            };

            try
            {
                await local.AddDependencyAsync(dependency, type);

                return(Constants.SuccessCode);
            }
            catch (Exception exc)
            {
                Logger.LogError(exc, $"Failed to add dependency '{dependency.Name}' to repository.");
                return(Constants.ErrorCode);
            }
        }