Bazel
just
Our great sponsors
Bazel | just | |
---|---|---|
135 | 161 | |
22,175 | 16,682 | |
1.0% | - | |
10.0 | 9.1 | |
6 days ago | 2 days ago | |
Java | Rust | |
Apache License 2.0 | Creative Commons Zero v1.0 Universal |
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.
Bazel
-
Things I learned while building projects with NX
Bazel by Google
-
Show HN: Flox 1.0 – Open-source dev env as code with Nix
Luckily a feature to limit the disk cache size is in development: https://github.com/bazelbuild/bazel/issues/5139
-
How to write unit tests in C++ relying on non-code files?
This is a problem that Bazel (https://bazel.build) solves in a very convenient way. You can just keep using the paths relative to the repository root, and as long as you properly declare your test needs that file it will access it without problems. Or you can use the runfile libraries to access them too.
-
blade-build VS Bazel - a user suggested alternative
2 projects | 28 Jan 2024
-
My first Software Release using GitHub Release
When doing research for this lab exercise I looked at both vcpkg and conan. Both are package managers that would automate the installation and configuration of my program with its dependencies. However, when it came to releasing and sharing my program my options were limited. For example, the central public registry for conan packages is conan-center, but these packages are curated and the process is very involved. There was no way conan-center would accept a class project like mine. Alternatively, I could host a conan package on a public Artifactory repository, but accessing the package requires users to add the repository to their conan remote. This already sounded like too many steps to expect regular users to follow - I already haven't setup any conan remotes, there's no way I could expect regular users to know about conan remotes, let alone have conan installed on their system. After discussing with people online and consulting my instructor, I ultimately decided to do a GitHub release. However, in the future I was encouraged to look into using CMake or bazel.
-
Declarative Gradle is a cool thing I am afraid of: Maven strikes back
NOTE: I won’t mention SBT and Leiningen here because, with all due respect, they are niche build tools. I also won’t discuss Kobalt for the same reason (besides, it’s no longer actively maintained). Additionally, I won’t touch upon Bazel and Buck in this context, mainly because I’m not very familiar with them. If you have insights or comments about these tools, please feel free to share them in the comments 👇
-
A Modern C Development Environment
> None of this solves C's only REAL problem (in my opinion) which is the lack of dependency management.
Bazel solves this really nicely, I know some people have strong opinions on it but I cannot recommend it enough
-
Monorepo + Microservices + Dependency Managment + Build system HELL
Does pants/bazel can help me?
-
Go Dependency management in large company projects - How do you do it?
I know that some projects like cockroach use custom build tools like bazel. But we actually really like to use to be able to build our projects simply with the great go toolchain and don't really aim to dive deep into custom build solutions.
-
What was used to build C++ programs before Cmake?
Bazel is a Google project that showcases first-class support for the major languages Google uses (C++, Java, Go), and it'd probably have replaced CMake if it weren't written in Java, which brought a host of technical challenges. Then those challenges were fixed and Oracle threatened to bring legal challenges instead.
just
-
Which command did you run 1731 days ago?
> 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:
-
Using Make – writing less Makefile
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.
-
Show HN: Just.sh – compiler that turns Justfiles into portable shell scripts
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
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?
https://github.com/casey/just - more of a command runner but the Justfile syntax is quite Makefile-like.
If you dislike make checkout just https://github.com/casey/just
i've grown to like this for my personal projects. https://github.com/casey/just
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
Reminds me of `just`. Which I love.
-
Dev Containers: Open, Develop, Repeat...
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?
Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.
Task - A task runner / simpler Make alternative written in Go
nx - Smart Monorepos · Fast CI
meson - The Meson Build System
cargo-make - Rust task runner and build tool.
Gradle - Adaptable, fast automation for all
ninja - a small build system with a focus on speed
turborepo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turborepo and Turbopack. [Moved to: https://github.com/vercel/turbo]
Apache Maven - Apache Maven core
mediapipe - Cross-platform, customizable ML solutions for live and streaming media.
pants - The Pants Build System
bazelisk - A user-friendly launcher for Bazel.