43 lines
820 B
Perl
43 lines
820 B
Perl
|
|
build_if is compatible with package.
|
||
|
|
|
||
|
|
This is important to test because in that case, (test) can not be split into two stanzas:
|
||
|
|
|
||
|
|
$ cat > dune-project << EOF
|
||
|
|
> (lang dune 3.9)
|
||
|
|
>
|
||
|
|
> (package (name a) (allow_empty))
|
||
|
|
> EOF
|
||
|
|
|
||
|
|
$ cat > dune << EOF
|
||
|
|
> (test
|
||
|
|
> (name t)
|
||
|
|
> (package a)
|
||
|
|
> (build_if %{env:ENABLED=false}))
|
||
|
|
> EOF
|
||
|
|
|
||
|
|
$ touch t.ml
|
||
|
|
|
||
|
|
$ dune runtest
|
||
|
|
|
||
|
|
If we try to split it we get an error:
|
||
|
|
|
||
|
|
$ cat > dune << EOF
|
||
|
|
> (executable
|
||
|
|
> (name t)
|
||
|
|
> (package a)
|
||
|
|
> (enabled_if %{env:ENABLED=false}))
|
||
|
|
>
|
||
|
|
> (rule
|
||
|
|
> (alias runtest)
|
||
|
|
> (action (run ./t.exe))
|
||
|
|
> (package a)
|
||
|
|
> (enabled_if %{env:ENABLED=false}))
|
||
|
|
> EOF
|
||
|
|
|
||
|
|
$ dune runtest
|
||
|
|
File "dune", line 3, characters 1-12:
|
||
|
|
3 | (package a)
|
||
|
|
^^^^^^^^^^^
|
||
|
|
Error: This field is useless without a (public_name ...) field.
|
||
|
|
[1]
|