Skip to content

Build electron package using Bazel #12860

Description

@farmaazon

Current progress:

  • esbuild configuration for building electron client
  • Removing Project Manager Remove project manager #14174
    • Remove project manager from the codebase, simplifying packaging
  • Electron Builder Configuration for multiplatform package build
    • Mac
      • Basic unpackaged build
      • Do we really need rules_js patchfs flag to avoid sandboxing issues?
      • Signing and notarization
      • DMG packaging
      • Support building dmg with hdiutil
        • Experiment with providing hdiutil via toolchain or repository (turns out the issue is happening in hdiutil’s business logic)
        • Investigate hdiutil sandboxing issues by debugging
        • Consider HFS+ vs APFS images (https://github.com/create-dmg/create-dmg)
        • Use out-of-sandbox build step or fix the issue
    • Windows
      • Fix engine issues (see below)
      • Do we really need rules_js patchfs flag to avoid sandboxing issues? Yes we do.
      • Build!
      • Integrating installer/uninstaller (or simplifying this part of distribution)
    • Linux
    • Bring back file associations
    • Proper version info configuration
      • Version info in Electron
      • Version info in GUI
      • Version info in Engine
      • Version info in package metadata (electron-builder-config.cjs must contain correct version info)
      • Mirror or simplify release version generation in the Rust build script
    • Engine distribution files are incorrectly symlinked, not copied to the final package
    • Configuration in TypeScript (?, it causes issues, might not worth it)
    • Update electron-builder to the latest version
      • Fix build
    • Provide new .icon on Mac Add icon for MacOS Tahoe #14118
    • Replace JVM engine build with native build when it’s ready
  • Backend build
  • Simplifying electron client
  • Do we implement our custom toolchains correctly? It seems repositories are formed with files for all supported platforms (e.g., Win, Mac, and Linux flatc distributions on Win)
  • CI
    • Gather statistics (like build time) to track improvements
    • Basic smoke test for testing app packaging on Linux

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    -build-scriptCategory: build script-guig-electronGUI: electron application specific

    Type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions