Skip to content

Commit

Permalink
Add support for WinGet on Windows
Browse files Browse the repository at this point in the history
Closes #500 and #1241
  • Loading branch information
kdeldycke committed May 24, 2024
1 parent 3248f9b commit 0e70cf9
Show file tree
Hide file tree
Showing 11 changed files with 379 additions and 7 deletions.
5 changes: 5 additions & 0 deletions .github/labels-extra.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,11 @@
"color": "#bfdadc",
"description": "vscode"
},
{
"name": "📦 manager: winget",
"color": "#bfdadc",
"description": "winget"
},
{
"name": "📦 manager: zypper",
"color": "#bfdadc",
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/labeller-content-based.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,9 @@ jobs:
- "visual studio code"
- "visual studio"
"📦 manager: winget":
- "winget"
"📦 manager: zypper":
- "zypper"
- "opensuse"
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/labeller-file-based.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,12 @@ jobs:
- meta_package_manager/managers/vscode*
- tests/*vscode*
"📦 manager: winget":
- changed-files:
- any-glob-to-any-file:
- meta_package_manager/managers/winget*
- tests/*winget*
"📦 manager: zypper":
- changed-files:
- any-glob-to-any-file:
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -421,6 +421,12 @@ jobs:
iwr get.scoop.sh -outfile 'install.ps1'
.\install.ps1 -RunAsAdmin
# WinGet
- name: WinGet - Windows self-upgrade
if: runner.os == 'Windows'
run: |
winget upgrade winget --accept-package-agreements --accept-source-agreements --disable-interactivity
# DNF
- name: DNF - Linux install
if: runner.os == 'Linux'
Expand Down
9 changes: 5 additions & 4 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@
This version is not released yet and is under active development.
```

- Slim down package by moving unit tests out of the main package.
- Split `dev` dependency groups into optional `test`, `typing` and `docs` groups.
- Remove direct dependency on `click` and `mypy`.
- Make `typing-extensions` dependency optional.
- \[winget\] Add support for WinGet on Windows. Closes {issue}`500` and {issue}`1241`.
- \[mpm\] Slim down package by moving unit tests out of the main package.
- \[mpm\] Split `dev` dependency groups into optional `test`, `typing` and `docs` groups.
- \[mpm\] Remove direct dependency on `click` and `mypy`.
- \[mpm\] Make `typing-extensions` dependency optional.

## [5.15.0 (2024-02-25)](https://github.com/kdeldycke/meta-package-manager/compare/v5.14.2...v5.15.0)

Expand Down
2 changes: 1 addition & 1 deletion docs/benchmark.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ but [there might be a greater need for such tools](usecase.md) out there. Here i
| `voom` | || | | |
| `vscode` || | | | |
| `vundle` | || | | |
| `winget` | || | | |
| `winget` | || | | |
| `wsl` | || | | |
| `xbps` | | ||||
| `yadm` | || | | |
Expand Down
347 changes: 347 additions & 0 deletions meta_package_manager/managers/winget.py

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions meta_package_manager/pool.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
from .managers.snap import Snap
from .managers.steamcmd import SteamCMD
from .managers.vscode import VSCode
from .managers.winget import WinGet
from .managers.yarn import Yarn
from .managers.zypper import Zypper

Expand Down Expand Up @@ -77,6 +78,7 @@
Snap,
SteamCMD,
VSCode,
WinGet,
Yarn,
Yay,
YUM,
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ keywords = [
'vscode',
'xbar',
'swiftbar',
'winget',
'yarn',
'yay',
'yum',
Expand Down
1 change: 1 addition & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ def subcmd():
"snap": "standard-notes",
"steamcmd": "740",
"vscode": "tamasfe.even-better-toml",
"winget": "Microsoft.PowerToys",
"yarn": "awesome-lint",
# https://aur.archlinux.org/packages/meta-package-manager
"yay": "meta-package-manager",
Expand Down
4 changes: 2 additions & 2 deletions tests/test_pool.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ def test_manager_classes_order():

def test_manager_count():
"""Check all implemented package managers are accounted for, and unique."""
assert len(manager_classes) == 29
assert len(pool) == 29
assert len(manager_classes) == 30
assert len(pool) == 30
assert len(pool) == len(pool.all_manager_ids)
assert pool.all_manager_ids == tuple(sorted(set(pool)))

Expand Down

0 comments on commit 0e70cf9

Please sign in to comment.