Buckaroo version 1.2.0 has been released, and it brings with it a host of new features. You can grab the latest version from right now, or if you’re just curious here’s a break-down of what’s new.
Hang on, what’s Buckaroo?
Buckaroo is a dependency manager for C/C++. Unlike other solutions, Buckaroo focusses on fast, reproducible, cross-platform builds. It’s also dead-simple to use; if you’re familiar with NPM or Yarn, then you should feel right at home!
GitHub Dependencies 🌍
It is now trivial to turn your GitHub projects into Buckaroo recipes. These recipes are created and managed directly on GitHub, so you don’t need to run a server or wait for approvals to create a package! 😌
Simply add a
buckaroo.json file to the root level of your project and create a release tag on the GitHub website. Buckaroo will intelligently crawl the repository when resolving the dependency.
Dependency Locks 🔒
Buckaroo now saves the resolved dependencies into a lock-file that lives inside your project. This is a much better approach when building on multiple machines, because it ensures that all dependency information is carried with the project’s source-code.
If your project is already using Buckaroo, run
buckaroo install to create a lock-file.
Asynchronous Execution ⏱️
We have put in lots of work to enable the asynchronous execution of tasks inside Buckaroo. Now, downloads, dependency resolution and installation all happen in parallel, so you can quickly get back to writing code.
Reactive UI ⚡
The new console UI is ANSI-enabled, giving rich output as tasks are executed.
The implementation is quite interesting, borrowing ideas from React and Cycle.js. Take a look.
Better Caching 📦
We have improved the caching strategy so that caches are shared between projects. This ensures that you will never download a dependency twice, and it also enables the GitHub integration to be fast.
Better Error Messages 🐛
Error messages are greatly improved, and now Buckaroo will suggest actions to resolve errors in many cases.