Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When the target is a directory use the default alias in it #1259

Merged
merged 5 commits into from
Sep 13, 2018

Conversation

rgrinberg
Copy link
Member

As we've discussed in the default alias proposal.

@rgrinberg rgrinberg requested review from emillon and a user September 12, 2018 15:32
@rgrinberg
Copy link
Member Author

This is still not fully working. I'll add some tests and fix the bugs.

@rgrinberg rgrinberg force-pushed the build-default-alias-dir-target branch from b97fbbf to b95d2b9 Compare September 13, 2018 09:32
@rgrinberg
Copy link
Member Author

This is ready for review. Just need to update the manual and change log.

@rgrinberg rgrinberg force-pushed the build-default-alias-dir-target branch from b34384d to 6eb8c45 Compare September 13, 2018 11:49
@rgrinberg
Copy link
Member Author

ping @emillon

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
Make the alias type private and also creatable from paths

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
@rgrinberg rgrinberg force-pushed the build-default-alias-dir-target branch from 6eb8c45 to 22e2f4f Compare September 13, 2018 12:28
@rgrinberg
Copy link
Member Author

cc @andreypopp. You will be able to do $ dune build dir now.

@rgrinberg rgrinberg merged commit 7c20999 into ocaml:master Sep 13, 2018
@rgrinberg rgrinberg deleted the build-default-alias-dir-target branch September 13, 2018 12:31
@ghost
Copy link

ghost commented Sep 13, 2018

BTW, we also discussed the idea of changing the default to be: build everything. It seems a bit hard to change the meaning of dune build in one step, however it seems fine to do it for this new feature. i.e. dune build . would effectively build everything in the directory. In fact, dune build <dir> could mean building (glob_files <dir>/*).

@nojb
Copy link
Collaborator

nojb commented Sep 13, 2018

Sorry for the basic question, but what is "the default alias" ?

@ghost
Copy link

ghost commented Sep 13, 2018

It's a special alias, it's what dune builds when you do dune build: https://dune.readthedocs.io/en/latest/usage.html#default-alias

rgrinberg added a commit to rgrinberg/opam-repository that referenced this pull request Sep 14, 2018
CHANGES:

- Ignore stderr output when trying to find out the number of jobs
  available (ocaml/dune#1118, fix ocaml/dune#1116, @diml)

- Fix error message when the source directory of `copy_files` does not exist.
  (ocaml/dune#1120, fix ocaml/dune#1099, @emillon)

- Highlight error locations in error messages (ocaml/dune#1121, @emillon)

- Display actual stanza when package is ambiguous (ocaml/dune#1126, fix ocaml/dune#1123, @emillon)

- Add `dune unstable-fmt` to format `dune` files. The interface and syntax are
  still subject to change, so use with caution. (ocaml/dune#1130, fix ocaml/dune#940, @emillon)

- Improve error message for `dune utop` without a library name (ocaml/dune#1154, fix
  ocaml/dune#1149, @emillon)

- Fix parsing `ocamllex` stanza in jbuild files (ocaml/dune#1150, @rgrinberg)

- Highlight multi-line errors (ocaml/dune#1131, @anuragsoni)

- Do no try to generate shared libraries when this is not supported by
  the OS (ocaml/dune#1165, fix ocaml/dune#1051, @diml)

- Fix `Flags.write_{sexp,lines}` in configurator by avoiding the use of
  `Stdune.Path` (ocaml/dune#1175, fix ocaml/dune#1161, @rgrinberg)

- Add support for `findlib.dynload`: when linking an executable using
  `findlib.dynload`, automatically record linked in libraries and
  findlib predicates (ocaml/dune#1172, @bobot)

- Add support for promoting a selected list of files (ocaml/dune#1192, @diml)

- Add an emacs mode providing helpers to promote correction files
  (ocaml/dune#1192, @diml)

- Improve message suggesting to remove parentheses (ocaml/dune#1196, fix ocaml/dune#1173, @emillon)

- Add `(wrapped (transition "..message.."))` as an option that will generate
  wrapped modules but keep unwrapped modules with a deprecation message to
  preserve compatibility. (ocaml/dune#1188, fix ocaml/dune#985, @rgrinberg)

- Fix the flags passed to the ppx rewriter when using `staged_pps` (ocaml/dune#1218, @diml)

- Add `(env var)` to add a dependency to an environment variable.
  (ocaml/dune#1186, @emillon)

- Add a simple version of a polling mode: `dune build -w` keeps
  running and restarts the build when something change on the
  filesystem (ocaml/dune#1140, @kodek16)

- Cleanup the way we detect the library search path. We no longer call
  `opam config var lib` in the default build context (ocaml/dune#1226, @diml)

- Make test stanzas honor the -p flag. (ocaml/dune#1236, fix ocaml/dune#1231, @emillon)

- Test stanzas take an optional (action) field to customize how they run (ocaml/dune#1248,
  ocaml/dune#1195, @emillon)

- Add support for private modules via the `private_modules` field (ocaml/dune#1241, fix
  ocaml/dune#427, @rgrinberg)

- Add support for passing arguments to the OCaml compiler via a
  response file when the list of arguments is too long (ocaml/dune#1256, @diml)

- Do not print diffs by default when running inside dune (ocaml/dune#1260, @diml)

- Interpret `$ dune build dir` as building the default alias in `dir`. (ocaml/dune#1259,
  @rgrinberg)

- Make the `dynlink` library available without findlib installed (ocaml/dune#1270, fix
  ocaml/dune#1264, @rgrinberg)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants