Page 1 of 2

boon - A build tool for LÖVE

Posted: Sat Apr 20, 2019 7:23 pm
by Ikroth
Hello everyone!

Packaging and distribution can be a big hassle for LÖVE, which is why great tools like love-release and other packagers exist. However, installing these can be tricky and error prone. I've experienced a number of dependency issues with love-release (libzip, luarocks, etc.) and it has led to a lot of frustration. I just wanted a tool that was easy to install, easy to use, and can build my game quickly and without any trouble.

So, I created a tool called boon: https://github.com/camchenry/boon

boon is a build tool for LÖVE. It makes it easy to package your game for multiple platforms, similar to love-release. It is a single executable with no other dependencies. It runs on Windows, macOS, and Linux. It can be used across multiple projects and makes automated building a breeze.

Features
  • Package your game for multiple platforms. Supported platforms:
    • Native (.love)
    • Windows (.exe)
    • macOS (.app)
    • Linux (coming soon)
  • Package your game for multiple versions of LÖVE. Supported versions:
    • 11.1x
    • 0.10.2
  • No external dependencies
  • Deploy to multiple destinations (coming soon)
You can download the latest release here: https://github.com/camchenry/boon/releases

Basic instructions for getting started are in the README: https://github.com/camchenry/boon/blob/master/README.md

This is an early release so there is guaranteed to be bugs, so let me know what issues you come across and I would be glad to help resolve them.

Re: boon - A build tool for LÖVE

Posted: Tue Feb 11, 2020 5:27 am
by Ikroth
Hello, just wanted to let you all know that I have updated the library to be compatible with version 11.3 of LOVE. I do not have much time to add new features at the moment, but I am maintaining the library. Please submit any issues on the GitHub repository, thank you.

Re: boon - A build tool for LÖVE

Posted: Tue Feb 11, 2020 3:33 pm
by gianmichele
Very nice! Thank you very much

Re: boon - A build tool for LÖVE

Posted: Sun Feb 16, 2020 8:03 pm
by Kel
This looks useful. Thank you for making it, Ikroth.

Re: boon - A build tool for LÖVE

Posted: Thu Feb 27, 2020 7:32 pm
by pauljessup
Doesn't work on OSX- even after you install love, it keeps saying "can't find windows version of love"

And when you ls that directory it spits out, it shows the love files in the directory it mentions.

Re: boon - A build tool for LÖVE

Posted: Fri Mar 06, 2020 6:08 pm
by Ikroth
pauljessup wrote: Thu Feb 27, 2020 7:32 pm Doesn't work on OSX- even after you install love, it keeps saying "can't find windows version of love"

And when you ls that directory it spits out, it shows the love files in the directory it mentions.
Hi, thank you for the report. Would you mind opening an issue on GitHub so I can keep track of this? It would also greatly help me if you could include screenshots of the problem. I do not currently have access to a macOS device. I will look into this as soon as I get a chance.

Re: boon - A build tool for LÖVE

Posted: Mon Mar 16, 2020 12:23 am
by Ikroth
Please pardon the double post, but I wanted to announce the next version of boon, 0.2.0, which can be found here: https://github.com/camchenry/boon/releases/tag/0.2.0.

This was a primarily bug-fixing and clean-up release, but there are still some good changes. Here's what's changed:

Added
  • New build report to show output file name, elapsed time, and total output size.
    Image
Changed
  • Error handling to better highlight what caused an error to occur. An error will now display a list of causes, in order.
    • Before: Image
    • After: Image
  • "boon build" learned how to build all supported targets at the same time using the --target all option.
Fixed
  • "boon love download" no longer makes an extra unnecessary HTTP request when downloading LÖVE which should improve performance.
  • "boon --version" now displays the correct release version.
  • Unnecessary references (pointers) to small integers values have been removed, slightly improving performance.
  • Library dependencies have been updated, improving performance and fixing many issues.
  • Duplicate entries in the ignore list when merging default and project configuration, removing unneeded work on build.
  • Copy semantics for platform/bitness enums, which may have resolved some issues with cross-platform compatibility.
I would also like to note that the issue which pauljessup was experiencing is now fixed, thanks to their help.

Re: boon - A build tool for LÖVE

Posted: Tue Mar 17, 2020 6:54 pm
by milon
Quick suggestion, Ikroth - update the OP here and the GitHub README.md to indicate that Linux is now supported. And Love 11.3 too. ;)

Re: boon - A build tool for LÖVE

Posted: Wed Mar 18, 2020 1:20 am
by Ikroth
milon wrote: Tue Mar 17, 2020 6:54 pm Quick suggestion, Ikroth - update the OP here and the GitHub README.md to indicate that Linux is now supported. And Love 11.3 too. ;)
I believe that the description is still accurate. boon supports Linux in the sense that there is a binary of boon itself that can run on 64 bit architectures, however there is no native Linux build target for games. The only way to "build for Linux" is creating a love file and asking users to install LOVE on their own machine. Of course, native Linux build would be a genuine executable, but that suffers from portability issues. So, I would consider boon to support Linux builds when it can create something like an AppImage or a Snap. I would like to make that possible, but it is a large task and I do not have the time at the moment to do it.

As far as supporting 11.3 goes, I believe I have updated all of the references for this release, but if I missed any, please let me know.

Thank you for your comments.

Re: boon - A build tool for LÖVE

Posted: Sat Apr 18, 2020 5:08 pm
by JuanjoSalvador
I'm using a Makefile for make my builds (also TravisCI to test and build), so I don't get the point of a build tool. Anyway, it seems pretty nice, I'm going to install and start to use it :)