mirror of
https://github.com/kevinveenbirkenbach/cli-gnome-extension-manager.git
synced 2026-08-16 19:52:49 +00:00
Replaces main.sh with the 'cli-gnome-extension-manager' distribution in a src layout, shipping both the cli-gnome-extension-manager and the older goexma command. sync_repository keeps the three states of the shell original apart: clone when the folder is missing, pull when it is a checkout, leave it alone otherwise, so a manually installed extension is never overwritten. build_extension still moves the checkout away before make install, but into a TemporaryDirectory instead of a fixed /tmp/<name>, which removes the collision between parallel runs and cleans up on abort. Every step passes through the exit code of the failing tool, replacing the shell chain of || exit 1; a missing gnome-extensions aborts with exit 127. The e2e suite builds a real git repository, clones it with real git and runs real make install. Adds --extensions-dir, unit, integration and container-based e2e tests, ruff and markdown/mermaid linting, CodeQL and Dependabot, and pins the core metadata to 2.4 so twine accepts the artifacts. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
37 lines
994 B
TOML
37 lines
994 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "cli-gnome-extension-manager"
|
|
version = "0.0.0"
|
|
description = "Install, enable and disable GNOME shell extensions from the shell."
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = { text = "AGPL-3.0-or-later" }
|
|
authors = [{ name = "Kevin Veen-Birkenbach", email = "kevin@veen.world" }]
|
|
keywords = ["gnome", "extensions", "desktop", "cli"]
|
|
dependencies = []
|
|
|
|
[project.urls]
|
|
Homepage = "https://www.veen.world/"
|
|
Repository = "https://github.com/kevinveenbirkenbach/cli-gnome-extension-manager"
|
|
|
|
[project.scripts]
|
|
cli-gnome-extension-manager = "gnome_extension_manager.cli:main"
|
|
goexma = "gnome_extension_manager.cli:main"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/gnome_extension_manager"]
|
|
core-metadata-version = "2.4"
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
core-metadata-version = "2.4"
|
|
|
|
[tool.ruff]
|
|
line-length = 88
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "B", "UP"]
|
|
ignore = ["E501"]
|