Forum | Documentation | Website | Blog

Skip to content

Switch to just

Ayush Singh requested to merge just into main
  • just is an alternative to make, designed to create tasks, not to be used as a build system.
  • This has the benefit of not needing PHONY or some other hacks to make Makefile work as a task runner.
  • The syntax is pretty nice.
  • Also generates a help page which is great for new people to use it. Doing this with Make involves using a hacky sed based script that is prone to breaking. Here is the current help page:
❯ just
Available recipes:
    default                                        # default recipe to display help information
    generate-cli-manpage                           # Generate Manpage for CLI
    generate-shell-completion SHELL                # Generate Shell completion for CLI

    [build]
    build-cli TARGET=_HOST_TARGET                  # Release build for Beagle Board Imager CLI. Should be used for final testing
    build-gui TARGET=_HOST_TARGET                  # Release build for Beagle Board Imager GUI. Should be used for final testing
    build-service TARGET=_HOST_TARGET              # Release build for Beagle Board Imager GUI. Should be used for final testing

    [housekeeping]
    check                                          # Run code checks
    clean                                          # Clean Artifacts
    test                                           # Run tests on workspace

    [packaging]
    package-cli-darwin-zip TARGET=_HOST_TARGET     # Create compressed CLI package for macOS
    package-cli-linux-xz TARGET=_HOST_TARGET       # Create compressed CLI package for Linux
    package-cli-windows-zip TARGET=_HOST_TARGET    # Create compressed CLI package for Windows
    package-gui-darwin-dmg TARGET=_HOST_TARGET     # Create macOS dmg package
    package-gui-linux-appimage TARGET=_HOST_TARGET # Create Appimage package for GUI
    package-gui-linux-deb TARGET=_HOST_TARGET      # Create debian package for GUI
    package-gui-windows-zip TARGET=_HOST_TARGET    # Create Windows portable zip package
    package-service-linux-deb TARGET=_HOST_TARGET  # Create debian package for Beagle Board Imager Service
    package-service-linux-xz TARGET=_HOST_TARGET   # Create compressed Beagle Board Imager service package for Linux
    release TARGET=_HOST_TARGET                    # Generate all supported packages for the target

    [run]
    run-cli FLAGS=''                               # Run CLI for quick testing on host. Flags can be used to modify the build
    run-gui FLAGS=''                               # Run GUI for quick testing on host. Flags can be used to modify the build

    [setup]
    setup-appimage INSTALL_DIR=_EXE_DIR            # Setup for building appimages
    setup-deb                                      # Setup for building debian packages

Signed-off-by: Ayush Singh [email protected]

Edited by Ayush Singh

Merge request reports