feat(build): cross-platform build-and-install with Windows shell integration#202
Open
hughesyadaddy wants to merge 1 commit into
Open
feat(build): cross-platform build-and-install with Windows shell integration#202hughesyadaddy wants to merge 1 commit into
hughesyadaddy wants to merge 1 commit into
Conversation
3 tasks
d178dd4 to
5830c14
Compare
…gration Add scripts/build_and_install.py as the shared macOS/Windows entry point with PyInstaller build and platform-default install. Register Windows installs via Start Menu shortcut, Apps and Features uninstall key, and an uninstall script. Require explicit MOUSER_SIGN_IDENTITY or MOUSER_TEAM_ID for macOS signing with no hardcoded team defaults. Fix packaged QML on Windows (pageHost layout, ScrollView sizing, Qt plugin paths, QML warning logs). Add unit tests that pass on Linux CI.
5830c14 to
f7be548
Compare
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scripts/build_and_install.pyas the shared macOS/Windows build-and-install entry point (PyInstaller build, install to platform default location).scripts/windows_install.pyto register Windows installs like a normal app: Start Menu shortcut, Apps & Features uninstall key, and an uninstall script.MOUSER_SIGN_IDENTITYorMOUSER_TEAM_ID(or gitignored.env.local) — no hardcoded Apple team ID defaults.StackLayoutsizing that left the main page blank, tightenScrollViewwidths inMousePage.qml, register Qt plugin/QML library paths inmain_qml.py, and log QML warnings to the app log.Why
Windows releases ship as a portable PyInstaller folder (
Mouser.exe+_internal/). Building from the repo previously had no equivalent to the macOS install helper, and the frozen Windows UI could render an empty main panel even though the sidebar loaded. This brings Windows dev install behavior in line with the official bundle layout, fixes the blank content area, and keeps signing configuration out of committed scripts.Windows install behavior
C:\Program Files\Mouser) when the shell can write there; otherwise per-user (%LOCALAPPDATA%\Programs\Mouser).MOUSER_INSTALL_DIR,MOUSER_INSTALL_SCOPE=machine|user.scripts/build_and_install.batwrapper;scripts/install_from_dist.pyto install an existingdist/Mouserwithout rebuilding.macOS behavior
scripts/build_and_install_macos_app.shbecomes a thin wrapper around the Python entry point.MOUSER_SIGN_IDENTITYorMOUSER_TEAM_ID(or values from gitignored.env.local).Test plan
python -m unittest tests.test_build_and_install— 12 tests pass (Windows + Linux CI)._internal).Main.qmlcontainspageHostlayout fix; QML log no longer reportsReferenceError: s is not defined.python3 scripts/build_and_install.pywith signing env set — build +/Applicationsinstall.Notes
tools/probe_frozen_qml.py); not part of this PR..env.localremains gitignored for per-developer signing/install overrides.