ninja VS just

Compare ninja vs just and see what are their differences.

ninja

a small build system with a focus on speed (by ninja-build)

just

πŸ€– Just a command runner (by casey)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
ninja just
51 161
10,411 16,682
1.6% -
7.9 9.1
6 days ago 2 days ago
C++ Rust
Apache License 2.0 Creative Commons Zero v1.0 Universal
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ninja

Posts with mentions or reviews of ninja. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-26.
  • Using Make – writing less Makefile
    6 projects | news.ycombinator.com | 26 Dec 2023
  • What was used to build C++ programs before Cmake?
    5 projects | /r/cpp_questions | 5 Jul 2023
    Ninja showed real promise for a while, but then CMake grew up and people stopped seeing a reason to leave it behind.
    5 projects | /r/cpp_questions | 5 Jul 2023
  • I have spent two whole work days trying to install GLEW
    6 projects | /r/GraphicsProgramming | 3 Jul 2023
    warning: Starting with the September 2023 release, the default triplet for vcpkg libraries will change from x86-windows to the detected host triplet (x64-windows). To resolve this message, add --triplet x86-windows to keep the same behavior. Computing installation plan... The following packages will be built and installed: * egl-registry:x86-windows -> 2022-09-20 glew:x86-windows -> 2.2.0#3 * opengl:x86-windows -> 2022-12-04#3 * opengl-registry:x86-windows -> 2022-09-29#1 * vcpkg-cmake:x64-windows -> 2023-05-04 * vcpkg-cmake-config:x64-windows -> 2022-02-06#1 Additional packages (*) will be modified to complete this operation. Detecting compiler hash for triplet x86-windows... A suitable version of powershell-core was not found (required v7.2.11) Downloading portable powershell-core 7.2.11... Downloading powershell-core... https://github.com/PowerShell/PowerShell/releases/download/v7.2.11/PowerShell-7.2.11-win-x86.zip->C:\vcpkg\downloads\PowerShell-7.2.11-win-x86.zip Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.2.11/PowerShell-7.2.11-win-x86.zip Extracting powershell-core... error: while detecting compiler information: The log file content at "C:\vcpkg\buildtrees\detect_compiler\stdout-x86-windows.log" is: -- Downloading https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip -> ninja-win-1.10.2.zip... -- Configuring x86-windows CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message): Command failed: C:/vcpkg/downloads/tools/ninja/1.10.2-windows/ninja.exe -v Working Directory: C:/vcpkg/buildtrees/detect_compiler/x86-windows-rel/vcpkg-parallel-configure Error code: 1 See logs for more information: C:\vcpkg\buildtrees\detect_compiler\config-x86-windows-rel-CMakeCache.txt.log C:\vcpkg\buildtrees\detect_compiler\config-x86-windows-out.log
  • Installer script for CMake, Ninja, and Meson
    4 projects | /r/bash | 1 Jun 2023
    I thought I would share my custom installer script for the latest GitHub versions of CMake, Ninja, and Meson.
  • Building and Running Pidgin and Finch 3
    3 projects | dev.to | 6 May 2023
    Now that you have your build system all generated you can go ahead and build everything. By default Meson will use Ninja as the build tool. Ninja is similar to Make but much much faster. You can also generate additional build systems but that's outside of the scope of this post.
  • Is there any way to configure my project so I can work on it on both Windows and MacOS?
    2 projects | /r/sdl | 16 Apr 2023
    There are also some other tools like https://ninja-build.org/ that you might prefer using instead
  • Just: A Command Runner
    27 projects | news.ycombinator.com | 9 Jan 2023
    Oh excellent, then better (and more portable!) tools are available:

    http://pants.build

    https://ninja-build.org

    https://buck.build

    and, if you hate yourself: https://bazel.build

  • Classifying Python virtual environment workflows
    4 projects | news.ycombinator.com | 7 Jan 2023
  • Flutter 3 on Arch Linux: 始め方
    5 projects | dev.to | 1 Jan 2023
    Doctor summary (to see all details, run flutter doctor -v): [βœ“] Flutter (Channel stable, 3.3.10, on Artix Linux 6.0.12-artix1-1, locale en_US.UTF-8) [βœ“] Android toolchain - develop for Android devices (Android SDK version 33.0.1) [βœ—] Chrome - develop for the web (Cannot find Chrome executable at google-chrome) ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable. [βœ—] Linux toolchain - develop for Linux desktop βœ— clang++ is required for Linux development. It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/ βœ— CMake is required for Linux development. It is likely available from your distribution (e.g.: apt install cmake), or can be downloaded from https://cmake.org/download/ βœ— ninja is required for Linux development. It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases βœ— pkg-config is required for Linux development. It is likely available from your distribution (e.g.: apt install pkg-config), or can be downloaded from https://www.freedesktop.org/wiki/Software/pkg-config/ [βœ“] Android Studio (version 2021.3) [βœ“] Connected device (1 available) [βœ“] HTTP Host Availability ! Doctor found issues in 2 categories.

