From 83b8cb81c12cae9f9ce2818aebd46e453454502a Mon Sep 17 00:00:00 2001 From: STAM Date: Fri, 12 May 2023 13:17:02 +0300 Subject: [PATCH] 1.0.1.0 new release --- CHANGELOG.md | 3 ++- README.md | 1 + docs/products.png | Bin 29641 -> 32599 bytes src/DonloaderService.cs | 14 ++++++++++---- src/Models/DownloaderOptions.cs | 2 +- src/Program.cs | 9 ++++++--- src/atlassian-downloader.csproj | 6 +++--- 7 files changed, 23 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7f4535..429c83b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Atlassian Downloader - Changelog -* `1.0.0.9` - switched to `dontet7.0`, updated deps. +* `1.0.1.0` - added support of `Atlassian Bitbucket (Mesh)` product, updated deps, fixed `Chocolatey` support and start logic. +* `1.0.0.9` - updated deps. * `1.0.0.8` - switched to `dontet6.0`, updated deps. * `1.0.0.7` - added `unofficial support` of `sourcetree` via automatic mirror [from github](https://github.com/EpicMorg/atlassian-json). fixed `logger` output, code improvments. * `1.0.0.6` - added support of `clover`. fixed broken json parsing. added new `logger`. diff --git a/README.md b/README.md index c9c6e35..b0ad8de 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,7 @@ The following built-in themes are available, provided by `Serilog.Sinks.Console` |-------------|:-------------:|:-------------:|:-------------:| | [![Product](https://img.shields.io/static/v1?label=Atlassian&message=Bamboo&color=bright%20green&style=for-the-badge)](https://www.atlassian.com/software/bamboo) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [![Product](https://img.shields.io/static/v1?label=Atlassian&message=Bitbucket%20(Stash)&color=bright%20green&style=for-the-badge)](https://www.atlassian.com/software/bitbucket) | :white_check_mark: | :white_check_mark: | :interrobang: | +| [![Product](https://img.shields.io/static/v1?label=Atlassian&message=Bitbucket%20(Mesh)&color=bright%20green&style=for-the-badge)](https://confluence.atlassian.com/bitbucketserver/bitbucket-mesh-compatibility-matrix-1127254859.html) | :white_check_mark: | :white_check_mark: | :interrobang: | | [![Product](https://img.shields.io/static/v1?label=Atlassian&message=Clover&color=bright%20green&style=for-the-badge)](https://www.atlassian.com/software/clover) | :white_check_mark: | :white_check_mark: | :x: | | [![Product](https://img.shields.io/static/v1?label=Atlassian&message=Confluence&color=bright%20green&style=for-the-badge)](https://www.atlassian.com/software/confluence) | :white_check_mark: | :white_check_mark: | :x: | | [![Product](https://img.shields.io/static/v1?label=Atlassian&message=Crowd&color=bright%20green&style=for-the-badge)](https://www.atlassian.com/software/crowd) | :white_check_mark: | :white_check_mark: | :x: | diff --git a/docs/products.png b/docs/products.png index b9c17e8f6171c3c170edf2a5b71b862e9bd8e822..9843ec707224c2adbaf609188d770183b2901fe4 100644 GIT binary patch literal 32599 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

s$lY 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 diff --git a/src/DonloaderService.cs b/src/DonloaderService.cs index 828bd59..962d164 100644 --- a/src/DonloaderService.cs +++ b/src/DonloaderService.cs @@ -103,7 +103,7 @@ namespace EpicMorg.Atlassian.Downloader public async Task StartAsync(CancellationToken cancellationToken) { SetConsoleTitle(); - if (options.Version) + if (options.Version || string.IsNullOrWhiteSpace(options.OutputDir)) { ShowVersionInfo(); } @@ -119,7 +119,7 @@ namespace EpicMorg.Atlassian.Downloader { return; } - var (json, versions) = await this.GetJson(feedUrl, cancellationToken).ConfigureAwait(false); + var (json, versions) = await this.GetJson(feedUrl, options.ProductVersion, cancellationToken).ConfigureAwait(false); switch (options.Action) { @@ -182,7 +182,7 @@ namespace EpicMorg.Atlassian.Downloader Console.ResetColor(); } - private async Task<(string json, IDictionary versions)> GetJson(string feedUrl, CancellationToken cancellationToken) + private async Task<(string json, IDictionary versions)> GetJson(string feedUrl, string? productVersion = null, CancellationToken cancellationToken = default) { var atlassianJson = await client.GetStringAsync(feedUrl, cancellationToken).ConfigureAwait(false); var json = atlassianJson.Trim()["downloads(".Length..^1]; @@ -192,7 +192,10 @@ namespace EpicMorg.Atlassian.Downloader PropertyNameCaseInsensitive = true }); logger.LogDebug("Found {0} releases", parsed.Length); - var versions = parsed.GroupBy(a => a.Version).ToDictionary(a => a.Key, a => a.ToArray()); + var versions = parsed + .GroupBy(a => a.Version) + .Where(a => productVersion is null || a.Key == productVersion) + .ToDictionary(a => a.Key, a => a.ToArray()); logger.LogDebug("Found {0} releases", versions.Count); return (json, versions); } @@ -211,6 +214,7 @@ namespace EpicMorg.Atlassian.Downloader "https://my.atlassian.com/download/feeds/archived/jira-software.json", "https://my.atlassian.com/download/feeds/archived/jira.json", "https://my.atlassian.com/download/feeds/archived/stash.json", + "https://my.atlassian.com/download/feeds/archived/mesh.json", "https://my.atlassian.com/download/feeds/current/bamboo.json", "https://my.atlassian.com/download/feeds/current/clover.json", @@ -222,12 +226,14 @@ namespace EpicMorg.Atlassian.Downloader "https://my.atlassian.com/download/feeds/current/jira-servicedesk.json", "https://my.atlassian.com/download/feeds/current/jira-software.json", "https://my.atlassian.com/download/feeds/current/stash.json", + "https://my.atlassian.com/download/feeds/current/mesh.json", "https://my.atlassian.com/download/feeds/eap/bamboo.json", "https://my.atlassian.com/download/feeds/eap/confluence.json", "https://my.atlassian.com/download/feeds/eap/jira.json", "https://my.atlassian.com/download/feeds/eap/jira-servicedesk.json", "https://my.atlassian.com/download/feeds/eap/stash.json", + "https://my.atlassian.com/download/feeds/eap/mesh.json", //https://raw.githubusercontent.com/EpicMorg/atlassian-json/master/json-backups/archived/sourcetree.json "https://raw.githack.com/EpicMorg/atlassian-json/master/json-backups/archived/sourcetree.json", diff --git a/src/Models/DownloaderOptions.cs b/src/Models/DownloaderOptions.cs index aca9cb8..616423d 100644 --- a/src/Models/DownloaderOptions.cs +++ b/src/Models/DownloaderOptions.cs @@ -2,5 +2,5 @@ namespace EpicMorg.Atlassian.Downloader { - public record DownloaderOptions(string OutputDir, Uri[] CustomFeed, DownloadAction Action,bool Version) { } + public record DownloaderOptions(string OutputDir, Uri[] CustomFeed, DownloadAction Action,bool Version, string ProductVersion) { } } \ No newline at end of file diff --git a/src/Program.cs b/src/Program.cs index 85994ad..32cb34c 100644 --- a/src/Program.cs +++ b/src/Program.cs @@ -6,6 +6,8 @@ using Microsoft.Extensions.Logging; using Serilog; using System; +using System.IO; +using System.Reflection; using System.Threading.Tasks; namespace EpicMorg.Atlassian.Downloader @@ -19,13 +21,14 @@ namespace EpicMorg.Atlassian.Downloader /// Override output directory to download /// Override URIs to import /// Show credits banner - static async Task Main(string OutputDir = "atlassian", Uri[] customFeed = null, DownloadAction Action = DownloadAction.Download, bool Version = false) => await + /// Override target version to download some product. Advice: Use it with "customFeed". + static async Task Main(string OutputDir, Uri[] customFeed = null, DownloadAction Action = DownloadAction.Download, bool Version = false, string productVersion = null) => await Host .CreateDefaultBuilder() .ConfigureHostConfiguration(configHost => configHost.AddEnvironmentVariables()) .ConfigureAppConfiguration((ctx, configuration) => configuration - .SetBasePath(Environment.CurrentDirectory) + .SetBasePath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddJsonFile($"appsettings.{ctx.HostingEnvironment.EnvironmentName}.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables()) @@ -41,7 +44,7 @@ namespace EpicMorg.Atlassian.Downloader .AddSerilog(dispose: true); }) .AddHostedService() - .AddSingleton(new DownloaderOptions(OutputDir, customFeed, Action, Version)) + .AddSingleton(new DownloaderOptions(OutputDir, customFeed, Action, Version, productVersion)) .AddHttpClient()) .RunConsoleAsync() .ConfigureAwait(false); diff --git a/src/atlassian-downloader.csproj b/src/atlassian-downloader.csproj index 627c5ec..105e69e 100644 --- a/src/atlassian-downloader.csproj +++ b/src/atlassian-downloader.csproj @@ -17,9 +17,9 @@ git https://github.com/EpicMorg/atlassian-downloader atlassian, donwloader, epicmorg - 1.0.0.9 - 1.0.0.9 - 1.0.0.9 + 1.0.1.0 + 1.0.1.0 + 1.0.1.0 EpicMorg 2023 Atlassian Downloader true