public static bool Create(string version, DirectoryPath directoryPath = default) { directoryPath ??= DirectoryPath.OS.Current; try { var fileName = directoryPath.CloneToFilePath(FileName).EnsureDirectoryExist(); return(fileName.WriteJsonSafe(NewWithVersion(version)).Ok); } catch (Exception ex) { ex.LogException(); } return(false); }
public async Task <(bool Ok, FilePath FileName)> DownloadPackageAsync(string packageName, string version, DirectoryPath destination, CancellationToken cancelationToken = default) { var fileName = destination.CloneToFilePath($"{packageName}.{version}.nupkg"); try { await $"{Uri.Scheme}://{Uri.Host}/api/v2/package/{packageName}/{version}" .DownloadFileAsync(fileName.DirectoryName, fileName.FileName, cancellationToken: cancelationToken); return(true, fileName); } catch (Exception ex) { ex.LogException(); } return(false, fileName); }