just

Posts with mentions or reviews of just. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-21.
  • Which command did you run 1731 days ago?
    9 projects | news.ycombinator.com | 21 Jan 2024
    > When a command has some cognitive requirements I create a script with some ${1:-default} values and I store them all in $PATH enabled local/bin

    I would consider using just for this:

    https://github.com/casey/just

  • Using Make – writing less Makefile
    6 projects | news.ycombinator.com | 26 Dec 2023
    Your coworker's experience is more principled: Make is a mediocre tool for executing commands. It wasn't ever designed for that. Although it is pretty common to see what you are mentioning in projects because it doesn't require installing a dependency.

    For a repo where an easy to install (single binary) dependency is a non-issue, consider using just. [1] You get `just -l` where you can see all the command available, the ability to use different languages, and overall simpler command writing.

    [1] https://github.com/casey/just

  • Show HN: Just.sh – compiler that turns Justfiles into portable shell scripts
    7 projects | news.ycombinator.com | 26 Dec 2023
    This is fantastic, but I'd say that this solution is somewhat in response to this open issue from 2019:

    https://github.com/casey/just/issues/429

    I really wish just was included as a package in distributions.

  • Sharing Saturday #496
    6 projects | /r/roguelikedev | 8 Dec 2023
    So far, I didn't work on new features at all but on stabilizing the ground for further development: 1. CMake lists and modules were rewritten a lot, now managing builds and their configurations is much lesser pain. 2. Brought in Justfile for regular tasks, and it's great, no less. 3. Linters, formatters, analyzers for almost all the code (except for Janet for now, as because of it being a niche and young technology, it didn't get enough attention yet). 4. ECS stub. Now runtime class doesn't look like a god object. 5. Started writing unit tests which didn't happen with my personal projects before and maybe indicates how serious am I about this one :D 6. Some of previously hardcoded data has been moved to INI files. Now, if I release the game in 10 years, and in 10 more years some eccentric person decides to make a variant of it, it will be slightly simpler.
  • What’s with DevOps engineers using `make` of all things?
    17 projects | /r/devops | 6 Dec 2023
    https://github.com/casey/just - more of a command runner but the Justfile syntax is quite Makefile-like.
    17 projects | /r/devops | 6 Dec 2023
    If you dislike make checkout just https://github.com/casey/just
    17 projects | /r/devops | 6 Dec 2023
    i've grown to like this for my personal projects. https://github.com/casey/just
    17 projects | /r/devops | 6 Dec 2023
    Make is not exactly made for task definition and running, but it can be used like so as long as you know its quirks and counter intuitive gotchas, of which there are many seeing as Make is meant for building sources first and foremost. I use it a lot. I've been meaning to convert at least my personal stuff to https://github.com/casey/just or another task runner for some time though, Make can really be annoying sometimes.
  • Show HN: Jeeves – A Pythonic Alternative to GNU Make
    7 projects | news.ycombinator.com | 5 Nov 2023
    Reminds me of `just`. Which I love.

    https://github.com/casey/just

  • Dev Containers: Open, Develop, Repeat...
    9 projects | dev.to | 30 Oct 2023
    In my example above, I installed the developer tool "Just" as a Dev Container feature. I could also install it by adding the install script to my Dockerfile. However, I would have to build my own Dockerfile and would have to maintain this piece of code myself. This Dev Container Feature works on different architectures and base images, which makes them convenient to use.

What are some alternatives?

When comparing ninja and just you can also consider the following projects:

Task - A task runner / simpler Make alternative written in Go

meson - The Meson Build System

SCons

cargo-make - Rust task runner and build tool.

Bazel - a fast, scalable, multi-language and extensible build system

Invoke - Pythonic task management & command execution.

BitBake - The official bitbake Git is at https://git.openembedded.org/bitbake/. Do not open issues or file pull requests here.

PyBuilder - Software build automation tool for Python.

CMake - Mirror of CMake upstream repository

cargo-xtask

Taskfile - Repository for the Taskfile template.

PlatformIO - Your Gateway to Embedded Software Development Excellence :alien: