lf-lang / lingo

Package manager and build tool for the Lingua Franca coordination language
BSD 2-Clause "Simplified" License
4 stars 1 forks source link

Bikeshedding new Barrel.toml #3

Closed tanneberger closed 10 months ago

tanneberger commented 1 year ago

Proposal of Barrel.toml

[package]
name = "example_project"
version = "0.1.0"
authors = ["tassilo.tannerber@tu-dresden.de"]
homepage = "https://lf-lang.org"
license = "Weird Stallman License"
description = "A little Barrel.toml so people can discuss it"

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

# first binary in the project
[[app]]
name = "git-hook" # <-- should this default to package.name ?
target = "cpp"
# main_reactor defaults to src/main.lf

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

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

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

# [CONTROVERSIAL] AND NOT PART OF THE PROPOSAL
# for projects that are way to complicated to build ourself
# build-script = "./build.sh"
# 
# build-script-inline = '''
#   barrel generate --out ./src-gen
#   mkdir build
#   cd build
#   cmake ../src-gen
#   make
# '''

[[app.dependencies]]
blink = "0.1.2"

[[app.properties]]
no-compile = true
lhstrh commented 1 year ago

Additional questions/suggestions that came up:

tanneberger commented 1 year ago

Packaging Meeting

tanneberger commented 10 months ago

Not relevant anymore