diff --git a/CHANGELOG.md b/CHANGELOG.md index 654ec63..9ec71ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Atlassian Downloader - Changelog +## 2.x + +* `2.0.0.0` - migrated to `dotnet8` and updated libs. code optimized by [@kasthack](https://github.com/kasthack). reworked build scripts via `cli` and `vs`. added translations to `ru` and `en`. added new dists - `osx-arm64`, `linux-bionic-x64`. + +## 1.x +* `1.1.0.0` - added automatic compare of local and remote file sizes. If they differ - the file will be re-downloaded. * `1.0.1.1` - minor update: added `UserAgent` to HTTP headers and added mirrors of json files. * `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. diff --git a/README.md b/README.md index e8fadcb..df18427 100644 --- a/README.md +++ b/README.md @@ -2,36 +2,44 @@ # Atlassian Downloader -Console app written with `c#` and `dotnet6` for downloading all avalible products from `Atlassian`. Why not? +Console app written with `c#` and `dotnet8` for downloading all avalible products from `Atlassian`. Why not? ![Atlassian Downloader](https://rawcdn.githack.com/EpicMorg/atlassian-downloader/87f1d7fd4e3f22b29b4be87d02d80dd0b3e0280e/.github/media/screenshot-01.png) ![Atlassian Downloader](https://rawcdn.githack.com/EpicMorg/atlassian-downloader/87f1d7fd4e3f22b29b4be87d02d80dd0b3e0280e/.github/media/screenshot-03.png) -## Requirements -1. Preinstalled`*` `dotnet6`. Download [here](https://dotnet.microsoft.com/download/dotnet/6.0). -2. Supported OS: `win32/win64`, `linux`, `macosx`, `arm/arm64` +# Supported OS: +`win-x86`, `win-x64`, `win-arm64`, `linux-x86`, `linux-x64`, `linux-musl-x64`, `linux-arm`, `linux-arm64`, `linux-bionic-x64`, `osx-x64`, `osx-arm64` -`*` since version `1.0.0.4` application build asstandalone package and do not requre preinstalled `dotnet6`. +------------------- # How to... -## ..bootstrap from scratch + +## ..develop +1. preinstall `dotnet8`. Download [here](https://dotnet.microsoft.com/download/dotnet/8.0). +2. preinstall `VS2022`. Download [here](https://visualstudio.microsoft.com/vs/). +3. `git clone` this repo. +4. `cd` to `/src`. +5. open `*.sln` file +6. ... +7. profit! + +## ..build from scratch 1. `git clone` this repo. 2. `cd` to `/src`. -3.1 execute `dotnet run` in `src` folder. -or -3.2 execute `build.bat(sh)` in `src` folder. -4. by default all data will be downloaded to `src/atlassian` folder and subfolders. +3. execute `build.bat(sh)` in `src` folder. +4. by default all data will be downloaded to `src/Atlassian` folder and subfolders. -## ..install -1. download latest [![Downloads](https://img.shields.io/github/downloads/EpicMorg/atlassian-downloader/total.svg?style=flat-square)](https://github.com/EpicMorg/atlassian-downloader/releases) [![Release](https://img.shields.io/github/v/release/EpicMorg/atlassian-downloader?style=flat-square)](https://github.com/EpicMorg/atlassian-downloader/releases) +## ..use binary versions +1. just download latest [![Downloads](https://img.shields.io/github/downloads/EpicMorg/atlassian-downloader/total.svg?style=flat-square)](https://github.com/EpicMorg/atlassian-downloader/releases) [![Release](https://img.shields.io/github/v/release/EpicMorg/atlassian-downloader?style=flat-square)](https://github.com/EpicMorg/atlassian-downloader/releases) 2. ... 3. profit! -# Intall via Chocolatey +## ..intall via Chocolatey | CLI | Version | Downloads | ------ | ------ | ------ | :computer: `choco install atlassian-downloader` | [![Version](https://img.shields.io/chocolatey/v/atlassian-downloader?label=version&style=for-the-badge)](https://chocolatey.org/packages/atlassian-downloader/) | [![Version](https://img.shields.io/chocolatey/dt/atlassian-downloader?style=for-the-badge)](https://chocolatey.org/packages/atlassian-downloader/) +------------------- # Usage and settings ## CLI args @@ -46,12 +54,13 @@ Usage: atlassian-downloader [options] Options: - --output-dir Override output directory to download [default: atlassian] - --custom-feed Override URIs to import [default: ] - --action Action to perform [default: Download] - --version Show credits banner [default: False] - --product-version Override target version to download some product. Advice: Use it with "customFeed". [default: ] - -?, -h, --help Show help and usage information + --output-dir Override output directory to download + --custom-feed Override URIs to import [] + --action Action to perform [default: Download] + --about Show credits banner [default: False] + --product-version Override target version to download some product. Advice: Use it with "customFeed". [] + --version Show version information + -?, -h, --help Show help and usage information ``` ## Example of usage: @@ -106,6 +115,8 @@ The following built-in themes are available, provided by `Serilog.Sinks.Console` * `AnsiConsoleTheme.Grayscale` - an ANSI 256-color version of the "grayscale" theme * `AnsiConsoleTheme.Code` - an ANSI 256-color Visual Studio Code-inspired theme +------------------- + # Supported products: | Product | Current | Archive | EAP | @@ -125,7 +136,7 @@ The following built-in themes are available, provided by `Serilog.Sinks.Console` * Archive of `Atlassian` jsons available [here](https://github.com/EpicMorg/atlassian-json). ------- +------------------- ## Authors * [@kasthack](https://github.com/kasthack) - code diff --git a/src/Properties/PublishProfiles/linux-arm.pubxml b/src/Properties/PublishProfiles/linux-arm.pubxml new file mode 100644 index 0000000..2c4dbab --- /dev/null +++ b/src/Properties/PublishProfiles/linux-arm.pubxml @@ -0,0 +1,19 @@ + + + + + Release + Any CPU + bin\Release\net8.0\linux-arm\publish\ + FileSystem + <_TargetId>Folder + net8.0 + linux-arm + true + false + false + false + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/linux-arm.user b/src/Properties/PublishProfiles/linux-arm.user new file mode 100644 index 0000000..c09c61c --- /dev/null +++ b/src/Properties/PublishProfiles/linux-arm.user @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/linux-arm64.pubxml b/src/Properties/PublishProfiles/linux-arm64.pubxml new file mode 100644 index 0000000..e073a4d --- /dev/null +++ b/src/Properties/PublishProfiles/linux-arm64.pubxml @@ -0,0 +1,19 @@ + + + + + Release + Any CPU + bin\Release\net8.0\linux-arm64\publish\ + FileSystem + <_TargetId>Folder + net8.0 + linux-arm64 + true + false + false + false + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/linux-arm64.user b/src/Properties/PublishProfiles/linux-arm64.user new file mode 100644 index 0000000..c09c61c --- /dev/null +++ b/src/Properties/PublishProfiles/linux-arm64.user @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/linux-bionic-x64.pubxml b/src/Properties/PublishProfiles/linux-bionic-x64.pubxml new file mode 100644 index 0000000..9ca1966 --- /dev/null +++ b/src/Properties/PublishProfiles/linux-bionic-x64.pubxml @@ -0,0 +1,19 @@ + + + + + Release + Any CPU + bin\Release\net8.0\linux-bionic-x64\publish\ + FileSystem + <_TargetId>Folder + net8.0 + linux-bionic-x64 + true + false + false + false + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/linux-bionic-x64.user b/src/Properties/PublishProfiles/linux-bionic-x64.user new file mode 100644 index 0000000..c09c61c --- /dev/null +++ b/src/Properties/PublishProfiles/linux-bionic-x64.user @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/linux-musl-x64.pubxml b/src/Properties/PublishProfiles/linux-musl-x64.pubxml new file mode 100644 index 0000000..54c6439 --- /dev/null +++ b/src/Properties/PublishProfiles/linux-musl-x64.pubxml @@ -0,0 +1,19 @@ + + + + + Release + Any CPU + bin\Release\net8.0\linux-musl-x64\publish\ + FileSystem + <_TargetId>Folder + net8.0 + linux-musl-x64 + true + false + false + false + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/linux-musl-x64.user b/src/Properties/PublishProfiles/linux-musl-x64.user new file mode 100644 index 0000000..c09c61c --- /dev/null +++ b/src/Properties/PublishProfiles/linux-musl-x64.user @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/linux-x64.pubxml b/src/Properties/PublishProfiles/linux-x64.pubxml new file mode 100644 index 0000000..067f676 --- /dev/null +++ b/src/Properties/PublishProfiles/linux-x64.pubxml @@ -0,0 +1,19 @@ + + + + + Release + Any CPU + bin\Release\net8.0\linux-x64\publish\ + FileSystem + <_TargetId>Folder + net8.0 + linux-x64 + true + false + false + false + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/linux-x64.user b/src/Properties/PublishProfiles/linux-x64.user new file mode 100644 index 0000000..c09c61c --- /dev/null +++ b/src/Properties/PublishProfiles/linux-x64.user @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/osx-arm64.pubxml b/src/Properties/PublishProfiles/osx-arm64.pubxml new file mode 100644 index 0000000..ae3c5a2 --- /dev/null +++ b/src/Properties/PublishProfiles/osx-arm64.pubxml @@ -0,0 +1,19 @@ + + + + + Release + Any CPU + bin\Release\net8.0\osx-arm64\publish\ + FileSystem + <_TargetId>Folder + net8.0 + osx-arm64 + true + false + false + false + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/osx-arm64.user b/src/Properties/PublishProfiles/osx-arm64.user new file mode 100644 index 0000000..c09c61c --- /dev/null +++ b/src/Properties/PublishProfiles/osx-arm64.user @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/osx-x64.pubxml b/src/Properties/PublishProfiles/osx-x64.pubxml new file mode 100644 index 0000000..60b5241 --- /dev/null +++ b/src/Properties/PublishProfiles/osx-x64.pubxml @@ -0,0 +1,19 @@ + + + + + Release + Any CPU + bin\Release\net8.0\osx-x64\publish\ + FileSystem + <_TargetId>Folder + net8.0 + osx-x64 + true + false + false + false + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/osx-x64.user b/src/Properties/PublishProfiles/osx-x64.user new file mode 100644 index 0000000..c09c61c --- /dev/null +++ b/src/Properties/PublishProfiles/osx-x64.user @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/win-arm64.pubxml b/src/Properties/PublishProfiles/win-arm64.pubxml new file mode 100644 index 0000000..2e3d3df --- /dev/null +++ b/src/Properties/PublishProfiles/win-arm64.pubxml @@ -0,0 +1,19 @@ + + + + + Release + Any CPU + bin\Release\net8.0\win-arm64\publish\ + FileSystem + <_TargetId>Folder + net8.0 + win-arm64 + true + false + false + false + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/win-arm64.user b/src/Properties/PublishProfiles/win-arm64.user new file mode 100644 index 0000000..c09c61c --- /dev/null +++ b/src/Properties/PublishProfiles/win-arm64.user @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/win-x64.pubxml b/src/Properties/PublishProfiles/win-x64.pubxml new file mode 100644 index 0000000..03e2ad2 --- /dev/null +++ b/src/Properties/PublishProfiles/win-x64.pubxml @@ -0,0 +1,19 @@ + + + + + Release + Any CPU + bin\Release\net8.0\win-x64\publish\ + FileSystem + <_TargetId>Folder + net8.0 + win-x64 + true + false + false + false + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/win-x64.pubxml.user b/src/Properties/PublishProfiles/win-x64.pubxml.user new file mode 100644 index 0000000..c09c61c --- /dev/null +++ b/src/Properties/PublishProfiles/win-x64.pubxml.user @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/win-x86.pubxml b/src/Properties/PublishProfiles/win-x86.pubxml new file mode 100644 index 0000000..03b18a0 --- /dev/null +++ b/src/Properties/PublishProfiles/win-x86.pubxml @@ -0,0 +1,20 @@ + + + + + Release + Any CPU + + bin\Release\net8.0\win-x86\publish\ + FileSystem + <_TargetId>Folder + net8.0 + win-x86 + true + false + false + false + + \ No newline at end of file diff --git a/src/Properties/PublishProfiles/win-x86.pubxml.user b/src/Properties/PublishProfiles/win-x86.pubxml.user new file mode 100644 index 0000000..c09c61c --- /dev/null +++ b/src/Properties/PublishProfiles/win-x86.pubxml.user @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/build.bat b/src/build.bat index 34b3f42..02857f5 100644 --- a/src/build.bat +++ b/src/build.bat @@ -1,16 +1,16 @@ SET DOTNET_CLI_TELEMETRY_OPTOUT=true SET DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -dotnet.exe publish --runtime win-x64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=true -p:PublishSingleFile=false -p:PublishReadyToRun=true -dotnet.exe publish --runtime win-x86 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=true -p:PublishSingleFile=false -p:PublishReadyToRun=true -dotnet.exe publish --runtime win-arm64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=true -p:PublishSingleFile=false -p:PublishReadyToRun=true -dotnet.exe publish --runtime osx-x64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false -dotnet.exe publish --runtime osx-arm64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false -dotnet.exe publish --runtime linux-x64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false -dotnet.exe publish --runtime linux-musl-x64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false -dotnet.exe publish --runtime linux-arm --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false -dotnet.exe publish --runtime linux-arm64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false -dotnet.exe publish --runtime linux-bionic-x64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false +dotnet.exe publish -p:PublishProfile=win-x64 --force +dotnet.exe publish -p:PublishProfile=win-x86 --force +dotnet.exe publish -p:PublishProfile=win-arm64 --force +dotnet.exe publish -p:PublishProfile=osx-x64 --force +dotnet.exe publish -p:PublishProfile=osx-arm64 --force +dotnet.exe publish -p:PublishProfile=linux-x64 --force +dotnet.exe publish -p:PublishProfile=linux-musl-x64 --force +dotnet.exe publish -p:PublishProfile=linux-arm --force +dotnet.exe publish -p:PublishProfile=linux-arm64 --force +dotnet.exe publish -p:PublishProfile=linux-bionic-x64 --force del /F bin\\Release\\net8.0\\win-x64\\publish\\atlassian-downloader.pdb del /F bin\\Release\\net8.0\\win-x86\\publish\\atlassian-downloader.pdb diff --git a/src/build.sh b/src/build.sh index 679cc95..d21e2e2 100644 --- a/src/build.sh +++ b/src/build.sh @@ -2,16 +2,16 @@ export DOTNET_CLI_TELEMETRY_OPTOUT=true export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -dotnet publish --runtime win-x64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=true -p:PublishSingleFile=false -p:PublishReadyToRun=true -dotnet publish --runtime win-x86 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=true -p:PublishSingleFile=false -p:PublishReadyToRun=true -dotnet publish --runtime win-arm64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=true -p:PublishSingleFile=false -p:PublishReadyToRun=true -dotnet publish --runtime osx-x64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false -dotnet publish --runtime osx-arm64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false -dotnet publish --runtime linux-x64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=fal -dotnet publish --runtime linux-musl-x64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=falsese -dotnet publish --runtime linux-arm --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false -dotnet publish --runtime linux-arm64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false -dotnet publish --runtime linux-bionic-x64 --force --self-contained true --framework net8.0 --configuration Release -p:PublishTrimmed=false -p:PublishSingleFile=false -p:PublishReadyToRun=false +dotnet publish -p:PublishProfile=win-x64 --force +dotnet publish -p:PublishProfile=win-x86 --force +dotnet publish -p:PublishProfile=win-arm64 --force +dotnet publish -p:PublishProfile=osx-x64 --force +dotnet publish -p:PublishProfile=osx-arm64 --force +dotnet publish -p:PublishProfile=linux-x64 --force +dotnet publish -p:PublishProfile=linux-musl-x64 --force +dotnet publish -p:PublishProfile=linux-arm --force +dotnet publish -p:PublishProfile=linux-arm64 --force +dotnet publish -p:PublishProfile=linux-bionic-x64 --force rm -rfv ./bin/Release/net8.0/win-x64/publish/atlassian-downloader.pdb rm -rfv ./bin/Release/net8.0/win-x86/publish/atlassian-downloader.pdb