Skip to content

Compiling

Tres Finocchiaro edited this page Sep 5, 2024 · 46 revisions

Compatibility

  • ✅ 2.1 | ✅ 2.0 | ✅ 1.9 | ...

Steps

  1. First, install dependencies (jdk, git, ant, nsis/makeself) per Install Dependencies

  2. Clone the source code per Clone Source Code

  3. Pull in the latest source code

    cd tray
    git pull
  4. Compile

    ant

    Optional: Start the software up using this command.

  5. Package

    ant nsis       # <-- Windows installer
    ant pkgbuild   # <-- Apple installer (macOS only)
    ant makeself   # <-- Linux installer

    Note: The installer will be placed in ./out/qz-tray-x.x.x.x, (i.e. .exe, .run, .pkg)

  6. Build for another architecture:

    # Intel 64-bit
    ant -Dtarget.arch=x86_64  # nsis|pkgbuild|makeself
    
    # ARM 64-bit
    ant -Dtarget.arch=arm64   # nsis|pkgbuild|makeself
    
    # RISC-V 64-bit
    ant -Dtarget.arch=riscv64 # nsis|pkgbuild|makeself

Advanced

ANT Command Line

  • Override internal certificate used for signature validation*

    ant nsis -Dauthcert.use=path/to/override.crt

    *Since 2.0.2

ANT Properties File

  • Common uses:

    • Signing a Windows installer executable
    • Providing persistent ant property overrides
  • Create tray/.../private/private.properties

    signing.alias=#keystore alias
    signing.tsaurl=#timestamp url
    signing.keypass=#key password
    signing.storepass=#store password
    signing.keystore=#path to jks file
    #authcert.use=#path to signing auth cert

IntelliJ

  1. Download and install JDK 1.7 or higher. (AdoptOpenJDK 11 is recommended)

  2. Download and install IntelliJ from https://www.jetbrains.com/idea/

  3. Launch IntelliJ

  4. When prompted, click Check out from Version Control (GitHub)

    Host: github.com
    Auth type: password
    Login: <github username>
    Password: <github password>

  5. Clone Repository

    Git Repository URL: https://github.com/qzind/tray
    Parent Directory: <leave default, usually "C:\Users\username\IdeaProjects">
    Directory Name: <leave default, "tray">
    Note, if the Parent Directory doesn't exist, create it.

  6. Open the project

  7. Switch to project view using ALT + 1 (or Command + 1 on Mac)

  8. Click File, Project Structure

    • If you don't have a JDK installed, IntelliJ will offer to download this automatically.
    • If you do have a JDK installed, check that the Project SDK is correct. We recommend Java 11 LTS however newer versions will also work.
    • If <No SDK>, click New, JDK and browse to the appropriate install location, e.g. C:\Program Files\<vendor>\openjdk 11.x.x
  9. From the Project Explorer, Navigate to:

    • tray, src, qz, App.java
    • Right Click, Run
    • On Windows, a firewall prompt may appear, click Run
  10. If you receive JavaFX errors, close and reopen the project. This startup jobs needs the JDK to run, so catch-22. :)

  11. Exit App.java by locating it in the System Tray, Right Click, Exit

    • Alternately, you can click Stop within IntelliJ from bottom left "Run" tab

Troubleshooting

  • Error:(3, 24) java: cannot access javafx.animation.PauseTransition
  • If IntelliJ complains package sun.awt does not exist, see the workaround here
Clone this wiki locally