This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
|
|
@ -0,0 +1,56 @@
|
|||
This test verifies the @pkg-install alias fetch and build the project dependencies
|
||||
without building the project itself.
|
||||
|
||||
$ . ./helpers.sh
|
||||
|
||||
Create a project using the fake library as a dependency:
|
||||
$ cat > dune-project << EOF
|
||||
> (lang dune 3.16)
|
||||
> (package
|
||||
> (name bar)
|
||||
> (allow_empty)
|
||||
> (depends foo))
|
||||
> EOF
|
||||
|
||||
Ensure the alias is not available outside of the package manamgent context:
|
||||
$ dune build @pkg-install
|
||||
Error: The @pkg-install alias cannot be used without a lock dir
|
||||
-> required by alias pkg-install
|
||||
Hint: You might want to create the lock dir with 'dune pkg lock'
|
||||
[1]
|
||||
|
||||
Create a fake package which echoes information to stdout when build:
|
||||
$ make_lockdir
|
||||
$ cat > dune.lock/foo.pkg << EOF
|
||||
> (version 0.0.1)
|
||||
> (build
|
||||
> (run echo "Build package foo"))
|
||||
> (install
|
||||
> (run echo "Install package foo"))
|
||||
> EOF
|
||||
|
||||
Create a rule to show that this rule is not called with `@pkg-install` as `bar`
|
||||
is not build when calling the alias. If called, it would output the content of
|
||||
the `bar.ml` file:
|
||||
$ cat > dune << EOF
|
||||
> (executable
|
||||
> (name bar))
|
||||
> (rule
|
||||
> (target bar.ml)
|
||||
> (action
|
||||
> (progn
|
||||
> (with-stdout-to %{target} (echo "let _ = 42"))
|
||||
> (system "cat %{target}"))))
|
||||
> EOF
|
||||
|
||||
The alias call builds the `foo` dependency but not the project itself. It
|
||||
displays the output of the fake package but not of the `bar.exe` executable:
|
||||
$ dune build @pkg-install
|
||||
Build package foo
|
||||
Install package foo
|
||||
|
||||
If we build the executable, it only shows the content of the executable as dune
|
||||
already built the `foo` dependency when calling `@pkg-install`:
|
||||
|
||||
$ dune build ./bar.exe
|
||||
let _ = 42
|
||||
Loading…
Add table
Add a link
Reference in a new issue