yab

module
v1.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2024 License: MIT

README

Yab

Yet another build tool

Deploy to Pages

Wouldn't it be great if you could use the same build tool for every project? Regardless of operating system, programming language...

Yab is just that.

Use Lua scripts to define specific actions and execute them from the command line.

Does that not already exist?

No!

Heavily used Builtin support for many technologies Easy to setup and extend Basic syntax (loops, functions, ...) Parameters No domain specific language Cross-platform by default Does not make the codebase messy
Yab :x: :x: / :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Bazel :x: :white_check_mark: :x: :x: :x: :x: :white_check_mark: :x:
Gradle :white_check_mark: :x: :x: :white_check_mark: :x: :x: / :white_check_mark: :white_check_mark: :white_check_mark:
Make :white_check_mark: :x: :white_check_mark: :x: :white_check_mark: :x: :x: :white_check_mark:

Lua is a common and performant language. Yab offers some useful functions in addition to the Lua standard library that might be useful when building configurations.

Looking for an example configuration? Take a look at this projects .yab folder.

Installation

Download prebuild

https://frank-mayer.github.io/yab/

Install using Go
go install github.com/Frank-Mayer/yab/cmd/yab@latest

Docs

Documentation is in the DOCS.md file.

Usage

Run one or more configs:

yab [configs ...]

Pass arguments to the scripts:

yab [configs ...] -- [args ...]

A config is a lua file inside the config directory.

The following directories are used as configs (first found wins)

  1. ./.yab/
  2. $XDG_CONFIG_HOME/yab/
  3. $APPDATA/yab/
  4. $HOME/.config/yab/

Lua definitions

Run yab --def to create a definitions file in your global config directory. Use this to configure your Lua language server.

Global config is one of those directories:

  1. $XDG_CONFIG_HOME/yab/
  2. $APPDATA/yab/
  3. $HOME/.config/yab/

Auto completion

Fish completions: yab.fish

GitHub Actions

- name: Setup Yab
  uses: Frank-Mayer/yab-setup@v1.0.0

Badge

Yab Project

[![Yab Project](https://img.shields.io/badge/Yab_Project-2C2D72?logo=lua)](https://github.com/Frank-Mayer/yab)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL