1. New build system
All checks were successful
build-dsl-smoke / Build judge (push) Successful in 12s
build-dsl-smoke / debug / clang / linux (push) Successful in 6s
build-dsl-smoke / debug / gcc / linux (push) Successful in 8s
build-dsl-smoke / release / clang / linux (push) Successful in 8s
build-dsl-smoke / release / gcc / linux (push) Successful in 6s
build-dsl-smoke / sanitized / clang / linux (push) Successful in 8s
build-dsl-smoke / sanitized / gcc / linux (push) Successful in 7s
build-dsl-smoke / debug / clang / windows (push) Successful in 13s
build-dsl-smoke / debug-valgrind / gcc / linux (push) Successful in 14s
build-dsl-smoke / release / clang / windows (push) Successful in 16s
build-dsl-smoke / debug / msvc / windows (push) Successful in 18s
build-dsl-smoke / release / msvc / windows (push) Successful in 17s
build-dsl-smoke / SUMMARY (push) Successful in 4s
Release / Build & publish (push) Successful in 48s

Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2026-04-12 07:59:38 +00:00
parent 358e3146bc
commit 7ec3a43c7a
47 changed files with 14124 additions and 209 deletions

View File

@@ -0,0 +1,41 @@
// Наследование общей конфигурации через `include`. Подключает соседний
// common.jdg (тулчейны + build_defaults + глобальные настройки), а затем
// задаёт только специфичные для этой задачи build-варианты и тесты.
//
// Пути в include относительны самому этому файлу (не CWD, не корню репо).
// Абсолютные пути тоже работают. Циклические включения детектятся парсером.
//
// Локальные директивы поверх include могут переопределять:
// - скаляры в build_defaults (через последующий build_defaults-блок)
// - timeout / memory_limit / binary / sources / normalize_crlf / trim_trailing_ws
// Но не могут переопределять:
// - toolchains с тем же именем (ошибка «duplicate toolchain»)
// - build с тем же именем
// - group с тем же именем
include "common.jdg"
build "release" {
profile = release
}
build "debug" {
profile = debug
warnings = pedantic
}
build "sanitized" {
profile = sanitized
sanitize = "address" "undefined"
platforms = "linux"
compilers = "gcc" "clang"
}
group("basic") {
weight = 1.0
test("smoke") {
stdin = "1\n42\n"
stdout = "42\n"
}
}