1 个不稳定版本

0.2.0 2023年11月17日

#408构建工具

BSD-2-Clause

52KB
1K SLoC

Lingo - 通用语言程序的构建工具

联系方式: [email protected]

Lingo 是通用语言项目的一站式构建工具。Lingo 将管理依赖项,配置构建脚本,并可能为嵌入式平台进行交叉编译。

入门

Lingo 是一个 Rust 项目,使用 cargo 构建。要安装它,只需运行 cargo install --path .

命令行界面

lingua-franca package manager and build tool 0.1.2
tassilo.tanneberger@tu-dresden.de
Build system of lingua-franca projects

USAGE:
    lingo [OPTIONS] <SUBCOMMAND>

OPTIONS:
    -b, --backend <BACKEND>    Force lingo to use the specified backend [default: cli]
    -h, --help                 Print help information
    -V, --version              Print version information

SUBCOMMANDS:
    build     Compile the current package
    clean     Remove build artifacts from the package
    help      Print this message or the help of the given subcommand(s)
    init      Initialize a new package
    run       Build and run a main program in the package
    update    Update all the dependencies in the package

基于 toml 的包配置

Lingo.toml 可能看起来像这样。

[package]
name = "example_project"
version = "0.1.0"
authors = ["[email protected]"]
homepage = "https://lf-lang.org"
license = "Weird Stallman License"
description = "A little Lingo.toml for people"

# shared properties of all binaries
[properties]
fast = true

# first binary in the project
[[app]]
name = "git-hook"
target = "cpp"
main_reactor = "src/Main.lf"
# main_reactor defaults to src/Main.lf

# dependencies
[[app.dependencies]]
git = {version = "0.3.2"}
tarfetcher = {version = "0.4.2"}

# replacement for target properties
[[app.properties]]
cmake-include = "./my-cmake.cmake"
logging = "info"

# second binary
[[app]]
name = "embedded"
# main_reactor = "src/SayHello.lf"
target = "zephyr"

[[app.dependencies]]
blink = {version = "0.1.2"}

[[app.properties]]
no-compile = true

依赖项

~18–29MB
~491K SLoC