[build-system]
requires = [
    "hatchling", 
    "PySide6; sys_platform == 'win32' or sys_platform == 'linux' or sys_platform == 'darwin'"
]
build-backend = "hatchling.build"

[project]
name = "LCE-Qt-Launcher"
version = "0.0.20a7"
description = "A custom Free/Libre Minecraft LCE Launcher written with PySide6 (Python for Qt 6)."
requires-python = ">3.10, <3.13"
license = "GPL-3.0-or-later"
readme = "readme.md"
license-files = [ "license.md" ] 

dependencies = [
    "PySide6<=6.11.1; sys_platform == 'win32' or sys_platform == 'linux' or sys_platform == 'darwin'",
    "platformdirs<=4.10.0",
    "hatch<=1.16.5",
    "rich<=15.0.0",
    "vdf<=3.4",
    "patchelf<=0.17.2.4; sys_platform == 'linux'",
    "Nuitka<=4.1"
]

[project.scripts]
lce-qt-launcher = "lce_qt_launcher.main:main"
lce-mod-manager = "lce_qt_launcher.managers.mod_manager:main"
lce-steam-manager = "lce_qt_launcher.managers.steam_manager:main"

[project.urls]
Repository = "https://github.com/xgui4/LCE-QT-Launcher"
LicenseURL = "https://www.gnu.org/licenses/gpl-3.0"

[tool.hatch.build.targets.wheel.hooks.custom]
path = "hatch_build.py"

[tool.hatch.envs.default.scripts]
packages = "python packages.py"

[tool.pyright]
reportImportCycles="hint"
reportUnusedCallResult="hint"
reportAny="hint"
reportUnknownMemberType="hint"
reportUnknownVariableType="hint"

[tool.pyproject-appimage]
script = "lce-qt-launcher"
output = "lce-qt-launcher.AppImage"
desktop-entry = "packages/io.github.xgui4.lce_qt_launcher-isolated.desktop"
icon = "assets/io.github.xgui4.lce_qt_launcher.png"
appstream = "packages/io.github.xgui4.lce_qt_launcher.metainfo.xml"

[tool.hatch.build]
artifacts = [
    "src/lce_qt_launcher/ui_*.py",
    "src/lce_qt_launcher/res_rc.py",
]

[tool.hatch.build.targets.wheel]
artifacts = [
    "src/lce_qt_launcher/ui_*.py",
    "src/lce_qt_launcher/res_rc.py",
]

[tool.pyside6-project]
files = [
    "src/lce_qt_launcher/__init__.py",
    "src/lce_qt_launcher/app.py",
    "src/lce_qt_launcher/app_context.py",
    "src/lce_qt_launcher/features.py",
    "src/lce_qt_launcher/views/__init__.py",
    "src/lce_qt_launcher/views/cmd_args.py",
    "src/lce_qt_launcher/views/setting_dialog.py",
    "src/lce_qt_launcher/views/browser_dialog.py",
    "src/lce_qt_launcher/views/term_service.py",
    "src/lce_qt_launcher/views/cli.py",
    "src/lce_qt_launcher/views/launcher.py",
    "src/lce_qt_launcher/views/app_data.py",
    "src/lce_qt_launcher/views/system_info_view.py",
    "src/lce_qt_launcher/views/instance_editor_view.py",
    "src/lce_qt_launcher/views/about_view.py",
    "src/lce_qt_launcher/managers/__init__.py",
    "src/lce_qt_launcher/managers/instance.py",
    "src/lce_qt_launcher/managers/system_manager.py",
    "src/lce_qt_launcher/managers/steam_manager.py",
    "src/lce_qt_launcher/managers/mod_manager.py",
    "src/lce_qt_launcher/managers/import_manager.py",
    "src/lce_qt_launcher/managers/skin_manager.py",
    "src/lce_qt_launcher/managers/display_manager.py",
    "src/lce_qt_launcher/models/__init__.py",
    "src/lce_qt_launcher/models/pref.py",
    "src/lce_qt_launcher/models/theme.py",
    "src/lce_qt_launcher/utils/__init__.py",
    "src/lce_qt_launcher/utils/json_trans.py",
    "src/lce_qt_launcher/utils/holyday.py",
    "src/system_info.ui",
    "src/instance.ui",
    "src/form.ui",
    "src/main.py",
    "license.md",
    "lisezmoi.md",
    "readme.md",
    "res.qrc",
    "CODE-DE-CONDUITE.md",
    "code-of-conduct.md",
    "assets/app.ico"
]
