57 lines
1.2 KiB
Raku
57 lines
1.2 KiB
Raku
This test checks that in case the dependency of multi staged computation changes,
|
|
only the dependencies up to this stage are rebuilt.
|
|
|
|
$ cat > dune-project << EOF
|
|
> (lang dune 2.0)
|
|
> (using action-plugin 0.1)
|
|
> EOF
|
|
|
|
$ cat > dune << EOF
|
|
> (rule
|
|
> (deps bar_source)
|
|
> (target bar)
|
|
> (action
|
|
> (progn
|
|
> (echo "Building bar!\n")
|
|
> (copy %{deps} %{target}))))
|
|
> \
|
|
> (rule
|
|
> (deps foo_source)
|
|
> (target foo)
|
|
> (action
|
|
> (progn
|
|
> (echo "Building foo!\n")
|
|
> (copy %{deps} %{target}))))
|
|
> \
|
|
> (rule
|
|
> (deps foo_or_bar_source)
|
|
> (target foo_or_bar)
|
|
> (action
|
|
> (progn
|
|
> (echo "Building foo_or_bar!\n")
|
|
> (copy %{deps} %{target}))))
|
|
> \
|
|
> (rule
|
|
> (alias runtest)
|
|
> (action (dynamic-run ./client.exe)))
|
|
> EOF
|
|
|
|
$ cp ./bin/client.exe ./
|
|
|
|
$ printf "foo" > foo_or_bar_source
|
|
$ printf "Hello from foo!" > foo_source
|
|
$ printf "SHOULD NOT BE PRINTED!" > bar_source
|
|
|
|
$ dune runtest
|
|
Building foo_or_bar!
|
|
Building foo!
|
|
Hello from foo!
|
|
|
|
$ printf "bar" > foo_or_bar_source
|
|
$ printf "SHOULD NOT BE PRINTED!" > foo_source
|
|
$ printf "Hello from bar!" > bar_source
|
|
|
|
$ dune runtest
|
|
Building foo_or_bar!
|
|
Building bar!
|
|
Hello from bar!
|