mirror of
https://git.hiabuto.net/C3MA/CCMA.git
synced 2026-06-30 18:54:51 +02:00
302170230a
- Add Windows LibreOffice detection fallback for soffice path - Check standard install locations (%PROGRAMFILES%, %PROGRAMFILES(X86)%) - Graceful fallback with clear error messages - Add PyInstaller build infrastructure - build/ccma.spec: PyInstaller configuration with icon generation - build/build.ps1: Automated build script for standalone exe - main.py: Entry point for PyInstaller - Supports versioning and architecture tagging - Create custom CCMA icon - Person + Gear symbol representing member administration - Cyan/White/Orange color scheme - Auto-converts PNG to ICO during build - Update documentation - README: Windows PowerShell setup instructions - README: Linux/macOS bash setup instructions - README: Standalone executable build guide - pyproject.toml: Add 'build' extra with pyinstaller+pillow - Add regression tests - Test office executable detection and Windows fallback - Verify all tests pass (80 passed)
59 lines
1.1 KiB
TOML
59 lines
1.1 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=69"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "ccma"
|
|
dynamic = ["version"]
|
|
description = "Chaotic Creature Member Administration for Chaos Computer Club Mannheim e.V."
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
license = "MIT"
|
|
authors = [{name = "Chaos Computer Club Mannheim e.V."}]
|
|
dependencies = [
|
|
"screeninfo>=0.8.1,<1",
|
|
"ttkbootstrap-icons",
|
|
"ttkbootstrap-icons-mat",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8",
|
|
"ruff>=0.6",
|
|
]
|
|
build = [
|
|
"pyinstaller>=6",
|
|
"pillow>=9",
|
|
]
|
|
|
|
[project.scripts]
|
|
ccma = "ccma.app:main"
|
|
|
|
[tool.setuptools]
|
|
package-dir = {"" = "src"}
|
|
include-package-data = true
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.setuptools.package-data]
|
|
ccma = [
|
|
"VERSION",
|
|
"assets/CHANGELOG.json",
|
|
"assets/splash.png",
|
|
"assets/templates/*",
|
|
"assets/themes/forest/**/*",
|
|
"assets/themes/forest/*",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
pythonpath = ["src"]
|
|
|
|
[tool.ruff]
|
|
line-length = 110
|
|
target-version = "py311"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "UP", "B"]
|