This commit is contained in:
parent
7fe621f8a2
commit
29a8a55f37
7 changed files with 167 additions and 1 deletions
13
.drone.yml
13
.drone.yml
|
@ -7,3 +7,16 @@ steps:
|
||||||
image: registry.gitlab.com/pipeline-components/luacheck:latest
|
image: registry.gitlab.com/pipeline-components/luacheck:latest
|
||||||
commands:
|
commands:
|
||||||
- luacheck --std +love -g -u -t .
|
- luacheck --std +love -g -u -t .
|
||||||
|
- name: build
|
||||||
|
image: alpine
|
||||||
|
commands:
|
||||||
|
- ./tools/boon/boon love download 11.3
|
||||||
|
- ./tools/boon/boon build .
|
||||||
|
- name: release
|
||||||
|
image: plugins/gitea-release
|
||||||
|
settings:
|
||||||
|
api_key:
|
||||||
|
from_secret: gitea_api
|
||||||
|
base_url: https://git.biggetje.net
|
||||||
|
files: release/*
|
||||||
|
prerelease: true
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +1,4 @@
|
||||||
vision.sublime-project
|
vision.sublime-project
|
||||||
vision.sublime-workspace
|
vision.sublime-workspace
|
||||||
|
build/
|
||||||
|
release/
|
||||||
|
|
41
Boon.toml
Normal file
41
Boon.toml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
[project]
|
||||||
|
authors = "The Impossible Astronaut"
|
||||||
|
description = "A small game about a set of spaceships"
|
||||||
|
email = "buildartifacts@sexybiggetje.nl"
|
||||||
|
package_name = "vision"
|
||||||
|
title = "Vision"
|
||||||
|
url = "https://git.biggetje.net/martijn/vision/"
|
||||||
|
uti = "com.theimpossibleastronaut.vision"
|
||||||
|
version = "v0.1"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
output_directory = "release"
|
||||||
|
ignore_list = [
|
||||||
|
# Git
|
||||||
|
"^.git.*",
|
||||||
|
|
||||||
|
# Binary files
|
||||||
|
".zip$",
|
||||||
|
".tar.gz$",
|
||||||
|
".love$",
|
||||||
|
".exe$",
|
||||||
|
".psd$",
|
||||||
|
|
||||||
|
# Boon-specific files and directories
|
||||||
|
"Boon.toml",
|
||||||
|
"release",
|
||||||
|
"tools",
|
||||||
|
".drone.yml",
|
||||||
|
".luacheckrc",
|
||||||
|
"vision.sublime-.*"
|
||||||
|
]
|
||||||
|
|
||||||
|
# List of targets to build for
|
||||||
|
# Possible values: "love", "windows", "macos", "all"
|
||||||
|
targets = ["all"]
|
||||||
|
|
||||||
|
# If this is set to true, then the default ignore list will not be
|
||||||
|
# merged with the project specific ignore list. This allows the
|
||||||
|
# ignore list to be completely overwritten.
|
||||||
|
exclude_default_ignore_list = false
|
||||||
|
|
2
conf.lua
2
conf.lua
|
@ -1,7 +1,7 @@
|
||||||
function love.conf(t)
|
function love.conf(t)
|
||||||
t.title = "Vision"
|
t.title = "Vision"
|
||||||
t.author = "The Impossible Astronaut"
|
t.author = "The Impossible Astronaut"
|
||||||
t.version = "11.4"
|
t.version = "11.3"
|
||||||
t.identity = "Vision"
|
t.identity = "Vision"
|
||||||
t.gammacorrect = true
|
t.gammacorrect = true
|
||||||
|
|
||||||
|
|
7
tools/boon/LICENSE
Normal file
7
tools/boon/LICENSE
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Copyright 2019 Cameron McHenry
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
103
tools/boon/README.md
Normal file
103
tools/boon/README.md
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
# boon
|
||||||
|
|
||||||
|
boon is a build tool for LÖVE. It makes it easy to package your game for multiple platforms, similar to [love-release](https://github.com/MisterDA/love-release). It is a single executable with no other dependecies. It can be used across multiple projects and makes automated building a breeze.
|
||||||
|
|
||||||
|
![Rust](https://github.com/camchenry/boon/workflows/Rust/badge.svg)
|
||||||
|
|
||||||
|
Licensed under the MIT License.
|
||||||
|
|
||||||
|
# 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.x
|
||||||
|
* 0.10.2
|
||||||
|
* No external dependencies
|
||||||
|
|
||||||
|
# Getting started
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Download prebuilt binaries (recommended)
|
||||||
|
|
||||||
|
boon has prebuilt binaries on the GitHub Releases page. Download the zip file, then extract the executable onto your PATH.
|
||||||
|
|
||||||
|
If you're a **Windows** user, download the `boon-windows-amd64` file.
|
||||||
|
|
||||||
|
If you're a **macOS** user, download the `boon-macos-amd64` file.
|
||||||
|
|
||||||
|
If you're a **Linux** user, download the `boon-linux-amd64` file.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
In general, if you need help figuring out how to use a command you can pass the `--help` option to see possible arguments, options, and subcommands. To get started and see the top-level commands and options, run `boon --help`.
|
||||||
|
|
||||||
|
### Initialization
|
||||||
|
To start using boon with your project, it is recommended to first initialize it. This will create a `Boon.toml` file that will let you configure the settings for your project.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ boon init
|
||||||
|
```
|
||||||
|
|
||||||
|
If you don't initialize boon, you can still build your project normally, but the default configuration will be used to build it instead. You can initialize it later, or create a `Boon.toml` file yourself.
|
||||||
|
|
||||||
|
### Downloading LÖVE
|
||||||
|
|
||||||
|
In order to build your project, you first need to download the versionof LÖVE that you are using for it.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Will download LÖVE 11.3 for building
|
||||||
|
$ boon love download 11.3
|
||||||
|
```
|
||||||
|
|
||||||
|
### Building your project
|
||||||
|
|
||||||
|
Finally, to build your project just run `boon build` followed by where you want to run it. Usually, you just want to run it on the current directory, `.`.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ boon build .
|
||||||
|
```
|
||||||
|
|
||||||
|
Without a target specified, this will build a `.love` file and put it in the `release` directory. This is shorthand for `boon build <dir> --target love`
|
||||||
|
|
||||||
|
It is possible to build all targets simultaneously by passing `all` as the target, for example, `boon build . --target all`.
|
||||||
|
|
||||||
|
#### Building for Windows
|
||||||
|
|
||||||
|
To build a Windows application:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ boon build . --target windows
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Building for macOS
|
||||||
|
|
||||||
|
To build a macOS application:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ boon build . --target macos
|
||||||
|
```
|
||||||
|
|
||||||
|
### Building for a different version of LÖVE
|
||||||
|
|
||||||
|
If you would like to build for a LÖVE version other than the default, you can specify it using the `--version` flag.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ boon build . --version 0.10.2
|
||||||
|
```
|
||||||
|
|
||||||
|
## Compiling from source
|
||||||
|
|
||||||
|
boon is written in Rust, so you will need to install [Rust](https://www.rust-lang.org/) in order to compile it.
|
||||||
|
|
||||||
|
To build boon:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:camchenry/boon.git
|
||||||
|
cd boon
|
||||||
|
cargo build --release
|
||||||
|
./target/release/boon --version
|
||||||
|
boon 0.2.0
|
||||||
|
```
|
BIN
tools/boon/boon
Normal file
BIN
tools/boon/boon
Normal file
Binary file not shown.
Loading…
Reference in a new issue