This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
|
|
@ -0,0 +1,78 @@
|
|||
Test simple interactions between melange.emit and copy_files
|
||||
|
||||
$ cat > dune-project <<EOF
|
||||
> (lang dune 3.8)
|
||||
> (using melange 0.1)
|
||||
> EOF
|
||||
|
||||
$ cat > dune <<EOF
|
||||
> (melange.emit
|
||||
> (alias mel)
|
||||
> (emit_stdlib false)
|
||||
> (target output)
|
||||
> (libraries melange.node)
|
||||
> (preprocess (pps melange.ppx))
|
||||
> (runtime_deps assets/file.txt (glob_files_rec ./globbed/*.txt)))
|
||||
> EOF
|
||||
|
||||
$ mkdir assets
|
||||
$ cat > assets/file.txt <<EOF
|
||||
> hello from file
|
||||
> EOF
|
||||
$ mkdir globbed
|
||||
$ echo a.txt > globbed/a.txt
|
||||
$ echo b.txt > globbed/b.txt
|
||||
|
||||
$ cat > main.ml <<EOF
|
||||
> let dirname = [%mel.raw "__dirname"]
|
||||
> let file_path = "./assets/file.txt"
|
||||
> let file_content = Node.Fs.readFileSync (dirname ^ "/" ^ file_path) \`utf8
|
||||
> let () = Js.log file_content
|
||||
> EOF
|
||||
|
||||
Rules created for the assets in the output directory
|
||||
|
||||
$ dune build output/assets/file.txt --display=short
|
||||
$ find _build/default/output
|
||||
_build/default/output
|
||||
_build/default/output/assets
|
||||
_build/default/output/assets/file.txt
|
||||
$ dune clean
|
||||
|
||||
Alias is found even if source dir "output" isn't present
|
||||
|
||||
$ dune rules @mel | grep file.txt
|
||||
((deps ((File (In_build_dir _build/default/assets/file.txt))))
|
||||
(targets ((files (_build/default/output/assets/file.txt)) (directories ())))
|
||||
(action (chdir _build/default (copy assets/file.txt output/assets/file.txt))))
|
||||
|
||||
$ dune build @mel
|
||||
|
||||
The runtime_dep index.txt was copied to the build folder
|
||||
|
||||
$ ls _build/default/
|
||||
assets
|
||||
globbed
|
||||
main.ml
|
||||
main.pp.ml
|
||||
output
|
||||
$ ls _build/default/output
|
||||
assets
|
||||
globbed
|
||||
main.js
|
||||
node_modules
|
||||
|
||||
$ dune build output/assets/file.txt --display=short
|
||||
$ ls _build/default/output
|
||||
assets
|
||||
globbed
|
||||
main.js
|
||||
node_modules
|
||||
$ ls _build/default/output/globbed
|
||||
a.txt
|
||||
b.txt
|
||||
|
||||
$ node _build/default/output/main.js
|
||||
hello from file
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue