Skip to content

Commit

Permalink
Merge branch 'release/2.0.0'
Browse files Browse the repository at this point in the history
* release/2.0.0: (61 commits)
  (maint) Update to latest Chocolatey NuGet package
  (maint) Update to latest Chocolatey package
  (build) Re-enable release notes export
  (maint) Added copyright to nuspec file
  (build) Updated GRM config file
  (maint) Update to released beta packages
  (maint) Switch from int to long
  (maint) Update to latest beta Chocolatey packages
  (maint) Remove @everyone from Discord notification
  (maint) Bump to beta package in nuspec
  (maint) Update to latest beta Chocolatey packages
  (build) Update to latest Chocolatey.Cake.Recipe
  (build) Remove unnecessary configuration
  (build) Add notification templates
  (maint) Prevent download of relase notes
  (chocolatey#974) Update to released beta packages
  (chocolatey#974) Update to beta packages for Chocolatey
  (chocolatey#989) Remove usage of side by side
  (chocolatey#990) Fix usage of ListCommand
  (chocolatey#974) Update to latest alpha package
  ...
  • Loading branch information
corbob committed May 19, 2023
2 parents 729fc25 + 82b34fe commit c9a531f
Show file tree
Hide file tree
Showing 52 changed files with 541 additions and 269 deletions.
5 changes: 5 additions & 0 deletions .notifications/discord.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
We have just released v{0} of the Chocolatey GUI!

Release notes can be found here:

https://docs.chocolatey.org/en-us/chocolatey-gui/release-notes#{1}
1 change: 1 addition & 0 deletions .notifications/mastodon.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
We have just released v{0} of the Chocolatey GUI! Release notes can be found here: https://docs.chocolatey.org/en-us/chocolatey-gui/release-notes#{1}.
5 changes: 5 additions & 0 deletions .notifications/slack.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@channel We have just released v{0} of the Chocolatey GUI!

Release notes can be found here:

https://docs.chocolatey.org/en-us/chocolatey-gui/release-notes#{1}
5 changes: 5 additions & 0 deletions .notifications/twitter.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
We have just released v{0} of the Chocolatey GUI!

Release notes can be found here:

https://docs.chocolatey.org/en-us/chocolatey-gui/release-notes#{1}
2 changes: 1 addition & 1 deletion .templates/default/issue-note.sbn
Original file line number Diff line number Diff line change
@@ -1 +1 @@
- {{ issue.title }} - see [#{{ issue.number }}]({{ issue.html_url }})
- {{ issue.title }} - see [#{{ issue.number }}]({{ issue.html_url }}).
3 changes: 1 addition & 2 deletions .tx/config
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@
host = https://www.transifex.com
lang_map = en_GB: en-GB, en_US: en-US, zh_CN: zh-CN, cs_CZ: cs-CZ

[chocolatey-gui.resourcesresx]
[o:chocolatey:p:chocolatey-gui:r:resourcesresx]
file_filter = Source/ChocolateyGui.Common/Properties/Resources.<lang>.resx
source_file = Source/ChocolateyGui.Common/Properties/Resources.resx
source_lang = en
type = RESX

16 changes: 16 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,22 @@ The only reasons a pull request should be closed and resubmitted are as follows:
* When the pull request is targeting the wrong branch (this doesn't happen as often).
* When there are updates made to the original by someone other than the original contributor. Then the old branch is closed with a note on the newer branch this supersedes #github_number.

### Testing

There are some barebones Pester tests used to test the very basic functionalities of `chocolateyguicli`. These require Pester version 5.3.1 or newer. They can be launched by running `Invoke-Pester` within the `Tests` directory of the repository.

It is **not currently** expected that these Pester tests are run before submitting a PR. Their purpose at the moment is to establish a base to build upon.

### Debugging with Chocolatey library information

In order to debug Chocolatey GUI, you need Chocolatey.Lib referenced in the project to match the Chocolatey version installed locally on your system. The easiest way to do this is to run `./Update-DebugConfiguration.ps1` from the root of the repository.

> :warning: **NOTE**
>
> You will need to have `nuget.commandline` installed for this script to work.
>
> You will also want to **not** commit the changes this script makes to the `.csproj` and `packages.config` files. As such, if you're making changes that would modify any of these files, it is recommended to make those changes, commit, then run the `./Update-DebugConfiguration.ps1` script.
## Other General Information

If you reformat code or hit core functionality without an approval from a person on the Chocolatey Team, it's likely that no matter how awesome it looks afterwards, it will probably not get accepted. Reformatting code makes it harder for us to evaluate exactly what was changed.
Expand Down
94 changes: 72 additions & 22 deletions CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,7 @@ These are the committers to Chocolatey/Chocolatey GUI repository:

* [Chocolatey GUI](https://github.com/chocolatey/chocolateygui/graphs/contributors)

## Frameworks

Chocolatey GUI uses the following awesome frameworks:

* [Autofac](http://autofac.org/)
* [AutoMapper](http://automapper.org/)
* [Caliburn.Micro](https://github.com/Caliburn-Micro/Caliburn.Micro)
* [ControlzEx](https://github.com/ControlzEx/ControlzEx)
* [corefx](https://github.com/dotnet/runtime)
* [Fizzler](https://github.com/atifaziz/Fizzler)
* [IconPacks](https://github.com/MahApps/MahApps.Metro.IconPacks)
* [LiteDB](https://www.litedb.org/)
* [log4net](http://logging.apache.org/log4net/)
* [MahApps.Metro](http://mahapps.com/)
* [Markdig](https://github.com/lunet-io/markdig)
* [Markdig.Wpf](https://github.com/Kryptos-FR/markdig.wpf)
* [Reactive Extenstions for .NET](https://github.com/dotnet/reactive)
* [Serilog](https://github.com/serilog/serilog)
* [Splat](https://github.com/reactiveui/splat)
* [SkiaSharp](https://github.com/mono/SkiaSharp)
* [Svg.Skia](https://github.com/wieslawsoltes/Svg.Skia)
* [XamlBehaviorsWpf](https://github.com/Microsoft/XamlBehaviorsWpf)
## Third-Party Dependencies - Development & Builds

Chocolatey GUI is built, with the following fantastic frameworks and services:

Expand All @@ -59,3 +38,74 @@ We would like to credit other super sweet tools/frameworks/services that aid in

* [NuGet Framework](https://www.nuget.org/)
* [ReSharper](https://www.jetbrains.com/resharper/)

## Third-Party Dependencies and Licenses - Runtime

Chocolatey GUI Editions uses Chocolatey FOSS components and also adds the following components listed below.

### [GNU Lesser GPL](https://www.gnu.org/licenses/lgpl-3.0.html)

* Fizzler @ 1.2.0

### [Apache v2.0 License](https://www.apache.org/licenses/LICENSE-2.0.html)

* Chocolatey Open Source
* Serilog @ 2.5.0
* Serilog.Formatting.Compact @ 1.0.0
* Serilog.Sinks.Async @ 1.1.0
* Serilog.Sinks.Console @ 3.1.0
* Serilog.Sinks.File @ 3.2.0
* Serilog.Sinks.PeriodicBatching @ 2.1.1
* Serilog.Sinks.RollingFile @ 3.3.0

### [MIT License](https://mit-license.org/)

* Autofac @ 4.6.1
* AutoMapper @ 7.0.1
* Caliburn.Micro @ 3.2.0
* Caliburn.Micro.Core @ 3.2.0
* ControlzEx @ 4.4.0
* HarfBuzzSharp @ 2.6.1.4
* LiteDB @ 5.0.15
* MahApps.Metro @ 2.4.4
* MahApps.Metro.IconPacks.BoxIcons @ 4.8.0
* MahApps.Metro.IconPacks.Entypo @ 4.8.0
* MahApps.Metro.IconPacks.FontAwesome @ 4.8.0
* MahApps.Metro.IconPacks.Modern @ 4.8.0
* MahApps.Metro.IconPacks.Octicons @ 4.8.0
* MahApps.Metro.SimpleChildWindow @ 2.0.0
* Microsoft.NETCore.Platforms @ 3.1.0
* Microsoft.VisualStudio.Threading @ 15.4.4
* Microsoft.VisualStudio.Validation @ 15.3.32
* Microsoft.Xaml.Behaviors.Wpf @ 1.1.19
* NETStandard.Library @ 2.0.3
* SkiaSharp @ 1.68.3
* SkiaSharp.HarfBuzz @ 1.68.3
* Splat @ 2.0.0
* Svg.Skia @ 0.3.0
* System.Buffers @ 4.5.1
* System.Memory @ 4.5.4
* System.Numerics.Vectors @ 4.5.0
* System.Reactive @ 3.1.1
* System.Reactive.Core @ 3.1.1
* System.Reactive.Interfaces @ 3.1.1
* System.Reactive.Linq @ 3.1.1
* System.Reactive.PlatformServices @ 3.1.1
* System.Reactive.Windows.Threading @ 3.1.1
* System.Runtime.CompilerServices.Unsafe @ 4.7.1
* System.Threading.Tasks.Extensions @ 4.4.0
* System.ValueTuple @ 4.5.0

### [BSD-2-Clause License](https://licenses.nuget.org/BSD-2-Clause)

* Markdig.Signed @ 0.23.0
* Markdig.Wpf.Signed @ 0.5.0.1

### [Microsoft Software License](https://go.microsoft.com/fwlink/?LinkId=329770)

* System.Diagnostics.Contracts @ 4.3.0
* System.Runtime.InteropServices.RuntimeInformation @ 4.3.0

### [MS-PL License](https://opensource.org/licenses/MS-PL)

* Svg.Custom @ 0.3.0
150 changes: 150 additions & 0 deletions Get-ChocoUpdatedDebugVersion.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
[CmdletBinding(DefaultParameterSetName = "tag")]
param(
# The location where Chocolatey CLI sources are located,
# or will be located if the directory does not already exist.
# If not specified and the environment variable `CHOCO_SOURCE_LOCATION`
# is not definied, the location will default to `$env:TEMP\
[Alias("ChocoLocation")]
[string] $ChocoSourceLocation = $env:CHOCO_SOURCE_LOCATION,

# Checkout a specific tag of your own choosing.
# This value can also be a specific commit or a branch, but
# will be notified as being a tag.
# NOTE: Only tags already pulled down will be considered.
[Parameter(ParameterSetName = "tag")]
[string] $CheckoutTag = $null,

# Checkout the latest tag available in the Chocolatey Source Location.
# NOTE: Only tags already pulled down will be considered.
[Parameter(ParameterSetName = "latest")]
[switch] $CheckoutLatestTag,

# Try check out a tage with the same name as what is used as a reference
# in the packages.config file. If the reference specified is not a stable
# version, the latest tag will be checked out instead.
# NOTE: Only tags already pulled down will be considered.
[Parameter(ParameterSetName = 'ref-tag')]
[switch] $CheckoutRefTag,

# Remove and clone the specified Chocolatey Source Location again.
# This is a very destructive operation, and should only be used if
# you are not interested in any local information.
[switch] $ForceChocoClone
)

function CheckoutTag {
param(
[Parameter(Mandatory)]
[string] $SourceLocation,

[string] $TagName
)

Push-Location "$SourceLocation"
if (!$TagName) {
$TagName = . git tag --sort v:refname | Where-Object { $_ -match "^[\d\.]+$" } | Select-Object -last 1
}

if ($TagName) {
git checkout $TagName -q 2>$null
if ($LASTEXITCODE -eq 0) {
Write-Host "Checked out Chocolatey CLI tag '$TagName'"
}
else {
$currentBranch = . git branch --show-current
if ($currentBranch) {
Write-Warning "Unable to check out tag $TagName. Leaving source in branch $currentBranch"
}
else {
Write-Warning "Unable to check out tag $TagName. Leaving source in commit $(git rev-parse HEAD)"
}
}
}

Pop-Location
}

Write-Host "We are at $PSScriptRoot"

[xml]$packagesConfigFile = Get-Content -Path "$PSScriptRoot/Source/ChocolateyGui/packages.config"

$chocolateyLibPackageVersion = $($packagesConfigFile.packages.package | Where-Object { $_.id -eq "chocolatey.lib" }).version

if ($CheckoutRefTag) {

if ($chocolateyLibPackageVersion -match '^[\d\.]+$') {
$CheckoutTag = $chocolateyLibPackageVersion
}
else {
$CheckoutLatestTag = $true
}
}

if (!$ChocoSourceLocation) {
# To allow a default path being used for cloning the repository
$ChocoSourceLocation = "$env:TEMP\chocoSource"
}

Write-Host "Looking for choco in '$ChocoSourceLocation'"

if ($ForceChocoClone -and (Test-Path $ChocoSourceLocation)) {
Write-Host "Removing existing Chocolatey CLI Source in '$ChocoSourceLocation'"
# We use error action stop here, as there may be times the `.git` directory is locked.
# Having information about this is helpful to rectify the issue.
Remove-Item $ChocoSourceLocation -Recurse -Force -EA Stop
}

if (!(Test-Path $ChocoSourceLocation)) {
Write-Host "Cloning Chocolatey CLI Repository to '$ChocoSourceLocation'"
git clone "https://github.com/chocolatey/choco.git" "$ChocoSourceLocation"

if ($CheckoutLatestTag) {
CheckoutTag $ChocoSourceLocation
}
elseif ($CheckoutTag) {
CheckoutTag $ChocoSourceLocation -TagName $CheckoutTag
}
}
elseif ($CheckoutLatestTag) {
CheckoutTag $ChocoSourceLocation
}
elseif ($CheckoutTag) {
CheckoutTag $ChocoSourceLocation -TagName $CheckoutTag
}

if (-not (Test-Path -Path $ChocoSourceLocation)) {
# We leave this here on purpose in case the cloning of the repository has failed.
throw "Location '$ChocoSourceLocation' not found; please rerun with the -ChocoSourceLocation parameter or set the CHOCO_SOURCE_LOCATION environment variable."
}

Write-Host "Restore packages on project first..."
& ./build.debug.bat --target='Restore'

Write-Host "Building choco at $ChocoSourceLocation with Debug..."

Push-Location $ChocoSourceLocation
if (Test-Path "recipe.cake") {
& ./build.debug.bat --target='Build'
& ./build.debug.bat --target='Run-ILMerge' --exclusive
}
else {
& ./build.debug.bat
}
Pop-Location

Write-Host "Copying chocolatey artifacts to current Chocolatey Package Version folder..."

$chocolateyLibPackageFolder = "$PSScriptRoot/Source/packages/chocolatey.lib.$chocolateyLibPackageVersion/lib/net48"

if (-not (Test-Path -Path $chocolateyLibPackageFolder)) {
New-Item -ItemType Directory -Path $chocolateyLibPackageFolder > $null
}

$codeDropLibs = "$ChocoSourceLocation/code_drop/temp/_PublishedLibs/chocolatey_merged"

if (!(Test-Path $codeDropLibs)) {
$codeDropLibs = "$ChocoSourceLocation/code_drop/chocolatey/lib"
}

Write-Host "Copying chocolatey lib items from '$codeDropLibs/*' to '$chocolateyLibPackageFolder'."
Copy-Item -Path "$codeDropLibs/*" -Destination "$chocolateyLibPackageFolder/" -Force
30 changes: 16 additions & 14 deletions GitReleaseManager.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,6 @@
create:
include-footer: true
footer-heading: Where to get it
footer-content: You can download this release from [chocolatey](https://chocolatey.org/packages/chocolateyGUI/{milestone})
footer-includes-milestone: true
milestone-replace-text: '{milestone}'
export:
include-created-date-in-title: true
created-date-string-format: MMMM dd, yyyy
perform-regex-removal: true
regex-text: '### Where to get it(\r\n)*You can .*\)'
multiline-regex: true
issue-labels-include:
- Breaking change
- Breaking Change
- Deprecate
- Feature
- C4B Feature
- Bug
Expand All @@ -20,10 +9,17 @@ issue-labels-include:
issue-labels-exclude:
- Internal Refactoring
- Build
- NO RELEASE NOTES
issue-labels-alias:
- name: Documentation
header: Documentation
plural: Documentation
- name: Bug
header: Bug Fix
plural: Bug Fixes
- name: Deprecate
header: Deprecated Feature
plural: Deprecated Features
create:
include-sha-section: true
sha-section-heading: "SHA256 Hashes of the release artifacts"
Expand All @@ -38,4 +34,10 @@ close:
- [GitHub Release](https://github.com/{owner}/{repository}/releases/tag/{milestone})
- [Chocolatey Package](https://chocolatey.org/packages/chocolateygui/{milestone})
Your **[GitReleaseManager](https://github.com/GitTools/GitReleaseManager)** bot :package::rocket:
Your **[GitReleaseManager](https://github.com/GitTools/GitReleaseManager)** bot :package::rocket:
export:
include-created-date-in-title: true
created-date-string-format: MMMM dd, yyyy
perform-regex-removal: true
regex-text: '### Where to get it(\r\n)*You can .*\)'
multiline-regex: true
2 changes: 1 addition & 1 deletion GitVersion.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
next-version: 1.0.0
next-version: 2.0.0
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ If you would like to contribute code or help squash a bug or two, that's awesome

### Building

* It is assumed that a version of Visual Studio 2019 is already installed on the machine being used to complete the build.
* It is assumed that a version of Visual Studio 2019 or newer is already installed on the machine being used to complete the build.
* `choco install wixtoolset -y`
* **OPTIONAL:** Set `FXCOPDIR` environment variable, which can be set using [vswhere](https://chocolatey.org/packages/vswhere) and the following command:
```ps1
Expand Down
Loading

0 comments on commit c9a531f

Please sign in to comment.