rcl/build.rcl
Ruud van Asseldonk a86668e498 Build an installable VSIX extension with Nix
So glad I don't have to pollute my main system with this NPM madness.
2025-05-25 12:13:20 +02:00

46 lines
1.8 KiB
Text

// RCL -- A reasonable configuration language.
// Copyright 2024 Ruud van Asseldonk
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// A copy of the License has been included in the root of the repository.
// This file is the entry point for all generated files in this repository.
// The source file is generally named like the generated file, but with .rcl
// extension. The primary purpose of generating these files is to put the
// version number in one single place, so it's impossible to forget to bump
// one of them when making a new release.
let opts_toml = {
format = "toml",
banner = "# This file is generated, see build.rcl in the repository root.\n",
};
{
"Cargo.toml": opts_toml | { contents = import "//Cargo.rcl" },
"fuzz/Cargo.toml": opts_toml | { contents = import "//fuzz/Cargo.rcl" },
"grammar/tree-sitter-rcl/Cargo.toml":
opts_toml
| { contents = import "//grammar/tree-sitter-rcl/Cargo.rcl" },
// TODO: Maybe instead of checking these generated json files
// in to the repository, we can just generate them at package build time.
"grammar/vscode/language-configuration.json": {
format = "json",
contents = import "//grammar/vscode/language-configuration.rcl",
},
"grammar/vscode/package.json": {
format = "json",
contents = import "//grammar/vscode/package.rcl",
},
"grammar/vscode/rcl.tmLanguage.json": {
format = "json",
contents = import "//grammar/vscode/rcl.tmLanguage.rcl",
},
"grammar/zed/extension.toml":
opts_toml
| { contents = import "//grammar/zed/extension.rcl" },
"pyrcl/Cargo.toml": opts_toml | { contents = import "//pyrcl/Cargo.rcl" },
"wasm/Cargo.toml": opts_toml | { contents = import "//wasm/Cargo.rcl" },
}