From bebb7a9432b149fce95ac820757216372afb8f0f Mon Sep 17 00:00:00 2001 From: Cameron Wong Date: Tue, 25 Aug 2020 20:59:39 -0400 Subject: [PATCH 1/6] preliminary rules/engine split Signed-off-by: Cameron Wong --- bench/dune_bench/dune | 2 +- bench/dune_bench/file_tree_cache.ml | 3 +- bench/dune_bench/scheduler_bench.ml | 2 +- bin/alias.ml | 14 ++-- bin/alias.mli | 14 ++-- bin/arg.ml | 11 +-- bin/arg.mli | 7 +- bin/common.ml | 46 ++++++------ bin/common.mli | 16 ++-- bin/describe.ml | 25 ++++--- bin/dune | 4 +- bin/external_lib_deps.ml | 17 +++-- bin/format_dune_file.ml | 2 +- bin/import.ml | 56 +++++++------- bin/init.ml | 2 +- bin/install_uninstall.ml | 30 ++++---- bin/installed_libraries.ml | 2 +- bin/main.ml | 6 +- bin/ocaml_merlin.ml | 7 +- bin/print_rules.ml | 3 +- bin/printenv.ml | 8 +- bin/subst.ml | 2 +- bin/target.ml | 36 ++++----- bin/target.mli | 8 +- bin/top.ml | 23 ++++-- bin/upgrade.ml | 5 +- bin/util.ml | 22 +++--- bin/util.mli | 2 +- bin/utop.ml | 2 +- bin/workspace_root.ml | 5 +- bin/workspace_root.mli | 2 +- boot/libs.ml | 3 +- src/{dune => dune_engine}/action.ml | 0 src/{dune => dune_engine}/action.mli | 0 src/{dune => dune_engine}/action_ast.ml | 0 src/{dune => dune_engine}/action_ast.mli | 0 src/{dune => dune_engine}/action_dune_lang.ml | 0 .../action_dune_lang.mli | 0 src/{dune => dune_engine}/action_exec.ml | 0 src/{dune => dune_engine}/action_exec.mli | 0 src/{dune => dune_engine}/action_intf.ml | 0 src/{dune => dune_engine}/action_mapper.ml | 0 src/{dune => dune_engine}/action_mapper.mli | 0 src/{dune => dune_engine}/action_plugin.ml | 0 src/{dune => dune_engine}/action_plugin.mli | 0 src/{dune => dune_engine}/alias.ml | 0 src/{dune => dune_engine}/alias.mli | 0 .../artifact_substitution.ml | 0 .../artifact_substitution.mli | 0 src/{dune => dune_engine}/assets.ml | 0 src/{dune => dune_engine}/build.ml | 0 src/{dune => dune_engine}/build.mli | 0 src/{dune => dune_engine}/build_context.ml | 0 src/{dune => dune_engine}/build_context.mli | 0 src/{dune => dune_engine}/build_system.ml | 0 src/{dune => dune_engine}/build_system.mli | 0 src/{dune => dune_engine}/cached_digest.ml | 0 src/{dune => dune_engine}/cached_digest.mli | 0 src/{dune => dune_engine}/clflags.ml | 0 src/{dune => dune_engine}/clflags.mli | 0 src/{dune => dune_engine}/config.ml | 0 src/{dune => dune_engine}/config.mli | 0 src/{dune => dune_engine}/context_name.ml | 0 src/{dune => dune_engine}/context_name.mli | 0 src/{dune => dune_engine}/cram_test.ml | 0 src/{dune => dune_engine}/cram_test.mli | 0 src/{dune => dune_engine}/dep.ml | 0 src/{dune => dune_engine}/dep.mli | 0 src/{dune => dune_engine}/dep_path.ml | 0 src/{dune => dune_engine}/dep_path.mli | 0 src/{dune => dune_engine}/dialect.ml | 0 src/{dune => dune_engine}/dialect.mli | 0 src/{dune => dune_engine}/diff.ml | 0 src/{dune => dune_engine}/diff.mli | 0 src/{dune => dune_engine}/dir_set.ml | 0 src/{dune => dune_engine}/dir_set.mli | 0 src/{dune => dune_engine}/dpath.ml | 0 src/{dune => dune_engine}/dpath.mli | 0 src/dune_engine/dune | 25 +++++++ src/{dune => dune_engine}/dune_lexer.mli | 0 src/{dune => dune_engine}/dune_lexer.mll | 0 src/{dune => dune_engine}/dune_project.ml | 0 src/{dune => dune_engine}/dune_project.mli | 0 src/{dune => dune_engine}/file_selector.ml | 0 src/{dune => dune_engine}/file_selector.mli | 0 src/{dune => dune_engine}/file_tree.ml | 0 src/{dune => dune_engine}/file_tree.mli | 0 src/{dune => dune_engine}/foreign_language.ml | 0 .../foreign_language.mli | 0 src/{dune => dune_engine}/format_config.ml | 0 src/{dune => dune_engine}/format_config.mli | 0 src/{dune => dune_engine}/format_dune_lang.ml | 0 .../format_dune_lang.mli | 0 src/{dune => dune_engine}/glob.ml | 0 src/{dune => dune_engine}/glob.mli | 0 src/{dune => dune_engine}/hooks.ml | 0 src/{dune => dune_engine}/hooks.mli | 0 src/{dune => dune_engine}/import.ml | 0 src/{dune => dune_engine}/lib_deps_info.ml | 0 src/{dune => dune_engine}/lib_deps_info.mli | 0 src/{dune => dune_engine}/lib_name.ml | 0 src/{dune => dune_engine}/lib_name.mli | 0 src/{dune => dune_engine}/ml_kind.ml | 0 src/{dune => dune_engine}/ml_kind.mli | 0 src/{dune => dune_engine}/opam_file.ml | 0 src/{dune => dune_engine}/opam_file.mli | 0 src/{dune => dune_engine}/ordered_set_lang.ml | 0 .../ordered_set_lang.mli | 0 .../ordered_set_lang_intf.ml | 0 src/{dune => dune_engine}/package.ml | 0 src/{dune => dune_engine}/package.mli | 0 src/{dune => dune_engine}/persistent.ml | 0 src/{dune => dune_engine}/persistent.mli | 0 src/{dune => dune_engine}/predicate.ml | 0 src/{dune => dune_engine}/predicate.mli | 0 src/{dune => dune_engine}/predicate_lang.ml | 0 src/{dune => dune_engine}/predicate_lang.mli | 0 src/{dune => dune_engine}/print_diff.ml | 0 src/{dune => dune_engine}/print_diff.mli | 0 src/{dune => dune_engine}/process.ml | 0 src/{dune => dune_engine}/process.mli | 0 src/{dune => dune_engine}/promotion.ml | 0 src/{dune => dune_engine}/promotion.mli | 0 src/{dune => dune_engine}/report_error.ml | 0 src/{dune => dune_engine}/report_error.mli | 0 src/{dune => dune_engine}/response_file.ml | 0 src/{dune => dune_engine}/response_file.mli | 0 src/{dune => dune_engine}/rule.ml | 0 src/{dune => dune_engine}/rule.mli | 0 src/{dune => dune_engine}/rules.ml | 0 src/{dune => dune_engine}/rules.mli | 0 src/{dune => dune_engine}/sandbox_config.ml | 0 src/{dune => dune_engine}/sandbox_config.mli | 0 src/{dune => dune_engine}/sandbox_mode.ml | 0 src/{dune => dune_engine}/sandbox_mode.mli | 0 src/{dune => dune_engine}/scheduler.ml | 0 src/{dune => dune_engine}/scheduler.mli | 0 src/{dune => dune_engine}/stanza.ml | 0 src/{dune => dune_engine}/stanza.mli | 0 src/{dune => dune_engine}/stanza_common.ml | 0 src/{dune => dune_engine}/stanza_common.mli | 0 src/{dune => dune_engine}/static_deps.ml | 0 src/{dune => dune_engine}/static_deps.mli | 0 src/{dune => dune_engine}/stats.ml | 0 src/{dune => dune_engine}/stats.mli | 0 src/{dune => dune_engine}/string_with_vars.ml | 0 .../string_with_vars.mli | 0 src/{dune => dune_engine}/stringlike.ml | 0 src/{dune => dune_engine}/stringlike.mli | 0 src/{dune => dune_engine}/stringlike_intf.ml | 0 src/{dune => dune_engine}/sub_dirs.ml | 0 src/{dune => dune_engine}/sub_dirs.mli | 0 src/{dune => dune_engine}/utils.ml | 0 src/{dune => dune_engine}/utils.mli | 0 src/{dune => dune_engine}/value.ml | 0 src/{dune => dune_engine}/value.mli | 0 src/{dune => dune_engine}/variant.ml | 0 src/{dune => dune_engine}/variant.mli | 0 src/{dune => dune_engine}/vcs.ml | 0 src/{dune => dune_engine}/vcs.mli | 0 src/{dune => dune_rules}/action_to_sh.ml | 1 + src/{dune => dune_rules}/action_to_sh.mli | 1 + src/{dune => dune_rules}/action_unexpanded.ml | 1 + .../action_unexpanded.mli | 2 + src/{dune => dune_rules}/artifacts.ml | 1 + src/{dune => dune_rules}/artifacts.mli | 1 + src/dune_rules/assets.ml | 75 +++++++++++++++++++ src/{dune => dune_rules}/binary_kind.ml | 1 + src/{dune => dune_rules}/binary_kind.mli | 1 + src/{dune => dune_rules}/bindings.ml | 1 + src/{dune => dune_rules}/bindings.mli | 1 + src/{dune => dune_rules}/blang.ml | 1 + src/{dune => dune_rules}/blang.mli | 1 + src/{dune => dune_rules}/bootstrap_info.ml | 1 + src/{dune => dune_rules}/bootstrap_info.mli | 1 + src/{dune => dune_rules}/buildable_rules.ml | 1 + src/{dune => dune_rules}/buildable_rules.mli | 1 + src/{dune => dune_rules}/case_lang.ml | 1 + src/{dune => dune_rules}/case_lang.mli | 1 + src/{dune => dune_rules}/check_rules.ml | 1 + src/{dune => dune_rules}/check_rules.mli | 1 + src/{dune => dune_rules}/cinaps.ml | 1 + src/{dune => dune_rules}/cinaps.mli | 1 + src/{dune => dune_rules}/cm_files.ml | 1 + src/{dune => dune_rules}/cm_files.mli | 1 + src/{dune => dune_rules}/cm_kind.ml | 1 + src/{dune => dune_rules}/cm_kind.mli | 1 + src/{dune => dune_rules}/colors.ml | 1 + src/{dune => dune_rules}/colors.mli | 1 + src/{dune => dune_rules}/command.ml | 1 + src/{dune => dune_rules}/command.mli | 2 + .../compilation_context.ml | 1 + .../compilation_context.mli | 1 + src/{dune => dune_rules}/context.ml | 1 + src/{dune => dune_rules}/context.mli | 1 + src/{dune => dune_rules}/coq_lib.ml | 1 + src/{dune => dune_rules}/coq_lib.mli | 1 + src/{dune => dune_rules}/coq_lib_name.ml | 1 + src/{dune => dune_rules}/coq_lib_name.mli | 1 + src/{dune => dune_rules}/coq_module.ml | 1 + src/{dune => dune_rules}/coq_module.mli | 1 + src/{dune => dune_rules}/coq_rules.ml | 1 + src/{dune => dune_rules}/coq_rules.mli | 1 + src/{dune => dune_rules}/coq_sources.ml | 1 + src/{dune => dune_rules}/coq_sources.mli | 2 + src/{dune => dune_rules}/coq_stanza.ml | 1 + src/{dune => dune_rules}/coq_stanza.mli | 1 + src/{dune => dune_rules}/cram_exec.ml | 1 + src/{dune => dune_rules}/cram_exec.mli | 1 + src/{dune => dune_rules}/cram_lexer.mli | 1 + src/{dune => dune_rules}/cram_lexer.mll | 0 src/{dune => dune_rules}/cram_rules.ml | 1 + src/{dune => dune_rules}/cram_rules.mli | 2 + src/{dune => dune_rules}/cram_stanza.ml | 1 + src/{dune => dune_rules}/cram_stanza.mli | 1 + src/{dune => dune_rules}/dep_conf.ml | 1 + src/{dune => dune_rules}/dep_conf.mli | 1 + src/{dune => dune_rules}/dep_conf_eval.ml | 1 + src/{dune => dune_rules}/dep_conf_eval.mli | 2 + src/{dune => dune_rules}/dep_graph.ml | 1 + src/{dune => dune_rules}/dep_graph.mli | 1 + src/{dune => dune_rules}/dep_rules.ml | 1 + src/{dune => dune_rules}/dep_rules.mli | 1 + src/{dune => dune_rules}/dir_contents.ml | 1 + src/{dune => dune_rules}/dir_contents.mli | 1 + src/{dune => dune_rules}/dir_status.ml | 1 + src/{dune => dune_rules}/dir_status.mli | 1 + src/{dune => dune_rules}/dir_with_dune.ml | 1 + src/{dune => dune_rules}/dir_with_dune.mli | 1 + src/{dune => dune_rules}/dune | 6 +- src/{dune => dune_rules}/dune_env.ml | 1 + src/{dune => dune_rules}/dune_env.mli | 1 + src/{dune => dune_rules}/dune_file.ml | 1 + src/{dune => dune_rules}/dune_file.mli | 1 + src/{dune => dune_rules}/dune_init.ml | 1 + src/{dune => dune_rules}/dune_init.mli | 2 + src/{dune => dune_rules}/dune_load.ml | 1 + src/{dune => dune_rules}/dune_load.mli | 2 + src/{dune => dune_rules}/dune_package.ml | 1 + src/{dune => dune_rules}/dune_package.mli | 2 + src/{dune => dune_rules}/dynlink_supported.ml | 1 + .../dynlink_supported.mli | 1 + src/{dune => dune_rules}/enabled_if.ml | 1 + src/{dune => dune_rules}/enabled_if.mli | 1 + src/{dune => dune_rules}/env_node.ml | 1 + src/{dune => dune_rules}/env_node.mli | 1 + src/{dune => dune_rules}/exe.ml | 1 + src/{dune => dune_rules}/exe.mli | 2 + src/{dune => dune_rules}/exe_rules.ml | 1 + src/{dune => dune_rules}/exe_rules.mli | 1 + src/{dune => dune_rules}/expander.ml | 1 + src/{dune => dune_rules}/expander.mli | 2 + src/{dune => dune_rules}/fdo.ml | 1 + src/{dune => dune_rules}/fdo.mli | 2 + src/{dune => dune_rules}/file_binding.ml | 1 + src/{dune => dune_rules}/file_binding.mli | 1 + src/{dune => dune_rules}/findlib/dune | 0 src/{dune => dune_rules}/findlib/findlib.ml | 1 + src/{dune => dune_rules}/findlib/findlib.mli | 3 +- src/{dune => dune_rules}/findlib/meta.ml | 1 + src/{dune => dune_rules}/findlib/meta.mli | 3 +- .../findlib/meta_lexer.mli | 0 .../findlib/meta_lexer.mll | 0 src/{dune => dune_rules}/foreign.ml | 1 + src/{dune => dune_rules}/foreign.mli | 1 + src/{dune => dune_rules}/foreign_rules.ml | 1 + src/{dune => dune_rules}/foreign_rules.mli | 1 + src/{dune => dune_rules}/foreign_sources.ml | 1 + src/{dune => dune_rules}/foreign_sources.mli | 1 + src/{dune => dune_rules}/format_rules.ml | 1 + src/{dune => dune_rules}/format_rules.mli | 1 + src/{dune => dune_rules}/gen_meta.ml | 1 + src/{dune => dune_rules}/gen_meta.mli | 1 + src/{dune => dune_rules}/gen_rules.ml | 1 + src/{dune => dune_rules}/gen_rules.mli | 1 + src/{dune => dune_rules}/global.ml | 1 + src/{dune => dune_rules}/global.mli | 1 + src/{dune => dune_rules}/inline_tests.ml | 1 + src/{dune => dune_rules}/inline_tests.mli | 1 + src/{dune => dune_rules}/install.ml | 1 + src/{dune => dune_rules}/install.mli | 1 + src/{dune => dune_rules}/install_rules.ml | 1 + src/{dune => dune_rules}/install_rules.mli | 1 + src/{dune => dune_rules}/jsoo_rules.ml | 1 + src/{dune => dune_rules}/jsoo_rules.mli | 1 + src/{dune => dune_rules}/lib.ml | 1 + src/{dune => dune_rules}/lib.mli | 1 + src/{dune => dune_rules}/lib_archives.ml | 1 + src/{dune => dune_rules}/lib_archives.mli | 1 + src/{dune => dune_rules}/lib_config.ml | 1 + src/{dune => dune_rules}/lib_config.mli | 1 + src/{dune => dune_rules}/lib_dep.ml | 1 + src/{dune => dune_rules}/lib_dep.mli | 1 + src/{dune => dune_rules}/lib_file_deps.ml | 1 + src/{dune => dune_rules}/lib_file_deps.mli | 1 + src/{dune => dune_rules}/lib_info.ml | 1 + src/{dune => dune_rules}/lib_info.mli | 1 + src/{dune => dune_rules}/lib_kind.ml | 1 + src/{dune => dune_rules}/lib_kind.mli | 1 + src/{dune => dune_rules}/lib_rules.ml | 1 + src/{dune => dune_rules}/lib_rules.mli | 1 + src/{dune => dune_rules}/link_mode.ml | 1 + src/{dune => dune_rules}/link_mode.mli | 1 + .../link_time_code_gen.ml | 1 + .../link_time_code_gen.mli | 1 + src/{dune => dune_rules}/main.ml | 1 + src/{dune => dune_rules}/main.mli | 1 + src/{dune => dune_rules}/mdx.ml | 1 + src/{dune => dune_rules}/mdx.mli | 1 + src/{dune => dune_rules}/menhir.ml | 1 + src/{dune => dune_rules}/menhir.mli | 1 + src/{dune => dune_rules}/menhir_stanza.ml | 1 + src/{dune => dune_rules}/merlin.ml | 1 + src/{dune => dune_rules}/merlin.mli | 1 + src/{dune => dune_rules}/merlin_server.ml | 1 + src/{dune => dune_rules}/merlin_server.mli | 1 + src/{dune => dune_rules}/ml_sources.ml | 1 + src/{dune => dune_rules}/ml_sources.mli | 1 + src/{dune => dune_rules}/mode.ml | 1 + src/{dune => dune_rules}/mode.mli | 1 + src/{dune => dune_rules}/module.ml | 1 + src/{dune => dune_rules}/module.mli | 3 +- .../module_compilation.ml | 1 + .../module_compilation.mli | 1 + src/{dune => dune_rules}/module_name.ml | 1 + src/{dune => dune_rules}/module_name.mli | 1 + src/{dune => dune_rules}/modules.ml | 1 + src/{dune => dune_rules}/modules.mli | 2 + .../modules_field_evaluator.ml | 1 + .../modules_field_evaluator.mli | 2 + src/{dune => dune_rules}/obj_dir.ml | 1 + src/{dune => dune_rules}/obj_dir.mli | 1 + src/{dune => dune_rules}/ocaml_flags.ml | 1 + src/{dune => dune_rules}/ocaml_flags.mli | 1 + src/{dune => dune_rules}/ocaml_stdlib.ml | 1 + src/{dune => dune_rules}/ocaml_stdlib.mli | 1 + src/{dune => dune_rules}/ocaml_version.ml | 1 + src/{dune => dune_rules}/ocaml_version.mli | 2 + src/{dune => dune_rules}/ocamldep.ml | 1 + src/{dune => dune_rules}/ocamldep.mli | 1 + src/{dune => dune_rules}/ocamlobjinfo.mli | 2 + src/{dune => dune_rules}/ocamlobjinfo.mll | 1 + src/{dune => dune_rules}/odoc.ml | 1 + src/{dune => dune_rules}/odoc.mli | 1 + src/{dune => dune_rules}/opam_create.ml | 1 + src/{dune => dune_rules}/opam_create.mli | 1 + src/{dune => dune_rules}/packages.ml | 1 + src/{dune => dune_rules}/packages.mli | 1 + src/{dune => dune_rules}/per_item.ml | 1 + src/{dune => dune_rules}/per_item.mli | 1 + src/{dune => dune_rules}/per_item_intf.ml | 1 + src/{dune => dune_rules}/pform.ml | 1 + src/{dune => dune_rules}/pform.mli | 1 + src/{dune => dune_rules}/preprocess.ml | 1 + src/{dune => dune_rules}/preprocess.mli | 1 + src/{dune => dune_rules}/preprocessing.ml | 1 + src/{dune => dune_rules}/preprocessing.mli | 1 + src/{dune => dune_rules}/profile.ml | 1 + src/{dune => dune_rules}/profile.mli | 1 + src/{dune => dune_rules}/scheme.ml | 1 + src/{dune => dune_rules}/scheme.mli | 1 + src/{dune => dune_rules}/scope.ml | 1 + src/{dune => dune_rules}/scope.mli | 1 + src/{dune => dune_rules}/setup.defaults.ml | 1 + src/{dune => dune_rules}/setup.mli | 1 + src/{dune => dune_rules}/simple_rules.ml | 1 + src/{dune => dune_rules}/simple_rules.mli | 1 + src/{dune => dune_rules}/sub_system.ml | 1 + src/{dune => dune_rules}/sub_system.mli | 1 + src/{dune => dune_rules}/sub_system_info.ml | 1 + src/{dune => dune_rules}/sub_system_info.mli | 1 + src/{dune => dune_rules}/sub_system_intf.ml | 1 + src/{dune => dune_rules}/sub_system_name.ml | 1 + src/{dune => dune_rules}/sub_system_name.mli | 1 + src/{dune => dune_rules}/super_context.ml | 1 + src/{dune => dune_rules}/super_context.mli | 1 + src/{dune => dune_rules}/targets.ml | 1 + src/{dune => dune_rules}/targets.mli | 1 + src/{dune => dune_rules}/test_rules.ml | 1 + src/{dune => dune_rules}/test_rules.mli | 1 + src/{dune => dune_rules}/toplevel.ml | 1 + src/{dune => dune_rules}/toplevel.mli | 1 + src/{dune => dune_rules}/upgrader.ml | 1 + src/{dune => dune_rules}/upgrader.mli | 1 + src/{dune => dune_rules}/utop.ml | 1 + src/{dune => dune_rules}/utop.mli | 1 + src/{dune => dune_rules}/vimpl.ml | 1 + src/{dune => dune_rules}/vimpl.mli | 1 + src/{dune => dune_rules}/virtual_rules.ml | 1 + src/{dune => dune_rules}/virtual_rules.mli | 1 + src/{dune => dune_rules}/visibility.ml | 1 + src/{dune => dune_rules}/visibility.mli | 1 + src/{dune => dune_rules}/watermarks.ml | 1 + src/{dune => dune_rules}/watermarks.mli | 1 + src/{dune => dune_rules}/workspace.ml | 1 + src/{dune => dune_rules}/workspace.mli | 1 + src/{dune => dune_rules}/wrapped.ml | 1 + src/{dune => dune_rules}/wrapped.mli | 1 + test/expect-tests/action_tests.ml | 3 +- test/expect-tests/config_file_test.ml | 4 +- test/expect-tests/dune | 3 +- test/expect-tests/dune_file_tests.ml | 2 +- test/expect-tests/findlib_tests.ml | 3 +- test/expect-tests/ocamlobjinfo_tests.ml | 2 +- test/expect-tests/scheme_tests.ml | 8 +- test/expect-tests/vcs_tests.ml | 2 +- .../artifact_substitution.ml | 2 +- test/unit-tests/artifact_substitution/dune | 2 +- 408 files changed, 581 insertions(+), 196 deletions(-) rename src/{dune => dune_engine}/action.ml (100%) rename src/{dune => dune_engine}/action.mli (100%) rename src/{dune => dune_engine}/action_ast.ml (100%) rename src/{dune => dune_engine}/action_ast.mli (100%) rename src/{dune => dune_engine}/action_dune_lang.ml (100%) rename src/{dune => dune_engine}/action_dune_lang.mli (100%) rename src/{dune => dune_engine}/action_exec.ml (100%) rename src/{dune => dune_engine}/action_exec.mli (100%) rename src/{dune => dune_engine}/action_intf.ml (100%) rename src/{dune => dune_engine}/action_mapper.ml (100%) rename src/{dune => dune_engine}/action_mapper.mli (100%) rename src/{dune => dune_engine}/action_plugin.ml (100%) rename src/{dune => dune_engine}/action_plugin.mli (100%) rename src/{dune => dune_engine}/alias.ml (100%) rename src/{dune => dune_engine}/alias.mli (100%) rename src/{dune => dune_engine}/artifact_substitution.ml (100%) rename src/{dune => dune_engine}/artifact_substitution.mli (100%) rename src/{dune => dune_engine}/assets.ml (100%) rename src/{dune => dune_engine}/build.ml (100%) rename src/{dune => dune_engine}/build.mli (100%) rename src/{dune => dune_engine}/build_context.ml (100%) rename src/{dune => dune_engine}/build_context.mli (100%) rename src/{dune => dune_engine}/build_system.ml (100%) rename src/{dune => dune_engine}/build_system.mli (100%) rename src/{dune => dune_engine}/cached_digest.ml (100%) rename src/{dune => dune_engine}/cached_digest.mli (100%) rename src/{dune => dune_engine}/clflags.ml (100%) rename src/{dune => dune_engine}/clflags.mli (100%) rename src/{dune => dune_engine}/config.ml (100%) rename src/{dune => dune_engine}/config.mli (100%) rename src/{dune => dune_engine}/context_name.ml (100%) rename src/{dune => dune_engine}/context_name.mli (100%) rename src/{dune => dune_engine}/cram_test.ml (100%) rename src/{dune => dune_engine}/cram_test.mli (100%) rename src/{dune => dune_engine}/dep.ml (100%) rename src/{dune => dune_engine}/dep.mli (100%) rename src/{dune => dune_engine}/dep_path.ml (100%) rename src/{dune => dune_engine}/dep_path.mli (100%) rename src/{dune => dune_engine}/dialect.ml (100%) rename src/{dune => dune_engine}/dialect.mli (100%) rename src/{dune => dune_engine}/diff.ml (100%) rename src/{dune => dune_engine}/diff.mli (100%) rename src/{dune => dune_engine}/dir_set.ml (100%) rename src/{dune => dune_engine}/dir_set.mli (100%) rename src/{dune => dune_engine}/dpath.ml (100%) rename src/{dune => dune_engine}/dpath.mli (100%) create mode 100644 src/dune_engine/dune rename src/{dune => dune_engine}/dune_lexer.mli (100%) rename src/{dune => dune_engine}/dune_lexer.mll (100%) rename src/{dune => dune_engine}/dune_project.ml (100%) rename src/{dune => dune_engine}/dune_project.mli (100%) rename src/{dune => dune_engine}/file_selector.ml (100%) rename src/{dune => dune_engine}/file_selector.mli (100%) rename src/{dune => dune_engine}/file_tree.ml (100%) rename src/{dune => dune_engine}/file_tree.mli (100%) rename src/{dune => dune_engine}/foreign_language.ml (100%) rename src/{dune => dune_engine}/foreign_language.mli (100%) rename src/{dune => dune_engine}/format_config.ml (100%) rename src/{dune => dune_engine}/format_config.mli (100%) rename src/{dune => dune_engine}/format_dune_lang.ml (100%) rename src/{dune => dune_engine}/format_dune_lang.mli (100%) rename src/{dune => dune_engine}/glob.ml (100%) rename src/{dune => dune_engine}/glob.mli (100%) rename src/{dune => dune_engine}/hooks.ml (100%) rename src/{dune => dune_engine}/hooks.mli (100%) rename src/{dune => dune_engine}/import.ml (100%) rename src/{dune => dune_engine}/lib_deps_info.ml (100%) rename src/{dune => dune_engine}/lib_deps_info.mli (100%) rename src/{dune => dune_engine}/lib_name.ml (100%) rename src/{dune => dune_engine}/lib_name.mli (100%) rename src/{dune => dune_engine}/ml_kind.ml (100%) rename src/{dune => dune_engine}/ml_kind.mli (100%) rename src/{dune => dune_engine}/opam_file.ml (100%) rename src/{dune => dune_engine}/opam_file.mli (100%) rename src/{dune => dune_engine}/ordered_set_lang.ml (100%) rename src/{dune => dune_engine}/ordered_set_lang.mli (100%) rename src/{dune => dune_engine}/ordered_set_lang_intf.ml (100%) rename src/{dune => dune_engine}/package.ml (100%) rename src/{dune => dune_engine}/package.mli (100%) rename src/{dune => dune_engine}/persistent.ml (100%) rename src/{dune => dune_engine}/persistent.mli (100%) rename src/{dune => dune_engine}/predicate.ml (100%) rename src/{dune => dune_engine}/predicate.mli (100%) rename src/{dune => dune_engine}/predicate_lang.ml (100%) rename src/{dune => dune_engine}/predicate_lang.mli (100%) rename src/{dune => dune_engine}/print_diff.ml (100%) rename src/{dune => dune_engine}/print_diff.mli (100%) rename src/{dune => dune_engine}/process.ml (100%) rename src/{dune => dune_engine}/process.mli (100%) rename src/{dune => dune_engine}/promotion.ml (100%) rename src/{dune => dune_engine}/promotion.mli (100%) rename src/{dune => dune_engine}/report_error.ml (100%) rename src/{dune => dune_engine}/report_error.mli (100%) rename src/{dune => dune_engine}/response_file.ml (100%) rename src/{dune => dune_engine}/response_file.mli (100%) rename src/{dune => dune_engine}/rule.ml (100%) rename src/{dune => dune_engine}/rule.mli (100%) rename src/{dune => dune_engine}/rules.ml (100%) rename src/{dune => dune_engine}/rules.mli (100%) rename src/{dune => dune_engine}/sandbox_config.ml (100%) rename src/{dune => dune_engine}/sandbox_config.mli (100%) rename src/{dune => dune_engine}/sandbox_mode.ml (100%) rename src/{dune => dune_engine}/sandbox_mode.mli (100%) rename src/{dune => dune_engine}/scheduler.ml (100%) rename src/{dune => dune_engine}/scheduler.mli (100%) rename src/{dune => dune_engine}/stanza.ml (100%) rename src/{dune => dune_engine}/stanza.mli (100%) rename src/{dune => dune_engine}/stanza_common.ml (100%) rename src/{dune => dune_engine}/stanza_common.mli (100%) rename src/{dune => dune_engine}/static_deps.ml (100%) rename src/{dune => dune_engine}/static_deps.mli (100%) rename src/{dune => dune_engine}/stats.ml (100%) rename src/{dune => dune_engine}/stats.mli (100%) rename src/{dune => dune_engine}/string_with_vars.ml (100%) rename src/{dune => dune_engine}/string_with_vars.mli (100%) rename src/{dune => dune_engine}/stringlike.ml (100%) rename src/{dune => dune_engine}/stringlike.mli (100%) rename src/{dune => dune_engine}/stringlike_intf.ml (100%) rename src/{dune => dune_engine}/sub_dirs.ml (100%) rename src/{dune => dune_engine}/sub_dirs.mli (100%) rename src/{dune => dune_engine}/utils.ml (100%) rename src/{dune => dune_engine}/utils.mli (100%) rename src/{dune => dune_engine}/value.ml (100%) rename src/{dune => dune_engine}/value.mli (100%) rename src/{dune => dune_engine}/variant.ml (100%) rename src/{dune => dune_engine}/variant.mli (100%) rename src/{dune => dune_engine}/vcs.ml (100%) rename src/{dune => dune_engine}/vcs.mli (100%) rename src/{dune => dune_rules}/action_to_sh.ml (99%) rename src/{dune => dune_rules}/action_to_sh.mli (87%) rename src/{dune => dune_rules}/action_unexpanded.ml (99%) rename src/{dune => dune_rules}/action_unexpanded.mli (98%) rename src/{dune => dune_rules}/artifacts.ml (99%) rename src/{dune => dune_rules}/artifacts.mli (98%) create mode 100644 src/dune_rules/assets.ml rename src/{dune => dune_rules}/binary_kind.ml (97%) rename src/{dune => dune_rules}/binary_kind.mli (91%) rename src/{dune => dune_rules}/bindings.ml (99%) rename src/{dune => dune_rules}/bindings.mli (97%) rename src/{dune => dune_rules}/blang.ml (99%) rename src/{dune => dune_rules}/blang.mli (96%) rename src/{dune => dune_rules}/bootstrap_info.ml (99%) rename src/{dune => dune_rules}/bootstrap_info.mli (94%) rename src/{dune => dune_rules}/buildable_rules.ml (98%) rename src/{dune => dune_rules}/buildable_rules.mli (97%) rename src/{dune => dune_rules}/case_lang.ml (98%) rename src/{dune => dune_rules}/case_lang.mli (95%) rename src/{dune => dune_rules}/check_rules.ml (98%) rename src/{dune => dune_rules}/check_rules.mli (90%) rename src/{dune => dune_rules}/cinaps.ml (99%) rename src/{dune => dune_rules}/cinaps.mli (96%) rename src/{dune => dune_rules}/cm_files.ml (98%) rename src/{dune => dune_rules}/cm_files.mli (97%) rename src/{dune => dune_rules}/cm_kind.ml (97%) rename src/{dune => dune_rules}/cm_kind.mli (95%) rename src/{dune => dune_rules}/colors.ml (98%) rename src/{dune => dune_rules}/colors.mli (93%) rename src/{dune => dune_rules}/command.ml (99%) rename src/{dune => dune_rules}/command.mli (99%) rename src/{dune => dune_rules}/compilation_context.ml (99%) rename src/{dune => dune_rules}/compilation_context.mli (99%) rename src/{dune => dune_rules}/context.ml (99%) rename src/{dune => dune_rules}/context.mli (99%) rename src/{dune => dune_rules}/coq_lib.ml (99%) rename src/{dune => dune_rules}/coq_lib.mli (98%) rename src/{dune => dune_rules}/coq_lib_name.ml (98%) rename src/{dune => dune_rules}/coq_lib_name.mli (97%) rename src/{dune => dune_rules}/coq_module.ml (99%) rename src/{dune => dune_rules}/coq_module.mli (98%) rename src/{dune => dune_rules}/coq_rules.ml (99%) rename src/{dune => dune_rules}/coq_rules.mli (97%) rename src/{dune => dune_rules}/coq_sources.ml (99%) rename src/{dune => dune_rules}/coq_sources.mli (95%) rename src/{dune => dune_rules}/coq_stanza.ml (99%) rename src/{dune => dune_rules}/coq_stanza.mli (98%) rename src/{dune => dune_rules}/cram_exec.ml (99%) rename src/{dune => dune_rules}/cram_exec.mli (82%) rename src/{dune => dune_rules}/cram_lexer.mli (91%) rename src/{dune => dune_rules}/cram_lexer.mll (100%) rename src/{dune => dune_rules}/cram_rules.ml (99%) rename src/{dune => dune_rules}/cram_rules.mli (91%) rename src/{dune => dune_rules}/cram_stanza.ml (98%) rename src/{dune => dune_rules}/cram_stanza.mli (94%) rename src/{dune => dune_rules}/dep_conf.ml (99%) rename src/{dune => dune_rules}/dep_conf.mli (97%) rename src/{dune => dune_rules}/dep_conf_eval.ml (99%) rename src/{dune => dune_rules}/dep_conf_eval.mli (96%) rename src/{dune => dune_rules}/dep_graph.ml (98%) rename src/{dune => dune_rules}/dep_graph.mli (95%) rename src/{dune => dune_rules}/dep_rules.ml (99%) rename src/{dune => dune_rules}/dep_rules.mli (90%) rename src/{dune => dune_rules}/dir_contents.ml (99%) rename src/{dune => dune_rules}/dir_contents.mli (99%) rename src/{dune => dune_rules}/dir_status.ml (99%) rename src/{dune => dune_rules}/dir_status.mli (98%) rename src/{dune => dune_rules}/dir_with_dune.ml (96%) rename src/{dune => dune_rules}/dir_with_dune.mli (95%) rename src/{dune => dune_rules}/dune (88%) rename src/{dune => dune_rules}/dune_env.ml (99%) rename src/{dune => dune_rules}/dune_env.mli (98%) rename src/{dune => dune_rules}/dune_file.ml (99%) rename src/{dune => dune_rules}/dune_file.mli (99%) rename src/{dune => dune_rules}/dune_init.ml (99%) rename src/{dune => dune_rules}/dune_init.mli (99%) rename src/{dune => dune_rules}/dune_load.ml (99%) rename src/{dune => dune_rules}/dune_load.mli (98%) rename src/{dune => dune_rules}/dune_package.ml (99%) rename src/{dune => dune_rules}/dune_package.mli (98%) rename src/{dune => dune_rules}/dynlink_supported.ml (88%) rename src/{dune => dune_rules}/dynlink_supported.mli (92%) rename src/{dune => dune_rules}/enabled_if.ml (99%) rename src/{dune => dune_rules}/enabled_if.mli (94%) rename src/{dune => dune_rules}/env_node.ml (99%) rename src/{dune => dune_rules}/env_node.mli (98%) rename src/{dune => dune_rules}/exe.ml (99%) rename src/{dune => dune_rules}/exe.mli (98%) rename src/{dune => dune_rules}/exe_rules.ml (99%) rename src/{dune => dune_rules}/exe_rules.mli (92%) rename src/{dune => dune_rules}/expander.ml (99%) rename src/{dune => dune_rules}/expander.mli (99%) rename src/{dune => dune_rules}/fdo.ml (99%) rename src/{dune => dune_rules}/fdo.mli (96%) rename src/{dune => dune_rules}/file_binding.ml (99%) rename src/{dune => dune_rules}/file_binding.mli (97%) rename src/{dune => dune_rules}/findlib/dune (100%) rename src/{dune => dune_rules}/findlib/findlib.ml (99%) rename src/{dune => dune_rules}/findlib/findlib.mli (97%) rename src/{dune => dune_rules}/findlib/meta.ml (99%) rename src/{dune => dune_rules}/findlib/meta.mli (96%) rename src/{dune => dune_rules}/findlib/meta_lexer.mli (100%) rename src/{dune => dune_rules}/findlib/meta_lexer.mll (100%) rename src/{dune => dune_rules}/foreign.ml (99%) rename src/{dune => dune_rules}/foreign.mli (99%) rename src/{dune => dune_rules}/foreign_rules.ml (99%) rename src/{dune => dune_rules}/foreign_rules.mli (93%) rename src/{dune => dune_rules}/foreign_sources.ml (99%) rename src/{dune => dune_rules}/foreign_sources.mli (96%) rename src/{dune => dune_rules}/format_rules.ml (99%) rename src/{dune => dune_rules}/format_rules.mli (95%) rename src/{dune => dune_rules}/gen_meta.ml (99%) rename src/{dune => dune_rules}/gen_meta.mli (89%) rename src/{dune => dune_rules}/gen_rules.ml (99%) rename src/{dune => dune_rules}/gen_rules.mli (93%) rename src/{dune => dune_rules}/global.ml (75%) rename src/{dune => dune_rules}/global.mli (71%) rename src/{dune => dune_rules}/inline_tests.ml (99%) rename src/{dune => dune_rules}/inline_tests.mli (50%) rename src/{dune => dune_rules}/install.ml (99%) rename src/{dune => dune_rules}/install.mli (98%) rename src/{dune => dune_rules}/install_rules.ml (99%) rename src/{dune => dune_rules}/install_rules.mli (98%) rename src/{dune => dune_rules}/jsoo_rules.ml (99%) rename src/{dune => dune_rules}/jsoo_rules.mli (97%) rename src/{dune => dune_rules}/lib.ml (99%) rename src/{dune => dune_rules}/lib.mli (99%) rename src/{dune => dune_rules}/lib_archives.ml (99%) rename src/{dune => dune_rules}/lib_archives.mli (94%) rename src/{dune => dune_rules}/lib_config.ml (98%) rename src/{dune => dune_rules}/lib_config.mli (97%) rename src/{dune => dune_rules}/lib_dep.ml (99%) rename src/{dune => dune_rules}/lib_dep.mli (97%) rename src/{dune => dune_rules}/lib_file_deps.ml (98%) rename src/{dune => dune_rules}/lib_file_deps.mli (94%) rename src/{dune => dune_rules}/lib_info.ml (99%) rename src/{dune => dune_rules}/lib_info.mli (99%) rename src/{dune => dune_rules}/lib_kind.ml (99%) rename src/{dune => dune_rules}/lib_kind.mli (95%) rename src/{dune => dune_rules}/lib_rules.ml (99%) rename src/{dune => dune_rules}/lib_rules.mli (95%) rename src/{dune => dune_rules}/link_mode.ml (91%) rename src/{dune => dune_rules}/link_mode.mli (87%) rename src/{dune => dune_rules}/link_time_code_gen.ml (99%) rename src/{dune => dune_rules}/link_time_code_gen.mli (93%) rename src/{dune => dune_rules}/main.ml (99%) rename src/{dune => dune_rules}/main.mli (98%) rename src/{dune => dune_rules}/mdx.ml (99%) rename src/{dune => dune_rules}/mdx.mli (92%) rename src/{dune => dune_rules}/menhir.ml (99%) rename src/{dune => dune_rules}/menhir.mli (96%) rename src/{dune => dune_rules}/menhir_stanza.ml (92%) rename src/{dune => dune_rules}/merlin.ml (99%) rename src/{dune => dune_rules}/merlin.mli (97%) rename src/{dune => dune_rules}/merlin_server.ml (99%) rename src/{dune => dune_rules}/merlin_server.mli (93%) rename src/{dune => dune_rules}/ml_sources.ml (99%) rename src/{dune => dune_rules}/ml_sources.mli (98%) rename src/{dune => dune_rules}/mode.ml (99%) rename src/{dune => dune_rules}/mode.mli (98%) rename src/{dune => dune_rules}/module.ml (99%) rename src/{dune => dune_rules}/module.mli (99%) rename src/{dune => dune_rules}/module_compilation.ml (99%) rename src/{dune => dune_rules}/module_compilation.mli (96%) rename src/{dune => dune_rules}/module_name.ml (99%) rename src/{dune => dune_rules}/module_name.mli (99%) rename src/{dune => dune_rules}/modules.ml (99%) rename src/{dune => dune_rules}/modules.mli (99%) rename src/{dune => dune_rules}/modules_field_evaluator.ml (99%) rename src/{dune => dune_rules}/modules_field_evaluator.mli (97%) rename src/{dune => dune_rules}/obj_dir.ml (99%) rename src/{dune => dune_rules}/obj_dir.mli (99%) rename src/{dune => dune_rules}/ocaml_flags.ml (99%) rename src/{dune => dune_rules}/ocaml_flags.mli (97%) rename src/{dune => dune_rules}/ocaml_stdlib.ml (98%) rename src/{dune => dune_rules}/ocaml_stdlib.mli (97%) rename src/{dune => dune_rules}/ocaml_version.ml (98%) rename src/{dune => dune_rules}/ocaml_version.mli (99%) rename src/{dune => dune_rules}/ocamldep.ml (99%) rename src/{dune => dune_rules}/ocamldep.mli (94%) rename src/{dune => dune_rules}/ocamlobjinfo.mli (93%) rename src/{dune => dune_rules}/ocamlobjinfo.mll (99%) rename src/{dune => dune_rules}/odoc.ml (99%) rename src/{dune => dune_rules}/odoc.mli (94%) rename src/{dune => dune_rules}/opam_create.ml (99%) rename src/{dune => dune_rules}/opam_create.mli (96%) rename src/{dune => dune_rules}/packages.ml (98%) rename src/{dune => dune_rules}/packages.mli (92%) rename src/{dune => dune_rules}/per_item.ml (98%) rename src/{dune => dune_rules}/per_item.mli (94%) rename src/{dune => dune_rules}/per_item_intf.ml (97%) rename src/{dune => dune_rules}/pform.ml (99%) rename src/{dune => dune_rules}/pform.mli (98%) rename src/{dune => dune_rules}/preprocess.ml (99%) rename src/{dune => dune_rules}/preprocess.mli (99%) rename src/{dune => dune_rules}/preprocessing.ml (99%) rename src/{dune => dune_rules}/preprocessing.mli (98%) rename src/{dune => dune_rules}/profile.ml (98%) rename src/{dune => dune_rules}/profile.mli (95%) rename src/{dune => dune_rules}/scheme.ml (99%) rename src/{dune => dune_rules}/scheme.mli (99%) rename src/{dune => dune_rules}/scope.ml (99%) rename src/{dune => dune_rules}/scope.mli (97%) rename src/{dune => dune_rules}/setup.defaults.ml (79%) rename src/{dune => dune_rules}/setup.mli (96%) rename src/{dune => dune_rules}/simple_rules.ml (99%) rename src/{dune => dune_rules}/simple_rules.mli (98%) rename src/{dune => dune_rules}/sub_system.ml (99%) rename src/{dune => dune_rules}/sub_system.mli (98%) rename src/{dune => dune_rules}/sub_system_info.ml (98%) rename src/{dune => dune_rules}/sub_system_info.mli (98%) rename src/{dune => dune_rules}/sub_system_intf.ml (99%) rename src/{dune => dune_rules}/sub_system_name.ml (92%) rename src/{dune => dune_rules}/sub_system_name.mli (63%) rename src/{dune => dune_rules}/super_context.ml (99%) rename src/{dune => dune_rules}/super_context.mli (99%) rename src/{dune => dune_rules}/targets.ml (98%) rename src/{dune => dune_rules}/targets.mli (98%) rename src/{dune => dune_rules}/test_rules.ml (99%) rename src/{dune => dune_rules}/test_rules.mli (92%) rename src/{dune => dune_rules}/toplevel.ml (99%) rename src/{dune => dune_rules}/toplevel.mli (97%) rename src/{dune => dune_rules}/upgrader.ml (99%) rename src/{dune => dune_rules}/upgrader.mli (86%) rename src/{dune => dune_rules}/utop.ml (99%) rename src/{dune => dune_rules}/utop.mli (94%) rename src/{dune => dune_rules}/vimpl.ml (98%) rename src/{dune => dune_rules}/vimpl.mli (97%) rename src/{dune => dune_rules}/virtual_rules.ml (99%) rename src/{dune => dune_rules}/virtual_rules.mli (91%) rename src/{dune => dune_rules}/visibility.ml (98%) rename src/{dune => dune_rules}/visibility.mli (95%) rename src/{dune => dune_rules}/watermarks.ml (99%) rename src/{dune => dune_rules}/watermarks.mli (90%) rename src/{dune => dune_rules}/workspace.ml (99%) rename src/{dune => dune_rules}/workspace.mli (99%) rename src/{dune => dune_rules}/wrapped.ml (97%) rename src/{dune => dune_rules}/wrapped.mli (90%) diff --git a/bench/dune_bench/dune b/bench/dune_bench/dune index 13b41549965..b90a3a7f944 100644 --- a/bench/dune_bench/dune +++ b/bench/dune_bench/dune @@ -1,6 +1,6 @@ (library (name dune_bench) - (libraries stdune fiber dune) + (libraries stdune fiber dune_engine dune_rules) (library_flags -linkall) (preprocess (pps ppx_bench))) diff --git a/bench/dune_bench/file_tree_cache.ml b/bench/dune_bench/file_tree_cache.ml index dde4abf0f3b..ab9513da230 100644 --- a/bench/dune_bench/file_tree_cache.ml +++ b/bench/dune_bench/file_tree_cache.ml @@ -1,7 +1,8 @@ (* Benchmark File_tree.t's internal cache *) open Stdune -open Dune +open Dune_rules +open Dune_engine let deep_path = "a1/a2/a3/a4/a5/a6/a7/a8/a9/10" diff --git a/bench/dune_bench/scheduler_bench.ml b/bench/dune_bench/scheduler_bench.ml index 229c5501514..7e1e7a836f3 100644 --- a/bench/dune_bench/scheduler_bench.ml +++ b/bench/dune_bench/scheduler_bench.ml @@ -1,7 +1,7 @@ (* Benchmark the scheduler *) open Stdune -open Dune +open Dune_engine let setup = lazy diff --git a/bin/alias.ml b/bin/alias.ml index 67f83d4e145..2b1ef5ff5d9 100644 --- a/bin/alias.ml +++ b/bin/alias.ml @@ -1,10 +1,10 @@ open Stdune type t = - { name : Dune.Alias.Name.t + { name : Dune_engine.Alias.Name.t ; recursive : bool ; dir : Path.Source.t - ; contexts : Dune.Context.t list + ; contexts : Dune_rules.Context.t list } let pp { name; recursive; dir; contexts = _ } = @@ -15,7 +15,7 @@ let pp { name; recursive; dir; contexts = _ } = else "@@" ) ^ Path.Source.to_string - (Path.Source.relative dir (Dune.Alias.Name.to_string name)) + (Path.Source.relative dir (Dune_engine.Alias.Name.to_string name)) in let pp = Pp.verbatim "alias" ++ Pp.space ++ Pp.verbatim s in if recursive then @@ -34,7 +34,7 @@ let in_dir ~name ~recursive ~contexts dir = User_error.raise [ Pp.textf "Invalid alias: %s." (Path.to_string_maybe_quoted - (Path.build Dune.Dpath.Build.install_dir)) + (Path.build Dune_engine.Dpath.Build.install_dir)) ; Pp.textf "There are no aliases in %s." (Path.to_string_maybe_quoted dir) ] | In_build_dir (ctx, dir) -> @@ -43,7 +43,9 @@ let in_dir ~name ~recursive ~contexts dir = ; name ; contexts = [ List.find_exn contexts ~f:(fun c -> - Dune.Context_name.equal (Dune.Context.name c) ctx.name) + Dune_engine.Context_name.equal + (Dune_rules.Context.name c) + ctx.name) ] } @@ -55,5 +57,5 @@ let of_string common ~recursive s ~contexts = ] else let dir = Path.parent_exn path in - let name = Dune.Alias.Name.of_string (Path.basename path) in + let name = Dune_engine.Alias.Name.of_string (Path.basename path) in in_dir ~name ~recursive ~contexts dir diff --git a/bin/alias.mli b/bin/alias.mli index 1c5c2d6d7d8..fa23f7c2243 100644 --- a/bin/alias.mli +++ b/bin/alias.mli @@ -1,20 +1,24 @@ open Stdune type t = private - { name : Dune.Alias.Name.t + { name : Dune_engine.Alias.Name.t ; recursive : bool ; dir : Path.Source.t - ; contexts : Dune.Context.t list + ; contexts : Dune_rules.Context.t list } val in_dir : - name:Dune.Alias.Name.t + name:Dune_engine.Alias.Name.t -> recursive:bool - -> contexts:Dune.Context.t list + -> contexts:Dune_rules.Context.t list -> Path.t -> t val of_string : - Common.t -> recursive:bool -> string -> contexts:Dune.Context.t list -> t + Common.t + -> recursive:bool + -> string + -> contexts:Dune_rules.Context.t list + -> t val pp : t -> _ Pp.t diff --git a/bin/arg.ml b/bin/arg.ml index 3cb497bc5dc..7482bb3f5ae 100644 --- a/bin/arg.ml +++ b/bin/arg.ml @@ -1,5 +1,6 @@ open Stdune -open Dune +open Dune_engine +open Dune_rules include Cmdliner.Arg let package_name = conv Package.Name.conv @@ -16,7 +17,7 @@ end let path = Path.conv -let profile = conv Dune.Profile.conv +let profile = conv Dune_rules.Profile.conv module Dep = struct module Dep_conf = Dep_conf @@ -27,7 +28,7 @@ module Dep = struct let make_alias_sw ~dir s = let path = - Dune.Alias.Name.to_string s + Dune_engine.Alias.Name.to_string s |> Stdune.Path.Local.relative dir |> Stdune.Path.Local.to_string in @@ -50,7 +51,7 @@ module Dep = struct let s = String.drop s pos in let dir, alias = let path = Stdune.Path.Local.of_string s in - Dune.Alias.Name.parse_local_path (Loc.none, path) + Dune_engine.Alias.Name.parse_local_path (Loc.none, path) in Some (recursive, dir, alias) @@ -123,4 +124,4 @@ let bytes = let context_name : Context_name.t conv = conv Context_name.conv -let lib_name = conv Dune.Lib_name.conv +let lib_name = conv Dune_engine.Lib_name.conv diff --git a/bin/arg.mli b/bin/arg.mli index cee2396a661..9b95cb41ac0 100644 --- a/bin/arg.mli +++ b/bin/arg.mli @@ -1,5 +1,6 @@ open Stdune -open Dune +open Dune_engine +open Dune_rules include module type of struct include Cmdliner.Arg @@ -18,9 +19,9 @@ module Dep : sig val file : string -> t - val alias : dir:Stdune.Path.Local.t -> Dune.Alias.Name.t -> t + val alias : dir:Stdune.Path.Local.t -> Dune_engine.Alias.Name.t -> t - val alias_rec : dir:Stdune.Path.Local.t -> Dune.Alias.Name.t -> t + val alias_rec : dir:Stdune.Path.Local.t -> Dune_engine.Alias.Name.t -> t val to_string_maybe_quoted : t -> string end diff --git a/bin/common.ml b/bin/common.ml index 3b6c4172144..d85d073aed2 100644 --- a/bin/common.ml +++ b/bin/common.ml @@ -1,9 +1,9 @@ open Stdune -module Config = Dune.Config -module Colors = Dune.Colors -module Clflags = Dune.Clflags -module Package = Dune.Package -module Profile = Dune.Profile +module Config = Dune_engine.Config +module Colors = Dune_rules.Colors +module Clflags = Dune_engine.Clflags +module Package = Dune_engine.Package +module Profile = Dune_rules.Profile module Term = Cmdliner.Term module Manpage = Cmdliner.Manpage @@ -17,7 +17,7 @@ open Let_syntax module Only_packages = struct type t = - { names : Dune.Package.Name.Set.t + { names : Dune_engine.Package.Name.Set.t ; command_line_option : string } end @@ -33,7 +33,7 @@ type t = ; target_prefix : string ; only_packages : Only_packages.t option ; capture_outputs : bool - ; x : Dune.Context_name.t option + ; x : Dune_engine.Context_name.t option ; diff_command : string option ; promote : Clflags.Promote.t option ; force : bool @@ -43,13 +43,13 @@ type t = ; store_orig_src_dir : bool ; (* Original arguments for the external-lib-deps hint *) orig_args : string list - ; config : Dune.Config.t + ; config : Dune_engine.Config.t ; default_target : Arg.Dep.t (* For build & runtest only *) ; watch : bool ; stats_trace_file : string option ; always_show_command_line : bool ; promote_install_files : bool - ; instrument_with : Dune.Lib_name.t list option + ; instrument_with : Dune_engine.Lib_name.t list option } let workspace_file t = t.workspace_file @@ -102,7 +102,7 @@ let set_common_other ?log_file c ~targets = ]; Clflags.always_show_command_line := c.always_show_command_line; Clflags.ignore_promoted_rules := c.ignore_promoted_rules; - Option.iter ~f:Dune.Stats.enable c.stats_trace_file + Option.iter ~f:Dune_engine.Stats.enable c.stats_trace_file let set_common ?log_file ?external_lib_deps_mode c ~targets = Option.iter external_lib_deps_mode ~f:(fun x -> @@ -272,7 +272,8 @@ module Options_implied_by_dash_p = struct Arg.( value & opt dep - (Dep.alias ~dir:Stdune.Path.Local.root Dune.Alias.Name.default) + (Dep.alias ~dir:Stdune.Path.Local.root + Dune_engine.Alias.Name.default) & info [ "default-target" ] ~docs ~docv:"TARGET" ~doc: {|Set the default target that when none is specified to @@ -305,7 +306,7 @@ module Options_implied_by_dash_p = struct ; config_file = No_config ; profile = Some Profile.Release ; default_target = - Arg.Dep.alias_rec ~dir:Path.Local.root Dune.Alias.Name.install + Arg.Dep.alias_rec ~dir:Path.Local.root Dune_engine.Alias.Name.install ; always_show_command_line = true ; promote_install_files = true } @@ -385,7 +386,7 @@ module Options_implied_by_dash_p = struct (Printf.sprintf "Select the build profile, for instance $(b,dev) or \ $(b,release). The default is $(b,%s)." - (Profile.to_string Dune.Profile.default))) + (Profile.to_string Dune_rules.Profile.default))) in match profile with | None -> t @@ -424,10 +425,11 @@ let term = let arg = Arg.conv ( (fun s -> - Result.map_error (Dune.Config.Concurrency.of_string s) ~f:(fun s -> - `Msg s)) + Result.map_error (Dune_engine.Config.Concurrency.of_string s) + ~f:(fun s -> `Msg s)) , fun pp x -> - Format.pp_print_string pp (Dune.Config.Concurrency.to_string x) ) + Format.pp_print_string pp + (Dune_engine.Config.Concurrency.to_string x) ) in Arg.( value @@ -438,10 +440,10 @@ let term = let arg = Arg.conv ( (fun s -> - Result.map_error (Dune.Sandbox_mode.of_string s) ~f:(fun s -> + Result.map_error (Dune_engine.Sandbox_mode.of_string s) ~f:(fun s -> `Msg s)) - , fun pp x -> Format.pp_print_string pp (Dune.Sandbox_mode.to_string x) - ) + , fun pp x -> + Format.pp_print_string pp (Dune_engine.Sandbox_mode.to_string x) ) in Arg.( value @@ -457,8 +459,8 @@ let term = certain sandboxing mode, so they will ignore this setting. The \ allowed values are: %s." (String.concat ~sep:", " - (List.map Dune.Sandbox_mode.all - ~f:Dune.Sandbox_mode.to_string)))) + (List.map Dune_engine.Sandbox_mode.all + ~f:Dune_engine.Sandbox_mode.to_string)))) and+ debug_dep_path = Arg.( value & flag @@ -713,5 +715,5 @@ let config_term = let context_arg ~doc = Arg.( value - & opt Arg.context_name Dune.Context_name.default + & opt Arg.context_name Dune_engine.Context_name.default & info [ "context" ] ~docv:"CONTEXT" ~doc) diff --git a/bin/common.mli b/bin/common.mli index b5e695c2699..d293c3b7628 100644 --- a/bin/common.mli +++ b/bin/common.mli @@ -2,19 +2,19 @@ type t val workspace_file : t -> Arg.Path.t option -val x : t -> Dune.Context_name.t option +val x : t -> Dune_engine.Context_name.t option -val profile : t -> Dune.Profile.t option +val profile : t -> Dune_rules.Profile.t option val capture_outputs : t -> bool val root : t -> Workspace_root.t -val config : t -> Dune.Config.t +val config : t -> Dune_engine.Config.t module Only_packages : sig type t = - { names : Dune.Package.Name.Set.t + { names : Dune_engine.Package.Name.Set.t ; command_line_option : string (** Which of [-p], [--only-packages], ... was passed *) } @@ -28,7 +28,7 @@ val default_target : t -> Arg.Dep.t val prefix_target : t -> string -> string -val instrument_with : t -> Dune.Lib_name.t list option +val instrument_with : t -> Dune_engine.Lib_name.t list option (** [set_common ?log common ~targets ~external_lib_deps_mode] is [set_dirs common] followed by [set_common_other common ~targets]. In @@ -60,11 +60,11 @@ val footer : Cmdliner.Manpage.block val term : t Cmdliner.Term.t -val config_term : Dune.Config.t Cmdliner.Term.t +val config_term : Dune_engine.Config.t Cmdliner.Term.t -val display_term : Dune.Config.Display.t option Cmdliner.Term.t +val display_term : Dune_engine.Config.Display.t option Cmdliner.Term.t -val context_arg : doc:string -> Dune.Context_name.t Cmdliner.Term.t +val context_arg : doc:string -> Dune_engine.Context_name.t Cmdliner.Term.t (** A [--build-info] command line argument that print build information (included in [term]) *) diff --git a/bin/describe.ml b/bin/describe.ml index f42f784788b..4ee8da21c12 100644 --- a/bin/describe.ml +++ b/bin/describe.ml @@ -30,7 +30,8 @@ let info = Term.info "describe" ~doc ~man (* Crawl the workspace to get all the data *) module Crawl = struct - open Dune + open Dune_rules + open Dune_engine let uid_of_library lib = Digest.generic @@ -88,7 +89,7 @@ module Crawl = struct ] ] )) - let workspace { Dune.Main.workspace; scontexts } (context : Context.t) = + let workspace { Dune_rules.Main.workspace; scontexts } (context : Context.t) = let sctx = Context_name.Map.find_exn scontexts context.name in let libs = List.fold_left workspace.conf.projects ~init:Lib.Set.empty @@ -107,25 +108,29 @@ end module Opam_files = struct let get () = - let project = Dune.File_tree.root () |> Dune.File_tree.Dir.project in + let project = + Dune_engine.File_tree.root () |> Dune_engine.File_tree.Dir.project + in let packages = - Dune_project.packages project |> Dune.Package.Name.Map.values + Dune_project.packages project |> Dune_engine.Package.Name.Map.values in Dyn.List (List.map packages ~f:(fun pkg -> - let opam_file = Path.source (Dune.Package.opam_file pkg) in + let opam_file = Path.source (Dune_engine.Package.opam_file pkg) in let contents = if not (Dune_project.generate_opam_files project) then Io.read_file opam_file else - let template_file = Dune.Opam_create.template_file opam_file in + let template_file = + Dune_rules.Opam_create.template_file opam_file + in let template = if Path.exists template_file then Some (template_file, Io.read_file template_file) else None in - Dune.Opam_create.generate project pkg ~template + Dune_rules.Opam_create.generate project pkg ~template in Dyn.Tuple [ String (Path.to_string opam_file); String contents ])) end @@ -152,7 +157,9 @@ module What = struct match args with | [] -> default | _ -> - let parse = Dune_lang.Syntax.set Dune.Stanza.syntax (Active lang) parse in + let parse = + Dune_lang.Syntax.set Dune_engine.Stanza.syntax (Active lang) parse + in let ast = Dune_lang.Ast.add_loc ~loc:Loc.none (List (List.map args ~f:Dune_lang.atom_or_quoted_string)) @@ -223,7 +230,7 @@ let print_as_sexp dyn = |> Dune_lang.Ast.add_loc ~loc:Loc.none |> Dune_lang.Cst.concrete in - Dune.Format_dune_lang.pp_top_sexps Stdlib.Format.std_formatter [ cst ] + Dune_engine.Format_dune_lang.pp_top_sexps Stdlib.Format.std_formatter [ cst ] let term = let+ common = Common.term diff --git a/bin/dune b/bin/dune index 5a8b7f79213..0bccec73fa2 100644 --- a/bin/dune +++ b/bin/dune @@ -1,7 +1,7 @@ (executable (name main) - (libraries memo dune_lang fiber stdune unix cache_daemon cache dune - dune_util cmdliner threads.posix build_info dune_csexp) + (libraries memo dune_lang fiber stdune unix cache_daemon cache dune_rules + dune_engine dune_util cmdliner threads.posix build_info dune_csexp) (bootstrap_info bootstrap-info)) (rule diff --git a/bin/external_lib_deps.ml b/bin/external_lib_deps.ml index a7b1246840c..92fabf85670 100644 --- a/bin/external_lib_deps.ml +++ b/bin/external_lib_deps.ml @@ -21,14 +21,15 @@ let man = let info = Term.info "external-lib-deps" ~doc ~man let run ~lib_deps ~by_dir ~setup ~only_missing ~sexp = - Dune.Context_name.Map.foldi lib_deps ~init:false + Dune_engine.Context_name.Map.foldi lib_deps ~init:false ~f:(fun context_name lib_deps_by_dir acc -> let lib_deps = Path.Source.Map.values lib_deps_by_dir |> List.fold_left ~init:Lib_name.Map.empty ~f:Lib_deps_info.merge in let internals = - Dune.Context_name.Map.find_exn setup.Import.Main.scontexts context_name + Dune_engine.Context_name.Map.find_exn setup.Import.Main.scontexts + context_name |> Super_context.internal_lib_names in let is_external name _kind = not (Lib_name.Set.mem internals name) in @@ -41,7 +42,7 @@ let run ~lib_deps ~by_dir ~setup ~only_missing ~sexp = ]; let context = List.find_exn setup.workspace.contexts ~f:(fun c -> - Dune.Context_name.equal c.name context_name) + Dune_engine.Context_name.equal c.name context_name) in let missing = Lib_name.Map.filteri externals ~f:(fun name _ -> @@ -57,7 +58,7 @@ let run ~lib_deps ~by_dir ~setup ~only_missing ~sexp = (User_error.make [ Pp.textf "The following libraries are missing in the %s context:" - (Dune.Context_name.to_string context_name) + (Dune_engine.Context_name.to_string context_name) ; pp_external_libs missing ]); false @@ -75,11 +76,11 @@ let run ~lib_deps ~by_dir ~setup ~only_missing ~sexp = (User_error.make [ Pp.textf "The following libraries are missing in the %s context:" - (Dune.Context_name.to_string context_name) + (Dune_engine.Context_name.to_string context_name) ; pp_external_libs missing ] ~hints: - [ Dune.Utils.pp_command_hint + [ Dune_engine.Utils.pp_command_hint ( "opam install" :: required_package_names |> String.concat ~sep:" " ) ]); @@ -97,7 +98,7 @@ let run ~lib_deps ~by_dir ~setup ~only_missing ~sexp = |> Sexp.of_dyn in Format.printf "%a@." Sexp.pp - (List [ Atom (Dune.Context_name.to_string context_name); sexp ]); + (List [ Atom (Dune_engine.Context_name.to_string context_name); sexp ]); acc ) else ( if by_dir then @@ -108,7 +109,7 @@ let run ~lib_deps ~by_dir ~setup ~only_missing ~sexp = [ Pp.textf "These are the external library dependencies in the %s \ context:" - (Dune.Context_name.to_string context_name) + (Dune_engine.Context_name.to_string context_name) ; pp_external_libs externals ]); acc diff --git a/bin/format_dune_file.ml b/bin/format_dune_file.ml index dc37b4fd34b..2ad6b458ec1 100644 --- a/bin/format_dune_file.ml +++ b/bin/format_dune_file.ml @@ -1,6 +1,6 @@ open Import open Stdune -module Format_dune_lang = Dune.Format_dune_lang +module Format_dune_lang = Dune_engine.Format_dune_lang let doc = "Format dune files" diff --git a/bin/import.ml b/bin/import.ml index 1ba3976a92f..b58ab340d49 100644 --- a/bin/import.ml +++ b/bin/import.ml @@ -1,30 +1,30 @@ open Stdune -open Dune +open Dune_engine module Term = Cmdliner.Term module Manpage = Cmdliner.Manpage -module Super_context = Dune.Super_context -module Context = Dune.Context -module Config = Dune.Config -module Lib_name = Dune.Lib_name -module Lib_deps_info = Dune.Lib_deps_info -module Build_system = Dune.Build_system -module Findlib = Dune.Findlib -module Package = Dune.Package -module Dune_package = Dune.Dune_package -module Hooks = Dune.Hooks -module Build = Dune.Build -module Action = Dune.Action -module Dep = Dune.Dep -module Action_to_sh = Dune.Action_to_sh -module Dpath = Dune.Dpath -module Install = Dune.Install -module Watermarks = Dune.Watermarks -module Promotion = Dune.Promotion -module Colors = Dune.Colors -module Dune_project = Dune.Dune_project -module Workspace = Dune.Workspace -module Cached_digest = Dune.Cached_digest -module Profile = Dune.Profile +module Super_context = Dune_rules.Super_context +module Context = Dune_rules.Context +module Config = Dune_engine.Config +module Lib_name = Dune_engine.Lib_name +module Lib_deps_info = Dune_engine.Lib_deps_info +module Build_system = Dune_engine.Build_system +module Findlib = Dune_rules.Findlib +module Package = Dune_engine.Package +module Dune_package = Dune_rules.Dune_package +module Hooks = Dune_engine.Hooks +module Build = Dune_engine.Build +module Action = Dune_engine.Action +module Dep = Dune_engine.Dep +module Action_to_sh = Dune_rules.Action_to_sh +module Dpath = Dune_engine.Dpath +module Install = Dune_rules.Install +module Watermarks = Dune_rules.Watermarks +module Promotion = Dune_engine.Promotion +module Colors = Dune_rules.Colors +module Dune_project = Dune_engine.Dune_project +module Workspace = Dune_rules.Workspace +module Cached_digest = Dune_engine.Cached_digest +module Profile = Dune_rules.Profile module Log = Dune_util.Log include Common.Let_syntax @@ -67,7 +67,7 @@ let make_cache (config : Config.t) = None ) module Main = struct - include Dune.Main + include Dune_rules.Main let scan_workspace (common : Common.t) = let workspace_file = @@ -103,10 +103,10 @@ module Main = struct |> List.map ~f:Package.Name.to_string ))); Package.Name.Map.filter workspace.conf.packages ~f:(fun pkg -> let vendored = - match Dune.File_tree.find_dir pkg.path with + match Dune_engine.File_tree.find_dir pkg.path with | None -> assert false | Some d -> ( - match Dune.File_tree.Dir.status d with + match Dune_engine.File_tree.Dir.status d with | Vendored -> true | _ -> false ) in @@ -127,7 +127,7 @@ module Main = struct end module Scheduler = struct - include Dune.Scheduler + include Dune_engine.Scheduler open Fiber.O let go ~(common : Common.t) f = diff --git a/bin/init.ml b/bin/init.ml index 769d3d998bf..62f746ba643 100644 --- a/bin/init.ml +++ b/bin/init.ml @@ -1,6 +1,6 @@ open Stdune open Import -open Dune.Dune_init +open Dune_rules.Dune_init (** {1 Helper functions} *) diff --git a/bin/install_uninstall.ml b/bin/install_uninstall.ml index 9ea7e9e0389..e76610e1bd2 100644 --- a/bin/install_uninstall.ml +++ b/bin/install_uninstall.ml @@ -78,7 +78,7 @@ module type File_operations = sig end module type Workspace = sig - val workspace : Dune.Main.workspace + val workspace : Dune_rules.Main.workspace end module File_ops_dry_run : File_operations = struct @@ -104,7 +104,7 @@ end module File_ops_real (W : Workspace) : File_operations = struct open W - let get_vcs p = Dune.File_tree.nearest_vcs p + let get_vcs p = Dune_engine.File_tree.nearest_vcs p type load_special_file_result = | No_version_needed @@ -131,20 +131,21 @@ module File_ops_real (W : Workspace) : File_operations = struct | None -> plain_copy () | Some vcs -> let open Fiber.O in - let+ version = Dune.Vcs.describe vcs in + let+ version = Dune_engine.Vcs.describe vcs in let ppf = Format.formatter_of_out_channel oc in print ppf ~version; Format.pp_print_flush ppf () ) let process_meta ic = let lb = Lexing.from_channel ic in - let meta : Dune.Meta.t = - { name = None; entries = Dune.Meta.parse_entries lb } + let meta : Dune_rules.Meta.t = + { name = None; entries = Dune_rules.Meta.parse_entries lb } in let need_more_versions = try - let (_ : Dune.Meta.t) = - Dune.Meta.add_versions meta ~get_version:(fun _ -> raise_notrace Exit) + let (_ : Dune_rules.Meta.t) = + Dune_rules.Meta.add_versions meta ~get_version:(fun _ -> + raise_notrace Exit) in false with Exit -> true @@ -155,9 +156,10 @@ module File_ops_real (W : Workspace) : File_operations = struct Need_version (fun ppf ~version -> let meta = - Dune.Meta.add_versions meta ~get_version:(fun _ -> Some version) + Dune_rules.Meta.add_versions meta ~get_version:(fun _ -> + Some version) in - Pp.render_ignore_tags ppf (Dune.Meta.pp meta.entries)) + Pp.render_ignore_tags ppf (Dune_rules.Meta.pp meta.entries)) let process_dune_package ic = let lb = Lexing.from_channel ic in @@ -212,7 +214,7 @@ module File_ops_real (W : Workspace) : File_operations = struct | Some Dune_package -> copy_special_file ~src ~package ~ic ~oc ~f:process_dune_package | None -> - Dune.Artifact_substitution.copy ~get_vcs ~input_file:src + Dune_engine.Artifact_substitution.copy ~get_vcs ~input_file:src ~input:(input ic) ~output:(output oc)) let remove_if_exists dst = @@ -272,11 +274,11 @@ let file_operations ~dry_run ~workspace : (module File_operations) = let workspace = workspace end) ) -let package_is_vendored (pkg : Dune.Package.t) = - match Dune.File_tree.find_dir pkg.path with +let package_is_vendored (pkg : Dune_engine.Package.t) = + match Dune_engine.File_tree.find_dir pkg.path with | None -> assert false | Some d -> ( - match Dune.File_tree.Dir.status d with + match Dune_engine.File_tree.Dir.status d with | Vendored -> true | _ -> false ) @@ -424,7 +426,7 @@ let install_uninstall ~what = Option.map ~f:Path.of_string ( match mandir with | Some _ -> mandir - | None -> Dune.Setup.mandir ) + | None -> Dune_rules.Setup.mandir ) in Fiber.sequential_iter install_files_by_context ~f:(fun (context, entries_per_package) -> diff --git a/bin/installed_libraries.ml b/bin/installed_libraries.ml index 033a1588700..74c6b42ac31 100644 --- a/bin/installed_libraries.ml +++ b/bin/installed_libraries.ml @@ -31,7 +31,7 @@ let term = List.filter_map (Findlib.all_packages findlib) ~f:(function | Hidden_library lib -> Some - ( Dune_package.Lib.info lib |> Dune.Lib_info.name + ( Dune_package.Lib.info lib |> Dune_rules.Lib_info.name , "unsatisfied 'exist_if'" ) | _ -> None) in diff --git a/bin/main.ml b/bin/main.ml index f97e125482e..68159d2f102 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -82,12 +82,12 @@ let runtest = ~targets: (List.map dirs ~f:(fun s -> let dir = Path.Local.of_string s in - Arg.Dep.alias_rec ~dir Dune.Alias.Name.runtest)); + Arg.Dep.alias_rec ~dir Dune_engine.Alias.Name.runtest)); let targets (setup : Main.build_system) = List.map dirs ~f:(fun dir -> let dir = Path.(relative root) (Common.prefix_target common dir) in Target.Alias - (Alias.in_dir ~name:Dune.Alias.Name.runtest ~recursive:true + (Alias.in_dir ~name:Dune_engine.Alias.Name.runtest ~recursive:true ~contexts:setup.workspace.contexts dir)) in run_build_command ~common ~targets @@ -264,5 +264,5 @@ let () = | _ -> exit 0 with exn -> let exn = Exn_with_backtrace.capture exn in - Dune.Report_error.report exn; + Dune_engine.Report_error.report exn; exit 1 diff --git a/bin/ocaml_merlin.ml b/bin/ocaml_merlin.ml index a67915c397c..24eb65a82eb 100644 --- a/bin/ocaml_merlin.ml +++ b/bin/ocaml_merlin.ml @@ -19,8 +19,9 @@ let term = let+ common = Common.term in Common.set_common common ~targets:[]; Scheduler.go ~common (fun () -> - Dune.File_tree.init ~recognize_jbuilder_projects:true ~ancestor_vcs:None; - Dune.Workspace.init (); - Dune.Merlin_server.start () |> Fiber.return) + Dune_engine.File_tree.init ~recognize_jbuilder_projects:true + ~ancestor_vcs:None; + Dune_rules.Workspace.init (); + Dune_rules.Merlin_server.start () |> Fiber.return) let command = (term, info) diff --git a/bin/print_rules.ml b/bin/print_rules.ml index f8fd823b273..538fbd2da54 100644 --- a/bin/print_rules.ml +++ b/bin/print_rules.ml @@ -61,7 +61,8 @@ let print_rule_sexp ppf (rule : Build_system.Evaluated_rule.t) = ] ; ( match rule.context with | None -> [] - | Some c -> [ ("context", Dune.Context_name.encode c.name) ] ) + | Some c -> [ ("context", Dune_engine.Context_name.encode c.name) ] + ) ; [ ("action", sexp_of_action rule.action) ] ]) in diff --git a/bin/printenv.ml b/bin/printenv.ml index 41eb268831c..0991835a1eb 100644 --- a/bin/printenv.ml +++ b/bin/printenv.ml @@ -29,7 +29,7 @@ let pp ppf ~fields sexps = if do_print then Dune_lang.Ast.add_loc sexp ~loc:Loc.none |> Dune_lang.Cst.concrete |> List.singleton - |> Format.fprintf ppf "%a@?" Dune.Format_dune_lang.pp_top_sexps) + |> Format.fprintf ppf "%a@?" Dune_engine.Format_dune_lang.pp_top_sexps) let term = let+ common = Common.term @@ -53,11 +53,11 @@ let term = ( match checked with | In_build_dir (ctx, _) -> let sctx = - Dune.Context_name.Map.find_exn setup.scontexts ctx.name + Dune_engine.Context_name.Map.find_exn setup.scontexts ctx.name in [ dump sctx ~dir:(Path.as_in_build_dir_exn dir) ] | In_source_dir dir -> - Dune.Context_name.Map.values setup.scontexts + Dune_engine.Context_name.Map.values setup.scontexts |> List.map ~f:(fun sctx -> let dir = Path.Build.append_source @@ -76,7 +76,7 @@ let term = | l -> List.iter l ~f:(fun (name, env) -> Format.printf "@[Environment for context %s:@,%a@]@." - (Dune.Context_name.to_string name) + (Dune_engine.Context_name.to_string name) (pp ~fields) env)) let command = (term, info) diff --git a/bin/subst.ml b/bin/subst.ml index 35e8f6ab5e7..dd473f9adba 100644 --- a/bin/subst.ml +++ b/bin/subst.ml @@ -66,6 +66,6 @@ let term = Path.Build.set_build_dir (Path.Build.Kind.of_string Common.default_build_dir); Config.init config; Log.init_disabled (); - Dune.Scheduler.go ~config Watermarks.subst + Dune_engine.Scheduler.go ~config Watermarks.subst let command = (term, info) diff --git a/bin/target.ml b/bin/target.ml index d0fb4ceca81..3b499649027 100644 --- a/bin/target.ml +++ b/bin/target.ml @@ -1,8 +1,8 @@ open Stdune module Log = Dune_util.Log -module Context = Dune.Context -module Build = Dune.Build -module Build_system = Dune.Build_system +module Context = Dune_rules.Context +module Build = Dune_engine.Build +module Build_system = Dune_engine.Build_system type t = | File of Path.t @@ -20,14 +20,14 @@ let request targets = match target with | File path -> Build.path path | Alias { Alias.name; recursive; dir; contexts } -> - let contexts = List.map ~f:Dune.Context.name contexts in + let contexts = List.map ~f:Dune_rules.Context.name contexts in ( if recursive then Build_system.Alias.dep_rec_multi_contexts else Build_system.Alias.dep_multi_contexts ) ~dir ~name ~contexts) -let target_hint (_setup : Dune.Main.build_system) path = +let target_hint (_setup : Dune_rules.Main.build_system) path = assert (Path.is_managed path); let sub_dir = Option.value ~default:path (Path.parent path) in let candidates = Path.Build.Set.to_list (Build_system.all_targets ()) in @@ -52,14 +52,14 @@ let target_hint (_setup : Dune.Main.build_system) path = let candidates = String.Set.of_list candidates |> String.Set.to_list in User_message.did_you_mean (Path.to_string path) ~candidates -let resolve_path path ~(setup : Dune.Main.build_system) = +let resolve_path path ~(setup : Dune_rules.Main.build_system) = let checked = Util.check_path setup.workspace.contexts path in let can't_build path = Error (target_hint setup path) in let as_source_dir src = - if Dune.File_tree.dir_exists src then + if Dune_engine.File_tree.dir_exists src then Some [ Alias - (Alias.in_dir ~name:Dune.Alias.Name.default ~recursive:true + (Alias.in_dir ~name:Dune_engine.Alias.Name.default ~recursive:true ~contexts:setup.workspace.contexts path) ] else @@ -95,21 +95,23 @@ let resolve_path path ~(setup : Dune.Main.build_system) = | None -> build () ) | In_install_dir _ -> build () -let expand_path common ~(setup : Dune.Main.build_system) ctx sv = +let expand_path common ~(setup : Dune_rules.Main.build_system) ctx sv = let sctx = - Dune.Context_name.Map.find_exn setup.scontexts (Context.name ctx) + Dune_engine.Context_name.Map.find_exn setup.scontexts (Context.name ctx) in let dir = Path.Build.relative ctx.Context.build_dir (String.concat ~sep:Filename.dir_sep (Common.root common).to_cwd) in - let expander = Dune.Super_context.expander sctx ~dir in - let expander = Dune.Dir_contents.add_sources_to_expander sctx expander in + let expander = Dune_rules.Super_context.expander sctx ~dir in + let expander = + Dune_rules.Dir_contents.add_sources_to_expander sctx expander + in Path.relative Path.root - (Common.prefix_target common (Dune.Expander.expand_str expander sv)) + (Common.prefix_target common (Dune_rules.Expander.expand_str expander sv)) -let resolve_alias common ~recursive sv ~(setup : Dune.Main.build_system) = - match Dune.String_with_vars.text_only sv with +let resolve_alias common ~recursive sv ~(setup : Dune_rules.Main.build_system) = + match Dune_engine.String_with_vars.text_only sv with | Some s -> Ok [ Alias @@ -119,7 +121,7 @@ let resolve_alias common ~recursive sv ~(setup : Dune.Main.build_system) = | None -> Error [ Pp.text "alias cannot contain variables" ] let resolve_target common ~setup = function - | Dune.Dep_conf.Alias sv as dep -> + | Dune_rules.Dep_conf.Alias sv as dep -> Result.map_error ~f:(fun hints -> (dep, hints)) (resolve_alias common ~recursive:false sv ~setup) @@ -161,7 +163,7 @@ let resolve_targets_mixed common setup user_targets = ]; targets -let resolve_targets common (setup : Dune.Main.build_system) user_targets = +let resolve_targets common (setup : Dune_rules.Main.build_system) user_targets = List.map ~f:(fun dep -> Dep dep) user_targets |> resolve_targets_mixed common setup diff --git a/bin/target.mli b/bin/target.mli index b5be34eb4a9..ccaaa61b64a 100644 --- a/bin/target.mli +++ b/bin/target.mli @@ -4,11 +4,11 @@ type t = | File of Path.t | Alias of Alias.t -val request : t list -> unit Dune.Build.t +val request : t list -> unit Dune_engine.Build.t val resolve_target : Common.t - -> setup:Dune.Main.build_system + -> setup:Dune_rules.Main.build_system -> Arg.Dep.t -> (t list, Arg.Dep.t * User_message.Style.t Pp.t list) result @@ -18,9 +18,9 @@ type resolve_input = val resolve_targets_mixed : Common.t - -> Dune.Main.build_system + -> Dune_rules.Main.build_system -> resolve_input list -> (t list, Arg.Dep.t * User_message.Style.t Pp.t list) result list val resolve_targets_exn : - Common.t -> Dune.Main.build_system -> Arg.Dep.t list -> t list + Common.t -> Dune_rules.Main.build_system -> Arg.Dep.t list -> t list diff --git a/bin/top.ml b/bin/top.ml index 13da2ec4945..dd62461ed1b 100644 --- a/bin/top.ml +++ b/bin/top.ml @@ -18,7 +18,8 @@ let man = let info = Term.info "top" ~doc ~man let link_deps link = - List.concat_map link ~f:(fun t -> Dune.Lib.link_deps t Dune.Link_mode.Byte) + List.concat_map link ~f:(fun t -> + Dune_rules.Lib.link_deps t Dune_rules.Link_mode.Byte) let term = let+ common = Common.term @@ -31,25 +32,31 @@ let term = let open Fiber.O in let* setup = Import.Main.setup common in let sctx = - Dune.Context_name.Map.find setup.scontexts ctx_name |> Option.value_exn + Dune_engine.Context_name.Map.find setup.scontexts ctx_name + |> Option.value_exn in let dir = let build_dir = (Super_context.context sctx).build_dir in Path.Build.relative build_dir (Common.prefix_target common dir) in let scope = Super_context.find_scope_by_dir sctx dir in - let db = Dune.Scope.libs scope in - let libs = Dune.Utop.libs_under_dir sctx ~db ~dir:(Path.build dir) in - let requires = Dune.Lib.closure ~linking:true libs |> Result.ok_exn in - let include_paths = Dune.Lib.L.include_paths requires in + let db = Dune_rules.Scope.libs scope in + let libs = + Dune_rules.Utop.libs_under_dir sctx ~db ~dir:(Path.build dir) + in + let requires = + Dune_rules.Lib.closure ~linking:true libs |> Result.ok_exn + in + let include_paths = Dune_rules.Lib.L.include_paths requires in let files = link_deps requires in let* () = do_build (List.map files ~f:(fun f -> Target.File f)) in let files_to_load = List.filter files ~f:(fun p -> let ext = Path.extension p in - ext = Dune.Mode.compiled_lib_ext Byte || ext = Dune.Cm_kind.ext Cmo) + ext = Dune_rules.Mode.compiled_lib_ext Byte + || ext = Dune_rules.Cm_kind.ext Cmo) in - Dune.Toplevel.print_toplevel_init_file ~include_paths ~files_to_load; + Dune_rules.Toplevel.print_toplevel_init_file ~include_paths ~files_to_load; Fiber.return ()) let command = (term, info) diff --git a/bin/upgrade.ml b/bin/upgrade.ml index 0e15ab16dfb..b09bbebfe74 100644 --- a/bin/upgrade.ml +++ b/bin/upgrade.ml @@ -17,7 +17,8 @@ let term = let+ common = Common.term in Common.set_common common ~targets:[]; Scheduler.go ~common (fun () -> - Dune.File_tree.init ~recognize_jbuilder_projects:true ~ancestor_vcs:None; - Dune.Upgrader.upgrade () |> Fiber.return) + Dune_engine.File_tree.init ~recognize_jbuilder_projects:true + ~ancestor_vcs:None; + Dune_rules.Upgrader.upgrade () |> Fiber.return) let command = (term, info) diff --git a/bin/util.ml b/bin/util.ml index 37f0cc4afeb..3d7d0defe46 100644 --- a/bin/util.ml +++ b/bin/util.ml @@ -1,8 +1,8 @@ open! Stdune -module Context = Dune.Context -module Workspace = Dune.Workspace -module Dune_project = Dune.Dune_project -module Vcs = Dune.Vcs +module Context = Dune_rules.Context +module Workspace = Dune_rules.Workspace +module Dune_project = Dune_engine.Dune_project +module Vcs = Dune_engine.Vcs type checked = | In_build_dir of (Context.t * Path.Source.t) @@ -12,7 +12,7 @@ type checked = let check_path contexts = let contexts = - Dune.Context_name.Map.of_list_map_exn contexts ~f:(fun c -> + Dune_engine.Context_name.Map.of_list_map_exn contexts ~f:(fun c -> (c.Context.name, c)) in fun path -> @@ -23,26 +23,26 @@ let check_path contexts = ] in let context_exn ctx = - match Dune.Context_name.Map.find contexts ctx with + match Dune_engine.Context_name.Map.find contexts ctx with | Some context -> context | None -> User_error.raise [ Pp.textf "%s refers to unknown build context: %s" (Path.to_string_maybe_quoted path) - (Dune.Context_name.to_string ctx) + (Dune_engine.Context_name.to_string ctx) ] ~hints: (User_message.did_you_mean - (Dune.Context_name.to_string ctx) + (Dune_engine.Context_name.to_string ctx) ~candidates: - ( Dune.Context_name.Map.keys contexts - |> List.map ~f:Dune.Context_name.to_string )) + ( Dune_engine.Context_name.Map.keys contexts + |> List.map ~f:Dune_engine.Context_name.to_string )) in match path with | External e -> External e | In_source_tree s -> In_source_dir s | In_build_dir path -> ( - match Dune.Dpath.analyse_target path with + match Dune_engine.Dpath.analyse_target path with | Other _ -> internal_path () | Alias (_, _) -> internal_path () | Install (name, src) -> In_install_dir (context_exn name, src) diff --git a/bin/util.mli b/bin/util.mli index eed97d0ed92..426d3b2ba01 100644 --- a/bin/util.mli +++ b/bin/util.mli @@ -1,5 +1,5 @@ open Stdune -open Dune +open Dune_rules type checked = | In_build_dir of (Context.t * Path.Source.t) diff --git a/bin/utop.ml b/bin/utop.ml index 3185e8ea1dd..d7d3959b12b 100644 --- a/bin/utop.ml +++ b/bin/utop.ml @@ -1,6 +1,6 @@ open Stdune open Import -module Utop = Dune.Utop +module Utop = Dune_rules.Utop let doc = "Load library in utop" diff --git a/bin/workspace_root.ml b/bin/workspace_root.ml index 11a25f8ec45..144ba8db231 100644 --- a/bin/workspace_root.ml +++ b/bin/workspace_root.ml @@ -1,5 +1,6 @@ open Stdune -open Dune +open Dune_engine +open Dune_rules module Kind = struct type t = @@ -27,7 +28,7 @@ type t = { dir : string ; to_cwd : string list ; kind : Kind.t - ; ancestor_vcs : Dune.Vcs.t option + ; ancestor_vcs : Dune_engine.Vcs.t option } let make kind dir = { kind; dir; to_cwd = []; ancestor_vcs = None } diff --git a/bin/workspace_root.mli b/bin/workspace_root.mli index bc82cd144ed..586c26364a0 100644 --- a/bin/workspace_root.mli +++ b/bin/workspace_root.mli @@ -12,7 +12,7 @@ type t = { dir : string ; to_cwd : string list (** How to reach the cwd from the root *) ; kind : Kind.t (** Closest VCS in directories strictly above the root *) - ; ancestor_vcs : Dune.Vcs.t option + ; ancestor_vcs : Dune_engine.Vcs.t option } val create : specified_by_user:string option -> t diff --git a/boot/libs.ml b/boot/libs.ml index b2755930f60..2ed3f44a719 100644 --- a/boot/libs.ml +++ b/boot/libs.ml @@ -23,7 +23,8 @@ let local_libraries = ; ("otherlibs/action-plugin/src", Some "Dune_action_plugin", false, None) ; ("vendor/build_path_prefix_map/src", Some "Build_path_prefix_map", false, None) - ; ("src/dune", Some "Dune", true, None) + ; ("src/dune_engine", Some "Dune_engine", false, None) + ; ("src/dune_rules", Some "Dune_rules", true, None) ; ("vendor/cmdliner/src", None, false, None) ; ("otherlibs/build-info/src", Some "Build_info", false, Some "build_info_data") diff --git a/src/dune/action.ml b/src/dune_engine/action.ml similarity index 100% rename from src/dune/action.ml rename to src/dune_engine/action.ml diff --git a/src/dune/action.mli b/src/dune_engine/action.mli similarity index 100% rename from src/dune/action.mli rename to src/dune_engine/action.mli diff --git a/src/dune/action_ast.ml b/src/dune_engine/action_ast.ml similarity index 100% rename from src/dune/action_ast.ml rename to src/dune_engine/action_ast.ml diff --git a/src/dune/action_ast.mli b/src/dune_engine/action_ast.mli similarity index 100% rename from src/dune/action_ast.mli rename to src/dune_engine/action_ast.mli diff --git a/src/dune/action_dune_lang.ml b/src/dune_engine/action_dune_lang.ml similarity index 100% rename from src/dune/action_dune_lang.ml rename to src/dune_engine/action_dune_lang.ml diff --git a/src/dune/action_dune_lang.mli b/src/dune_engine/action_dune_lang.mli similarity index 100% rename from src/dune/action_dune_lang.mli rename to src/dune_engine/action_dune_lang.mli diff --git a/src/dune/action_exec.ml b/src/dune_engine/action_exec.ml similarity index 100% rename from src/dune/action_exec.ml rename to src/dune_engine/action_exec.ml diff --git a/src/dune/action_exec.mli b/src/dune_engine/action_exec.mli similarity index 100% rename from src/dune/action_exec.mli rename to src/dune_engine/action_exec.mli diff --git a/src/dune/action_intf.ml b/src/dune_engine/action_intf.ml similarity index 100% rename from src/dune/action_intf.ml rename to src/dune_engine/action_intf.ml diff --git a/src/dune/action_mapper.ml b/src/dune_engine/action_mapper.ml similarity index 100% rename from src/dune/action_mapper.ml rename to src/dune_engine/action_mapper.ml diff --git a/src/dune/action_mapper.mli b/src/dune_engine/action_mapper.mli similarity index 100% rename from src/dune/action_mapper.mli rename to src/dune_engine/action_mapper.mli diff --git a/src/dune/action_plugin.ml b/src/dune_engine/action_plugin.ml similarity index 100% rename from src/dune/action_plugin.ml rename to src/dune_engine/action_plugin.ml diff --git a/src/dune/action_plugin.mli b/src/dune_engine/action_plugin.mli similarity index 100% rename from src/dune/action_plugin.mli rename to src/dune_engine/action_plugin.mli diff --git a/src/dune/alias.ml b/src/dune_engine/alias.ml similarity index 100% rename from src/dune/alias.ml rename to src/dune_engine/alias.ml diff --git a/src/dune/alias.mli b/src/dune_engine/alias.mli similarity index 100% rename from src/dune/alias.mli rename to src/dune_engine/alias.mli diff --git a/src/dune/artifact_substitution.ml b/src/dune_engine/artifact_substitution.ml similarity index 100% rename from src/dune/artifact_substitution.ml rename to src/dune_engine/artifact_substitution.ml diff --git a/src/dune/artifact_substitution.mli b/src/dune_engine/artifact_substitution.mli similarity index 100% rename from src/dune/artifact_substitution.mli rename to src/dune_engine/artifact_substitution.mli diff --git a/src/dune/assets.ml b/src/dune_engine/assets.ml similarity index 100% rename from src/dune/assets.ml rename to src/dune_engine/assets.ml diff --git a/src/dune/build.ml b/src/dune_engine/build.ml similarity index 100% rename from src/dune/build.ml rename to src/dune_engine/build.ml diff --git a/src/dune/build.mli b/src/dune_engine/build.mli similarity index 100% rename from src/dune/build.mli rename to src/dune_engine/build.mli diff --git a/src/dune/build_context.ml b/src/dune_engine/build_context.ml similarity index 100% rename from src/dune/build_context.ml rename to src/dune_engine/build_context.ml diff --git a/src/dune/build_context.mli b/src/dune_engine/build_context.mli similarity index 100% rename from src/dune/build_context.mli rename to src/dune_engine/build_context.mli diff --git a/src/dune/build_system.ml b/src/dune_engine/build_system.ml similarity index 100% rename from src/dune/build_system.ml rename to src/dune_engine/build_system.ml diff --git a/src/dune/build_system.mli b/src/dune_engine/build_system.mli similarity index 100% rename from src/dune/build_system.mli rename to src/dune_engine/build_system.mli diff --git a/src/dune/cached_digest.ml b/src/dune_engine/cached_digest.ml similarity index 100% rename from src/dune/cached_digest.ml rename to src/dune_engine/cached_digest.ml diff --git a/src/dune/cached_digest.mli b/src/dune_engine/cached_digest.mli similarity index 100% rename from src/dune/cached_digest.mli rename to src/dune_engine/cached_digest.mli diff --git a/src/dune/clflags.ml b/src/dune_engine/clflags.ml similarity index 100% rename from src/dune/clflags.ml rename to src/dune_engine/clflags.ml diff --git a/src/dune/clflags.mli b/src/dune_engine/clflags.mli similarity index 100% rename from src/dune/clflags.mli rename to src/dune_engine/clflags.mli diff --git a/src/dune/config.ml b/src/dune_engine/config.ml similarity index 100% rename from src/dune/config.ml rename to src/dune_engine/config.ml diff --git a/src/dune/config.mli b/src/dune_engine/config.mli similarity index 100% rename from src/dune/config.mli rename to src/dune_engine/config.mli diff --git a/src/dune/context_name.ml b/src/dune_engine/context_name.ml similarity index 100% rename from src/dune/context_name.ml rename to src/dune_engine/context_name.ml diff --git a/src/dune/context_name.mli b/src/dune_engine/context_name.mli similarity index 100% rename from src/dune/context_name.mli rename to src/dune_engine/context_name.mli diff --git a/src/dune/cram_test.ml b/src/dune_engine/cram_test.ml similarity index 100% rename from src/dune/cram_test.ml rename to src/dune_engine/cram_test.ml diff --git a/src/dune/cram_test.mli b/src/dune_engine/cram_test.mli similarity index 100% rename from src/dune/cram_test.mli rename to src/dune_engine/cram_test.mli diff --git a/src/dune/dep.ml b/src/dune_engine/dep.ml similarity index 100% rename from src/dune/dep.ml rename to src/dune_engine/dep.ml diff --git a/src/dune/dep.mli b/src/dune_engine/dep.mli similarity index 100% rename from src/dune/dep.mli rename to src/dune_engine/dep.mli diff --git a/src/dune/dep_path.ml b/src/dune_engine/dep_path.ml similarity index 100% rename from src/dune/dep_path.ml rename to src/dune_engine/dep_path.ml diff --git a/src/dune/dep_path.mli b/src/dune_engine/dep_path.mli similarity index 100% rename from src/dune/dep_path.mli rename to src/dune_engine/dep_path.mli diff --git a/src/dune/dialect.ml b/src/dune_engine/dialect.ml similarity index 100% rename from src/dune/dialect.ml rename to src/dune_engine/dialect.ml diff --git a/src/dune/dialect.mli b/src/dune_engine/dialect.mli similarity index 100% rename from src/dune/dialect.mli rename to src/dune_engine/dialect.mli diff --git a/src/dune/diff.ml b/src/dune_engine/diff.ml similarity index 100% rename from src/dune/diff.ml rename to src/dune_engine/diff.ml diff --git a/src/dune/diff.mli b/src/dune_engine/diff.mli similarity index 100% rename from src/dune/diff.mli rename to src/dune_engine/diff.mli diff --git a/src/dune/dir_set.ml b/src/dune_engine/dir_set.ml similarity index 100% rename from src/dune/dir_set.ml rename to src/dune_engine/dir_set.ml diff --git a/src/dune/dir_set.mli b/src/dune_engine/dir_set.mli similarity index 100% rename from src/dune/dir_set.mli rename to src/dune_engine/dir_set.mli diff --git a/src/dune/dpath.ml b/src/dune_engine/dpath.ml similarity index 100% rename from src/dune/dpath.ml rename to src/dune_engine/dpath.ml diff --git a/src/dune/dpath.mli b/src/dune_engine/dpath.mli similarity index 100% rename from src/dune/dpath.mli rename to src/dune_engine/dpath.mli diff --git a/src/dune_engine/dune b/src/dune_engine/dune new file mode 100644 index 00000000000..b3e5cf584e7 --- /dev/null +++ b/src/dune_engine/dune @@ -0,0 +1,25 @@ +(include_subdirs unqualified) + +(library + (name dune_engine) + (libraries unix stdune fiber incremental_cycles dag memo xdg dune_re + threads.posix opam_file_format dune_lang cache_daemon cache dune_glob + ocaml_config catapult jbuild_support dune_action_plugin dune_util + build_path_prefix_map) + (synopsis "Internal Dune library, do not use!")) + +(ocamllex dune_lexer) + +(rule + (mode promote) + (target assets.ml) + (action + (with-stdout-to + %{target} + (progn + (echo "let jbuild_plugin_ml = {jbp|") + (cat %{project_root}/plugin/jbuild_plugin.ml) + (echo "|jbp}\n\n") + (echo "let jbuild_plugin_mli = {jbp|") + (cat %{project_root}/plugin/jbuild_plugin.mli) + (echo "|jbp}"))))) diff --git a/src/dune/dune_lexer.mli b/src/dune_engine/dune_lexer.mli similarity index 100% rename from src/dune/dune_lexer.mli rename to src/dune_engine/dune_lexer.mli diff --git a/src/dune/dune_lexer.mll b/src/dune_engine/dune_lexer.mll similarity index 100% rename from src/dune/dune_lexer.mll rename to src/dune_engine/dune_lexer.mll diff --git a/src/dune/dune_project.ml b/src/dune_engine/dune_project.ml similarity index 100% rename from src/dune/dune_project.ml rename to src/dune_engine/dune_project.ml diff --git a/src/dune/dune_project.mli b/src/dune_engine/dune_project.mli similarity index 100% rename from src/dune/dune_project.mli rename to src/dune_engine/dune_project.mli diff --git a/src/dune/file_selector.ml b/src/dune_engine/file_selector.ml similarity index 100% rename from src/dune/file_selector.ml rename to src/dune_engine/file_selector.ml diff --git a/src/dune/file_selector.mli b/src/dune_engine/file_selector.mli similarity index 100% rename from src/dune/file_selector.mli rename to src/dune_engine/file_selector.mli diff --git a/src/dune/file_tree.ml b/src/dune_engine/file_tree.ml similarity index 100% rename from src/dune/file_tree.ml rename to src/dune_engine/file_tree.ml diff --git a/src/dune/file_tree.mli b/src/dune_engine/file_tree.mli similarity index 100% rename from src/dune/file_tree.mli rename to src/dune_engine/file_tree.mli diff --git a/src/dune/foreign_language.ml b/src/dune_engine/foreign_language.ml similarity index 100% rename from src/dune/foreign_language.ml rename to src/dune_engine/foreign_language.ml diff --git a/src/dune/foreign_language.mli b/src/dune_engine/foreign_language.mli similarity index 100% rename from src/dune/foreign_language.mli rename to src/dune_engine/foreign_language.mli diff --git a/src/dune/format_config.ml b/src/dune_engine/format_config.ml similarity index 100% rename from src/dune/format_config.ml rename to src/dune_engine/format_config.ml diff --git a/src/dune/format_config.mli b/src/dune_engine/format_config.mli similarity index 100% rename from src/dune/format_config.mli rename to src/dune_engine/format_config.mli diff --git a/src/dune/format_dune_lang.ml b/src/dune_engine/format_dune_lang.ml similarity index 100% rename from src/dune/format_dune_lang.ml rename to src/dune_engine/format_dune_lang.ml diff --git a/src/dune/format_dune_lang.mli b/src/dune_engine/format_dune_lang.mli similarity index 100% rename from src/dune/format_dune_lang.mli rename to src/dune_engine/format_dune_lang.mli diff --git a/src/dune/glob.ml b/src/dune_engine/glob.ml similarity index 100% rename from src/dune/glob.ml rename to src/dune_engine/glob.ml diff --git a/src/dune/glob.mli b/src/dune_engine/glob.mli similarity index 100% rename from src/dune/glob.mli rename to src/dune_engine/glob.mli diff --git a/src/dune/hooks.ml b/src/dune_engine/hooks.ml similarity index 100% rename from src/dune/hooks.ml rename to src/dune_engine/hooks.ml diff --git a/src/dune/hooks.mli b/src/dune_engine/hooks.mli similarity index 100% rename from src/dune/hooks.mli rename to src/dune_engine/hooks.mli diff --git a/src/dune/import.ml b/src/dune_engine/import.ml similarity index 100% rename from src/dune/import.ml rename to src/dune_engine/import.ml diff --git a/src/dune/lib_deps_info.ml b/src/dune_engine/lib_deps_info.ml similarity index 100% rename from src/dune/lib_deps_info.ml rename to src/dune_engine/lib_deps_info.ml diff --git a/src/dune/lib_deps_info.mli b/src/dune_engine/lib_deps_info.mli similarity index 100% rename from src/dune/lib_deps_info.mli rename to src/dune_engine/lib_deps_info.mli diff --git a/src/dune/lib_name.ml b/src/dune_engine/lib_name.ml similarity index 100% rename from src/dune/lib_name.ml rename to src/dune_engine/lib_name.ml diff --git a/src/dune/lib_name.mli b/src/dune_engine/lib_name.mli similarity index 100% rename from src/dune/lib_name.mli rename to src/dune_engine/lib_name.mli diff --git a/src/dune/ml_kind.ml b/src/dune_engine/ml_kind.ml similarity index 100% rename from src/dune/ml_kind.ml rename to src/dune_engine/ml_kind.ml diff --git a/src/dune/ml_kind.mli b/src/dune_engine/ml_kind.mli similarity index 100% rename from src/dune/ml_kind.mli rename to src/dune_engine/ml_kind.mli diff --git a/src/dune/opam_file.ml b/src/dune_engine/opam_file.ml similarity index 100% rename from src/dune/opam_file.ml rename to src/dune_engine/opam_file.ml diff --git a/src/dune/opam_file.mli b/src/dune_engine/opam_file.mli similarity index 100% rename from src/dune/opam_file.mli rename to src/dune_engine/opam_file.mli diff --git a/src/dune/ordered_set_lang.ml b/src/dune_engine/ordered_set_lang.ml similarity index 100% rename from src/dune/ordered_set_lang.ml rename to src/dune_engine/ordered_set_lang.ml diff --git a/src/dune/ordered_set_lang.mli b/src/dune_engine/ordered_set_lang.mli similarity index 100% rename from src/dune/ordered_set_lang.mli rename to src/dune_engine/ordered_set_lang.mli diff --git a/src/dune/ordered_set_lang_intf.ml b/src/dune_engine/ordered_set_lang_intf.ml similarity index 100% rename from src/dune/ordered_set_lang_intf.ml rename to src/dune_engine/ordered_set_lang_intf.ml diff --git a/src/dune/package.ml b/src/dune_engine/package.ml similarity index 100% rename from src/dune/package.ml rename to src/dune_engine/package.ml diff --git a/src/dune/package.mli b/src/dune_engine/package.mli similarity index 100% rename from src/dune/package.mli rename to src/dune_engine/package.mli diff --git a/src/dune/persistent.ml b/src/dune_engine/persistent.ml similarity index 100% rename from src/dune/persistent.ml rename to src/dune_engine/persistent.ml diff --git a/src/dune/persistent.mli b/src/dune_engine/persistent.mli similarity index 100% rename from src/dune/persistent.mli rename to src/dune_engine/persistent.mli diff --git a/src/dune/predicate.ml b/src/dune_engine/predicate.ml similarity index 100% rename from src/dune/predicate.ml rename to src/dune_engine/predicate.ml diff --git a/src/dune/predicate.mli b/src/dune_engine/predicate.mli similarity index 100% rename from src/dune/predicate.mli rename to src/dune_engine/predicate.mli diff --git a/src/dune/predicate_lang.ml b/src/dune_engine/predicate_lang.ml similarity index 100% rename from src/dune/predicate_lang.ml rename to src/dune_engine/predicate_lang.ml diff --git a/src/dune/predicate_lang.mli b/src/dune_engine/predicate_lang.mli similarity index 100% rename from src/dune/predicate_lang.mli rename to src/dune_engine/predicate_lang.mli diff --git a/src/dune/print_diff.ml b/src/dune_engine/print_diff.ml similarity index 100% rename from src/dune/print_diff.ml rename to src/dune_engine/print_diff.ml diff --git a/src/dune/print_diff.mli b/src/dune_engine/print_diff.mli similarity index 100% rename from src/dune/print_diff.mli rename to src/dune_engine/print_diff.mli diff --git a/src/dune/process.ml b/src/dune_engine/process.ml similarity index 100% rename from src/dune/process.ml rename to src/dune_engine/process.ml diff --git a/src/dune/process.mli b/src/dune_engine/process.mli similarity index 100% rename from src/dune/process.mli rename to src/dune_engine/process.mli diff --git a/src/dune/promotion.ml b/src/dune_engine/promotion.ml similarity index 100% rename from src/dune/promotion.ml rename to src/dune_engine/promotion.ml diff --git a/src/dune/promotion.mli b/src/dune_engine/promotion.mli similarity index 100% rename from src/dune/promotion.mli rename to src/dune_engine/promotion.mli diff --git a/src/dune/report_error.ml b/src/dune_engine/report_error.ml similarity index 100% rename from src/dune/report_error.ml rename to src/dune_engine/report_error.ml diff --git a/src/dune/report_error.mli b/src/dune_engine/report_error.mli similarity index 100% rename from src/dune/report_error.mli rename to src/dune_engine/report_error.mli diff --git a/src/dune/response_file.ml b/src/dune_engine/response_file.ml similarity index 100% rename from src/dune/response_file.ml rename to src/dune_engine/response_file.ml diff --git a/src/dune/response_file.mli b/src/dune_engine/response_file.mli similarity index 100% rename from src/dune/response_file.mli rename to src/dune_engine/response_file.mli diff --git a/src/dune/rule.ml b/src/dune_engine/rule.ml similarity index 100% rename from src/dune/rule.ml rename to src/dune_engine/rule.ml diff --git a/src/dune/rule.mli b/src/dune_engine/rule.mli similarity index 100% rename from src/dune/rule.mli rename to src/dune_engine/rule.mli diff --git a/src/dune/rules.ml b/src/dune_engine/rules.ml similarity index 100% rename from src/dune/rules.ml rename to src/dune_engine/rules.ml diff --git a/src/dune/rules.mli b/src/dune_engine/rules.mli similarity index 100% rename from src/dune/rules.mli rename to src/dune_engine/rules.mli diff --git a/src/dune/sandbox_config.ml b/src/dune_engine/sandbox_config.ml similarity index 100% rename from src/dune/sandbox_config.ml rename to src/dune_engine/sandbox_config.ml diff --git a/src/dune/sandbox_config.mli b/src/dune_engine/sandbox_config.mli similarity index 100% rename from src/dune/sandbox_config.mli rename to src/dune_engine/sandbox_config.mli diff --git a/src/dune/sandbox_mode.ml b/src/dune_engine/sandbox_mode.ml similarity index 100% rename from src/dune/sandbox_mode.ml rename to src/dune_engine/sandbox_mode.ml diff --git a/src/dune/sandbox_mode.mli b/src/dune_engine/sandbox_mode.mli similarity index 100% rename from src/dune/sandbox_mode.mli rename to src/dune_engine/sandbox_mode.mli diff --git a/src/dune/scheduler.ml b/src/dune_engine/scheduler.ml similarity index 100% rename from src/dune/scheduler.ml rename to src/dune_engine/scheduler.ml diff --git a/src/dune/scheduler.mli b/src/dune_engine/scheduler.mli similarity index 100% rename from src/dune/scheduler.mli rename to src/dune_engine/scheduler.mli diff --git a/src/dune/stanza.ml b/src/dune_engine/stanza.ml similarity index 100% rename from src/dune/stanza.ml rename to src/dune_engine/stanza.ml diff --git a/src/dune/stanza.mli b/src/dune_engine/stanza.mli similarity index 100% rename from src/dune/stanza.mli rename to src/dune_engine/stanza.mli diff --git a/src/dune/stanza_common.ml b/src/dune_engine/stanza_common.ml similarity index 100% rename from src/dune/stanza_common.ml rename to src/dune_engine/stanza_common.ml diff --git a/src/dune/stanza_common.mli b/src/dune_engine/stanza_common.mli similarity index 100% rename from src/dune/stanza_common.mli rename to src/dune_engine/stanza_common.mli diff --git a/src/dune/static_deps.ml b/src/dune_engine/static_deps.ml similarity index 100% rename from src/dune/static_deps.ml rename to src/dune_engine/static_deps.ml diff --git a/src/dune/static_deps.mli b/src/dune_engine/static_deps.mli similarity index 100% rename from src/dune/static_deps.mli rename to src/dune_engine/static_deps.mli diff --git a/src/dune/stats.ml b/src/dune_engine/stats.ml similarity index 100% rename from src/dune/stats.ml rename to src/dune_engine/stats.ml diff --git a/src/dune/stats.mli b/src/dune_engine/stats.mli similarity index 100% rename from src/dune/stats.mli rename to src/dune_engine/stats.mli diff --git a/src/dune/string_with_vars.ml b/src/dune_engine/string_with_vars.ml similarity index 100% rename from src/dune/string_with_vars.ml rename to src/dune_engine/string_with_vars.ml diff --git a/src/dune/string_with_vars.mli b/src/dune_engine/string_with_vars.mli similarity index 100% rename from src/dune/string_with_vars.mli rename to src/dune_engine/string_with_vars.mli diff --git a/src/dune/stringlike.ml b/src/dune_engine/stringlike.ml similarity index 100% rename from src/dune/stringlike.ml rename to src/dune_engine/stringlike.ml diff --git a/src/dune/stringlike.mli b/src/dune_engine/stringlike.mli similarity index 100% rename from src/dune/stringlike.mli rename to src/dune_engine/stringlike.mli diff --git a/src/dune/stringlike_intf.ml b/src/dune_engine/stringlike_intf.ml similarity index 100% rename from src/dune/stringlike_intf.ml rename to src/dune_engine/stringlike_intf.ml diff --git a/src/dune/sub_dirs.ml b/src/dune_engine/sub_dirs.ml similarity index 100% rename from src/dune/sub_dirs.ml rename to src/dune_engine/sub_dirs.ml diff --git a/src/dune/sub_dirs.mli b/src/dune_engine/sub_dirs.mli similarity index 100% rename from src/dune/sub_dirs.mli rename to src/dune_engine/sub_dirs.mli diff --git a/src/dune/utils.ml b/src/dune_engine/utils.ml similarity index 100% rename from src/dune/utils.ml rename to src/dune_engine/utils.ml diff --git a/src/dune/utils.mli b/src/dune_engine/utils.mli similarity index 100% rename from src/dune/utils.mli rename to src/dune_engine/utils.mli diff --git a/src/dune/value.ml b/src/dune_engine/value.ml similarity index 100% rename from src/dune/value.ml rename to src/dune_engine/value.ml diff --git a/src/dune/value.mli b/src/dune_engine/value.mli similarity index 100% rename from src/dune/value.mli rename to src/dune_engine/value.mli diff --git a/src/dune/variant.ml b/src/dune_engine/variant.ml similarity index 100% rename from src/dune/variant.ml rename to src/dune_engine/variant.ml diff --git a/src/dune/variant.mli b/src/dune_engine/variant.mli similarity index 100% rename from src/dune/variant.mli rename to src/dune_engine/variant.mli diff --git a/src/dune/vcs.ml b/src/dune_engine/vcs.ml similarity index 100% rename from src/dune/vcs.ml rename to src/dune_engine/vcs.ml diff --git a/src/dune/vcs.mli b/src/dune_engine/vcs.mli similarity index 100% rename from src/dune/vcs.mli rename to src/dune_engine/vcs.mli diff --git a/src/dune/action_to_sh.ml b/src/dune_rules/action_to_sh.ml similarity index 99% rename from src/dune/action_to_sh.ml rename to src/dune_rules/action_to_sh.ml index 58c106ed85e..e3bde1087b8 100644 --- a/src/dune/action_to_sh.ml +++ b/src/dune_rules/action_to_sh.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import module Simplified = struct diff --git a/src/dune/action_to_sh.mli b/src/dune_rules/action_to_sh.mli similarity index 87% rename from src/dune/action_to_sh.mli rename to src/dune_rules/action_to_sh.mli index 6ee4b43323d..3c8786ceb70 100644 --- a/src/dune/action_to_sh.mli +++ b/src/dune_rules/action_to_sh.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Convert an action to a shell command suitable for [/bin/sh] *) open Stdune diff --git a/src/dune/action_unexpanded.ml b/src/dune_rules/action_unexpanded.ml similarity index 99% rename from src/dune/action_unexpanded.ml rename to src/dune_rules/action_unexpanded.ml index 7c75be47dd0..431a18f9aeb 100644 --- a/src/dune/action_unexpanded.ml +++ b/src/dune_rules/action_unexpanded.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import module Unresolved = Action.Unresolved diff --git a/src/dune/action_unexpanded.mli b/src/dune_rules/action_unexpanded.mli similarity index 98% rename from src/dune/action_unexpanded.mli rename to src/dune_rules/action_unexpanded.mli index 54dad49f993..91e92b66637 100644 --- a/src/dune/action_unexpanded.mli +++ b/src/dune_rules/action_unexpanded.mli @@ -1,4 +1,6 @@ (** Actions as they are written in dune files. *) +open! Dune_engine + open Stdune include module type of struct diff --git a/src/dune/artifacts.ml b/src/dune_rules/artifacts.ml similarity index 99% rename from src/dune/artifacts.ml rename to src/dune_rules/artifacts.ml index 3a3f2b19758..386cf05367f 100644 --- a/src/dune/artifacts.ml +++ b/src/dune_rules/artifacts.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/artifacts.mli b/src/dune_rules/artifacts.mli similarity index 98% rename from src/dune/artifacts.mli rename to src/dune_rules/artifacts.mli index 8303f0f64c0..8b92e3863f6 100644 --- a/src/dune/artifacts.mli +++ b/src/dune_rules/artifacts.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open! Import diff --git a/src/dune_rules/assets.ml b/src/dune_rules/assets.ml new file mode 100644 index 00000000000..31afe51add5 --- /dev/null +++ b/src/dune_rules/assets.ml @@ -0,0 +1,75 @@ +let jbuild_plugin_ml = {jbp|let () = + Hashtbl.add Toploop.directive_table "require" + (Toploop.Directive_string ignore); + Hashtbl.add Toploop.directive_table "use" + (Toploop.Directive_string + (fun _ -> + failwith "#use is not allowed inside a dune file in OCaml syntax")); + Hashtbl.add Toploop.directive_table "use_mod" + (Toploop.Directive_string + (fun _ -> + failwith "#use is not allowed inside a dune file in OCaml syntax")) + +module V1 = struct + (*$ begin_vars $*) + let context = "dummy_context" + + let ocaml_version = "dummy_version" + + let ocamlc_config = [] + + let send_target = "dummy_send_target" + + (*$ end_vars $*) + + let send s = + let oc = open_out_bin send_target in + output_string oc s; + close_out oc + + let run_and_read_lines cmd = + let tmp_fname = Filename.temp_file "dune" ".output" in + at_exit (fun () -> Sys.remove tmp_fname); + let n = + Printf.ksprintf Sys.command "%s > %s" cmd (Filename.quote tmp_fname) + in + let rec loop ic acc = + match input_line ic with + | exception End_of_file -> + close_in ic; + List.rev acc + | line -> loop ic (line :: acc) + in + let output = loop (open_in tmp_fname) [] in + if n = 0 then + output + else + Printf.ksprintf failwith + "Command failed: %%s\nExit code: %%d\nOutput:\n%%s" cmd n + (String.concat "\n" output) +end +|jbp} + +let jbuild_plugin_mli = {jbp|(** API for jbuild plugins *) + +(* CR-someday amokhov: rename to [dune_plugin]. *) + +module V1 : sig + (** Current build context *) + val context : string + + (** OCaml version for the current build context. It might not be the same as + [Sys.ocaml_version] *) + val ocaml_version : string + + (** Output of [ocamlc -config] for this context *) + val ocamlc_config : (string * string) list + + (** [send s] send [s] to Dune. [s] should be the contents of a [dune] file + following the specification described in the manual. *) + val send : string -> unit + + (** Execute a command and read its output *) + val run_and_read_lines : string -> string list +end +|jbp} \ No newline at end of file diff --git a/src/dune/binary_kind.ml b/src/dune_rules/binary_kind.ml similarity index 97% rename from src/dune/binary_kind.ml rename to src/dune_rules/binary_kind.ml index 31f720ea4b0..5eac6fbca09 100644 --- a/src/dune/binary_kind.ml +++ b/src/dune_rules/binary_kind.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune type t = diff --git a/src/dune/binary_kind.mli b/src/dune_rules/binary_kind.mli similarity index 91% rename from src/dune/binary_kind.mli rename to src/dune_rules/binary_kind.mli index e7aa46df84e..1c2fbccbee9 100644 --- a/src/dune/binary_kind.mli +++ b/src/dune_rules/binary_kind.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Linking modes for binaries *) open! Stdune diff --git a/src/dune/bindings.ml b/src/dune_rules/bindings.ml similarity index 99% rename from src/dune/bindings.ml rename to src/dune_rules/bindings.ml index e5bea9bb722..4ded0866300 100644 --- a/src/dune/bindings.ml +++ b/src/dune_rules/bindings.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune open Dune_lang.Decoder diff --git a/src/dune/bindings.mli b/src/dune_rules/bindings.mli similarity index 97% rename from src/dune/bindings.mli rename to src/dune_rules/bindings.mli index 9b0559f5043..7ff9519e1ae 100644 --- a/src/dune/bindings.mli +++ b/src/dune_rules/bindings.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** This module represents user defined bindings of the form (:foo bar). These are used in the dependency specification language for example *) diff --git a/src/dune/blang.ml b/src/dune_rules/blang.ml similarity index 99% rename from src/dune/blang.ml rename to src/dune_rules/blang.ml index e0aff000ff5..ba1719f380b 100644 --- a/src/dune/blang.ml +++ b/src/dune_rules/blang.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune module Op = struct diff --git a/src/dune/blang.mli b/src/dune_rules/blang.mli similarity index 96% rename from src/dune/blang.mli rename to src/dune_rules/blang.mli index 2316430df48..4e9753a6a35 100644 --- a/src/dune/blang.mli +++ b/src/dune_rules/blang.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune module Op : sig diff --git a/src/dune/bootstrap_info.ml b/src/dune_rules/bootstrap_info.ml similarity index 99% rename from src/dune/bootstrap_info.ml rename to src/dune_rules/bootstrap_info.ml index 87e8a043f13..01cf8f79a41 100644 --- a/src/dune/bootstrap_info.ml +++ b/src/dune_rules/bootstrap_info.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import open! No_io diff --git a/src/dune/bootstrap_info.mli b/src/dune_rules/bootstrap_info.mli similarity index 94% rename from src/dune/bootstrap_info.mli rename to src/dune_rules/bootstrap_info.mli index 742b94a6a27..268e53207ee 100644 --- a/src/dune/bootstrap_info.mli +++ b/src/dune_rules/bootstrap_info.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Generate bootstrap info *) (** Generate an OCaml file containing a description of the dune sources for the diff --git a/src/dune/buildable_rules.ml b/src/dune_rules/buildable_rules.ml similarity index 98% rename from src/dune/buildable_rules.ml rename to src/dune_rules/buildable_rules.ml index 65b5a7115a7..d0b164e9835 100644 --- a/src/dune/buildable_rules.ml +++ b/src/dune_rules/buildable_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune open Build.O diff --git a/src/dune/buildable_rules.mli b/src/dune_rules/buildable_rules.mli similarity index 97% rename from src/dune/buildable_rules.mli rename to src/dune_rules/buildable_rules.mli index 53da962742d..57a3ceee19d 100644 --- a/src/dune/buildable_rules.mli +++ b/src/dune_rules/buildable_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Rules and helpers shared by OCaml libraries and executables *) open Stdune diff --git a/src/dune/case_lang.ml b/src/dune_rules/case_lang.ml similarity index 98% rename from src/dune/case_lang.ml rename to src/dune_rules/case_lang.ml index c1330b3395d..a647dad8c58 100644 --- a/src/dune/case_lang.ml +++ b/src/dune_rules/case_lang.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune module Ast = struct diff --git a/src/dune/case_lang.mli b/src/dune_rules/case_lang.mli similarity index 95% rename from src/dune/case_lang.mli rename to src/dune_rules/case_lang.mli index ac7d4e51606..df4404bea1d 100644 --- a/src/dune/case_lang.mli +++ b/src/dune_rules/case_lang.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** The case language expresses conditional evaluation. The general form is: [(case %{expr} ( -> ))] where [] is described using the predicate language: [Predicate_lang.t]. *) diff --git a/src/dune/check_rules.ml b/src/dune_rules/check_rules.ml similarity index 98% rename from src/dune/check_rules.ml rename to src/dune_rules/check_rules.ml index e7b12a358a1..2e8af0ae314 100644 --- a/src/dune/check_rules.ml +++ b/src/dune_rules/check_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune let dev_files = diff --git a/src/dune/check_rules.mli b/src/dune_rules/check_rules.mli similarity index 90% rename from src/dune/check_rules.mli rename to src/dune_rules/check_rules.mli index 24e12d55bf2..235fedd3375 100644 --- a/src/dune/check_rules.mli +++ b/src/dune_rules/check_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune val add_obj_dir : Super_context.t -> obj_dir:Path.Build.t Obj_dir.t -> unit diff --git a/src/dune/cinaps.ml b/src/dune_rules/cinaps.ml similarity index 99% rename from src/dune/cinaps.ml rename to src/dune_rules/cinaps.ml index 30903b910dc..6c0cf6b650c 100644 --- a/src/dune/cinaps.ml +++ b/src/dune_rules/cinaps.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import open! No_io open Build.O diff --git a/src/dune/cinaps.mli b/src/dune_rules/cinaps.mli similarity index 96% rename from src/dune/cinaps.mli rename to src/dune_rules/cinaps.mli index 602370244c7..3605c52419c 100644 --- a/src/dune/cinaps.mli +++ b/src/dune_rules/cinaps.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Cinaps integration *) (** Cinaps is a small tool that allows to auto-generate part of ml or other diff --git a/src/dune/cm_files.ml b/src/dune_rules/cm_files.ml similarity index 98% rename from src/dune/cm_files.ml rename to src/dune_rules/cm_files.ml index 56925c49635..9d13853aa0a 100644 --- a/src/dune/cm_files.ml +++ b/src/dune_rules/cm_files.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type t = diff --git a/src/dune/cm_files.mli b/src/dune_rules/cm_files.mli similarity index 97% rename from src/dune/cm_files.mli rename to src/dune_rules/cm_files.mli index d44bd400c07..553e1a2a07b 100644 --- a/src/dune/cm_files.mli +++ b/src/dune_rules/cm_files.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** This module encapsulates the trick of speeding up builds by providing an unsorted list of module dependencies statically and only using the topsorted list of deps for the order when passing to ocamlopt *) diff --git a/src/dune/cm_kind.ml b/src/dune_rules/cm_kind.ml similarity index 97% rename from src/dune/cm_kind.ml rename to src/dune_rules/cm_kind.ml index 3ce243f9ac1..4eb8adae4ad 100644 --- a/src/dune/cm_kind.ml +++ b/src/dune_rules/cm_kind.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type t = diff --git a/src/dune/cm_kind.mli b/src/dune_rules/cm_kind.mli similarity index 95% rename from src/dune/cm_kind.mli rename to src/dune_rules/cm_kind.mli index f588dc34919..a6e6aae2f3c 100644 --- a/src/dune/cm_kind.mli +++ b/src/dune_rules/cm_kind.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type t = diff --git a/src/dune/colors.ml b/src/dune_rules/colors.ml similarity index 98% rename from src/dune/colors.ml rename to src/dune_rules/colors.ml index 59714de35b1..ea7315ed758 100644 --- a/src/dune/colors.ml +++ b/src/dune_rules/colors.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/colors.mli b/src/dune_rules/colors.mli similarity index 93% rename from src/dune/colors.mli rename to src/dune_rules/colors.mli index da6d2d64233..4faedfb639e 100644 --- a/src/dune/colors.mli +++ b/src/dune_rules/colors.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune (** [Env.initial] extended with variables to force a few tools to print colors *) diff --git a/src/dune/command.ml b/src/dune_rules/command.ml similarity index 99% rename from src/dune/command.ml rename to src/dune_rules/command.ml index 057c8157095..f0c10095ee0 100644 --- a/src/dune/command.ml +++ b/src/dune_rules/command.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/command.mli b/src/dune_rules/command.mli similarity index 99% rename from src/dune/command.mli rename to src/dune_rules/command.mli index c240b51b19e..c521c11ba02 100644 --- a/src/dune/command.mli +++ b/src/dune_rules/command.mli @@ -1,4 +1,6 @@ (** Command line arguments specification *) +open! Dune_engine + open! Stdune (** This module implements a small DSL to specify the command line argument of a diff --git a/src/dune/compilation_context.ml b/src/dune_rules/compilation_context.ml similarity index 99% rename from src/dune/compilation_context.ml rename to src/dune_rules/compilation_context.ml index 15b73ce48f1..bacce2bb630 100644 --- a/src/dune/compilation_context.ml +++ b/src/dune_rules/compilation_context.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import module SC = Super_context diff --git a/src/dune/compilation_context.mli b/src/dune_rules/compilation_context.mli similarity index 99% rename from src/dune/compilation_context.mli rename to src/dune_rules/compilation_context.mli index 3debe955e01..cf373b73b9e 100644 --- a/src/dune/compilation_context.mli +++ b/src/dune_rules/compilation_context.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** High-level API for compiling OCaml files *) open! Stdune diff --git a/src/dune/context.ml b/src/dune_rules/context.ml similarity index 99% rename from src/dune/context.ml rename to src/dune_rules/context.ml index f58a235c83c..2719bb52df9 100644 --- a/src/dune/context.ml +++ b/src/dune_rules/context.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Fiber.O diff --git a/src/dune/context.mli b/src/dune_rules/context.mli similarity index 99% rename from src/dune/context.mli rename to src/dune_rules/context.mli index 049daa4c22f..4193e304a41 100644 --- a/src/dune/context.mli +++ b/src/dune_rules/context.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Compilation contexts *) (** Dune supports two different kind of contexts: diff --git a/src/dune/coq_lib.ml b/src/dune_rules/coq_lib.ml similarity index 99% rename from src/dune/coq_lib.ml rename to src/dune_rules/coq_lib.ml index 3ec0aadf2af..3389e3a16c3 100644 --- a/src/dune/coq_lib.ml +++ b/src/dune_rules/coq_lib.ml @@ -1,3 +1,4 @@ +open! Dune_engine (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune/coq_lib.mli b/src/dune_rules/coq_lib.mli similarity index 98% rename from src/dune/coq_lib.mli rename to src/dune_rules/coq_lib.mli index 706fc03ec51..54407316129 100644 --- a/src/dune/coq_lib.mli +++ b/src/dune_rules/coq_lib.mli @@ -1,3 +1,4 @@ +open! Dune_engine (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune/coq_lib_name.ml b/src/dune_rules/coq_lib_name.ml similarity index 98% rename from src/dune/coq_lib_name.ml rename to src/dune_rules/coq_lib_name.ml index 9b06b354e86..5a1d507b33c 100644 --- a/src/dune/coq_lib_name.ml +++ b/src/dune_rules/coq_lib_name.ml @@ -1,3 +1,4 @@ +open! Dune_engine (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* (c) INRIA 2020 *) diff --git a/src/dune/coq_lib_name.mli b/src/dune_rules/coq_lib_name.mli similarity index 97% rename from src/dune/coq_lib_name.mli rename to src/dune_rules/coq_lib_name.mli index e72e84c489d..3ab230737a6 100644 --- a/src/dune/coq_lib_name.mli +++ b/src/dune_rules/coq_lib_name.mli @@ -1,3 +1,4 @@ +open! Dune_engine (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune/coq_module.ml b/src/dune_rules/coq_module.ml similarity index 99% rename from src/dune/coq_module.ml rename to src/dune_rules/coq_module.ml index 2b2597c015d..d10f623ba08 100644 --- a/src/dune/coq_module.ml +++ b/src/dune_rules/coq_module.ml @@ -1,3 +1,4 @@ +open! Dune_engine (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune/coq_module.mli b/src/dune_rules/coq_module.mli similarity index 98% rename from src/dune/coq_module.mli rename to src/dune_rules/coq_module.mli index 46dde433b46..5258f70bc63 100644 --- a/src/dune/coq_module.mli +++ b/src/dune_rules/coq_module.mli @@ -1,3 +1,4 @@ +open! Dune_engine (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune/coq_rules.ml b/src/dune_rules/coq_rules.ml similarity index 99% rename from src/dune/coq_rules.ml rename to src/dune_rules/coq_rules.ml index b420cdf01fe..c2863fc0e9b 100644 --- a/src/dune/coq_rules.ml +++ b/src/dune_rules/coq_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* (c) INRIA 2020 *) diff --git a/src/dune/coq_rules.mli b/src/dune_rules/coq_rules.mli similarity index 97% rename from src/dune/coq_rules.mli rename to src/dune_rules/coq_rules.mli index c04c18f0f31..8090874f631 100644 --- a/src/dune/coq_rules.mli +++ b/src/dune_rules/coq_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune/coq_sources.ml b/src/dune_rules/coq_sources.ml similarity index 99% rename from src/dune/coq_sources.ml rename to src/dune_rules/coq_sources.ml index ee466cc3323..63c38b6d657 100644 --- a/src/dune/coq_sources.ml +++ b/src/dune_rules/coq_sources.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune open Coq_stanza diff --git a/src/dune/coq_sources.mli b/src/dune_rules/coq_sources.mli similarity index 95% rename from src/dune/coq_sources.mli rename to src/dune_rules/coq_sources.mli index 14cc8e63400..5ff5dcb9ff0 100644 --- a/src/dune/coq_sources.mli +++ b/src/dune_rules/coq_sources.mli @@ -1,4 +1,6 @@ (** Handling of coq source files *) +open! Dune_engine + open Stdune type t diff --git a/src/dune/coq_stanza.ml b/src/dune_rules/coq_stanza.ml similarity index 99% rename from src/dune/coq_stanza.ml rename to src/dune_rules/coq_stanza.ml index 056da47e8c3..334eb249417 100644 --- a/src/dune/coq_stanza.ml +++ b/src/dune_rules/coq_stanza.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import open Dune_lang.Decoder open Stanza_common diff --git a/src/dune/coq_stanza.mli b/src/dune_rules/coq_stanza.mli similarity index 98% rename from src/dune/coq_stanza.mli rename to src/dune_rules/coq_stanza.mli index af0a52874eb..dd14ce1b550 100644 --- a/src/dune/coq_stanza.mli +++ b/src/dune_rules/coq_stanza.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Import module Buildable : sig diff --git a/src/dune/cram_exec.ml b/src/dune_rules/cram_exec.ml similarity index 99% rename from src/dune/cram_exec.ml rename to src/dune_rules/cram_exec.ml index b90ce65065a..17be407f71e 100644 --- a/src/dune/cram_exec.ml +++ b/src/dune_rules/cram_exec.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import module Sanitizer : sig diff --git a/src/dune/cram_exec.mli b/src/dune_rules/cram_exec.mli similarity index 82% rename from src/dune/cram_exec.mli rename to src/dune_rules/cram_exec.mli index 0754f1fd377..a1cf725fc47 100644 --- a/src/dune/cram_exec.mli +++ b/src/dune_rules/cram_exec.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune val run : env:Env.t -> script:Path.t -> unit Fiber.t diff --git a/src/dune/cram_lexer.mli b/src/dune_rules/cram_lexer.mli similarity index 91% rename from src/dune/cram_lexer.mli rename to src/dune_rules/cram_lexer.mli index 660a2d83567..a78434df52c 100644 --- a/src/dune/cram_lexer.mli +++ b/src/dune_rules/cram_lexer.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** .t file parser *) (** A command or comment. Output blocks are skipped *) diff --git a/src/dune/cram_lexer.mll b/src/dune_rules/cram_lexer.mll similarity index 100% rename from src/dune/cram_lexer.mll rename to src/dune_rules/cram_lexer.mll diff --git a/src/dune/cram_rules.ml b/src/dune_rules/cram_rules.ml similarity index 99% rename from src/dune/cram_rules.ml rename to src/dune_rules/cram_rules.ml index 159c65cef69..df9ec584641 100644 --- a/src/dune/cram_rules.ml +++ b/src/dune_rules/cram_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import (* cwong: This should probably go in a better place than here, but I'm not sure diff --git a/src/dune/cram_rules.mli b/src/dune_rules/cram_rules.mli similarity index 91% rename from src/dune/cram_rules.mli rename to src/dune_rules/cram_rules.mli index 56ac8eeb070..0167b30e86f 100644 --- a/src/dune/cram_rules.mli +++ b/src/dune_rules/cram_rules.mli @@ -1,4 +1,6 @@ (** Rules for setting up cram tests *) +open! Dune_engine + open Import val rules : diff --git a/src/dune/cram_stanza.ml b/src/dune_rules/cram_stanza.ml similarity index 98% rename from src/dune/cram_stanza.ml rename to src/dune_rules/cram_stanza.ml index 54d5dd66d61..60f166a682d 100644 --- a/src/dune/cram_stanza.ml +++ b/src/dune_rules/cram_stanza.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Dune_lang.Decoder diff --git a/src/dune/cram_stanza.mli b/src/dune_rules/cram_stanza.mli similarity index 94% rename from src/dune/cram_stanza.mli rename to src/dune_rules/cram_stanza.mli index 9672b593c78..3a126b96634 100644 --- a/src/dune/cram_stanza.mli +++ b/src/dune_rules/cram_stanza.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Import type applies_to = diff --git a/src/dune/dep_conf.ml b/src/dune_rules/dep_conf.ml similarity index 99% rename from src/dune/dep_conf.ml rename to src/dune_rules/dep_conf.ml index 5c5319c077b..ecdee627bef 100644 --- a/src/dune/dep_conf.ml +++ b/src/dune_rules/dep_conf.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Dune_lang.Decoder diff --git a/src/dune/dep_conf.mli b/src/dune_rules/dep_conf.mli similarity index 97% rename from src/dune/dep_conf.mli rename to src/dune_rules/dep_conf.mli index b79e9e901e2..b27ba955c6a 100644 --- a/src/dune/dep_conf.mli +++ b/src/dune_rules/dep_conf.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/dep_conf_eval.ml b/src/dune_rules/dep_conf_eval.ml similarity index 99% rename from src/dune/dep_conf_eval.ml rename to src/dune_rules/dep_conf_eval.ml index 7a1d576fda4..ee1969fa79e 100644 --- a/src/dune/dep_conf_eval.ml +++ b/src/dune_rules/dep_conf_eval.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune open Build.O open Dep_conf diff --git a/src/dune/dep_conf_eval.mli b/src/dune_rules/dep_conf_eval.mli similarity index 96% rename from src/dune/dep_conf_eval.mli rename to src/dune_rules/dep_conf_eval.mli index 17f09eb53f1..693a9e1e862 100644 --- a/src/dune/dep_conf_eval.mli +++ b/src/dune_rules/dep_conf_eval.mli @@ -1,6 +1,8 @@ (** Interpret dependencies written in Dune files *) open Stdune +open! Dune_engine + (** Evaluates to the actual list of dependencies, ignoring aliases, and registers them as the action dependencies. *) val unnamed : expander:Expander.t -> Dep_conf.t list -> unit Build.t diff --git a/src/dune/dep_graph.ml b/src/dune_rules/dep_graph.ml similarity index 98% rename from src/dune/dep_graph.ml rename to src/dune_rules/dep_graph.ml index 82081d4bcaf..b82447bb931 100644 --- a/src/dune/dep_graph.ml +++ b/src/dune_rules/dep_graph.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Build.O diff --git a/src/dune/dep_graph.mli b/src/dune_rules/dep_graph.mli similarity index 95% rename from src/dune/dep_graph.mli rename to src/dune_rules/dep_graph.mli index c315a47346f..81156ca00cb 100644 --- a/src/dune/dep_graph.mli +++ b/src/dune_rules/dep_graph.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Represent dependency graphs between OCaml modules *) open Stdune diff --git a/src/dune/dep_rules.ml b/src/dune_rules/dep_rules.ml similarity index 99% rename from src/dune/dep_rules.ml rename to src/dune_rules/dep_rules.ml index 9c3785dfa57..ce3e15b65c7 100644 --- a/src/dune/dep_rules.ml +++ b/src/dune_rules/dep_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Import open Build.O diff --git a/src/dune/dep_rules.mli b/src/dune_rules/dep_rules.mli similarity index 90% rename from src/dune/dep_rules.mli rename to src/dune_rules/dep_rules.mli index 3db20229931..13abb134a59 100644 --- a/src/dune/dep_rules.mli +++ b/src/dune_rules/dep_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Get dependencies for a set of modules using either ocamldep or ocamlobjinfo *) val rules : diff --git a/src/dune/dir_contents.ml b/src/dune_rules/dir_contents.ml similarity index 99% rename from src/dune/dir_contents.ml rename to src/dune_rules/dir_contents.ml index d5dfdb0b7d7..9e7b1ec988b 100644 --- a/src/dune/dir_contents.ml +++ b/src/dune_rules/dir_contents.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import module Menhir_rules = Menhir diff --git a/src/dune/dir_contents.mli b/src/dune_rules/dir_contents.mli similarity index 99% rename from src/dune/dir_contents.mli rename to src/dune_rules/dir_contents.mli index fb445e5fab7..a753aafa53e 100644 --- a/src/dune/dir_contents.mli +++ b/src/dune_rules/dir_contents.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Directories contents *) (** This modules takes care of attaching source files of OCaml, C, Coq found in diff --git a/src/dune/dir_status.ml b/src/dune_rules/dir_status.ml similarity index 99% rename from src/dune/dir_status.ml rename to src/dune_rules/dir_status.ml index 4bb1d0e6c72..e78df1979c0 100644 --- a/src/dune/dir_status.ml +++ b/src/dune_rules/dir_status.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune open Dune_file diff --git a/src/dune/dir_status.mli b/src/dune_rules/dir_status.mli similarity index 98% rename from src/dune/dir_status.mli rename to src/dune_rules/dir_status.mli index 045fa5396ac..7ba39f04696 100644 --- a/src/dune/dir_status.mli +++ b/src/dune_rules/dir_status.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type is_component_of_a_group_but_not_the_root = diff --git a/src/dune/dir_with_dune.ml b/src/dune_rules/dir_with_dune.ml similarity index 96% rename from src/dune/dir_with_dune.ml rename to src/dune_rules/dir_with_dune.ml index 592b5342d43..6c43be2fba0 100644 --- a/src/dune/dir_with_dune.ml +++ b/src/dune_rules/dir_with_dune.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type 'data t = diff --git a/src/dune/dir_with_dune.mli b/src/dune_rules/dir_with_dune.mli similarity index 95% rename from src/dune/dir_with_dune.mli rename to src/dune_rules/dir_with_dune.mli index b061134b0f9..c07bf705225 100644 --- a/src/dune/dir_with_dune.mli +++ b/src/dune_rules/dir_with_dune.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune (** A directory with a [dune] file *) diff --git a/src/dune/dune b/src/dune_rules/dune similarity index 88% rename from src/dune/dune rename to src/dune_rules/dune index bd0f7099746..38fbe875f30 100644 --- a/src/dune/dune +++ b/src/dune_rules/dune @@ -1,14 +1,14 @@ (include_subdirs unqualified) (library - (name dune) + (name dune_rules) (libraries unix stdune fiber incremental_cycles dag memo xdg dune_re threads.posix opam_file_format dune_lang cache_daemon cache dune_glob ocaml_config catapult jbuild_support dune_action_plugin dune_util - build_path_prefix_map) + build_path_prefix_map dune_engine) (synopsis "Internal Dune library, do not use!")) -(ocamllex dune_lexer ocamlobjinfo cram_lexer) +(ocamllex ocamlobjinfo cram_lexer) (rule (mode promote) diff --git a/src/dune/dune_env.ml b/src/dune_rules/dune_env.ml similarity index 99% rename from src/dune/dune_env.ml rename to src/dune_rules/dune_env.ml index 685aa1e2535..965d980c063 100644 --- a/src/dune/dune_env.ml +++ b/src/dune_rules/dune_env.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import type stanza = Stanza.t = .. diff --git a/src/dune/dune_env.mli b/src/dune_rules/dune_env.mli similarity index 98% rename from src/dune/dune_env.mli rename to src/dune_rules/dune_env.mli index 816b82e00ab..1421bfa3d21 100644 --- a/src/dune/dune_env.mli +++ b/src/dune_rules/dune_env.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune type stanza = Stanza.t = .. diff --git a/src/dune/dune_file.ml b/src/dune_rules/dune_file.ml similarity index 99% rename from src/dune/dune_file.ml rename to src/dune_rules/dune_file.ml index c7d11aaa9b7..82e99532cd3 100644 --- a/src/dune/dune_file.ml +++ b/src/dune_rules/dune_file.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Dune_lang.Decoder diff --git a/src/dune/dune_file.mli b/src/dune_rules/dune_file.mli similarity index 99% rename from src/dune/dune_file.mli rename to src/dune_rules/dune_file.mli index 2093cfa4cdf..b5fd57c564a 100644 --- a/src/dune/dune_file.mli +++ b/src/dune_rules/dune_file.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Representation and parsing of Dune files *) open! Stdune diff --git a/src/dune/dune_init.ml b/src/dune_rules/dune_init.ml similarity index 99% rename from src/dune/dune_init.ml rename to src/dune_rules/dune_init.ml index 781f91d4a5c..e41c288d404 100644 --- a/src/dune/dune_init.ml +++ b/src/dune_rules/dune_init.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open! Import diff --git a/src/dune/dune_init.mli b/src/dune_rules/dune_init.mli similarity index 99% rename from src/dune/dune_init.mli rename to src/dune_rules/dune_init.mli index b706a775f61..a5e45163605 100644 --- a/src/dune/dune_init.mli +++ b/src/dune_rules/dune_init.mli @@ -1,4 +1,6 @@ (** Initialize dune components *) +open! Dune_engine + open! Stdune (** Supported kinds of components for initialization *) diff --git a/src/dune/dune_load.ml b/src/dune_rules/dune_load.ml similarity index 99% rename from src/dune/dune_load.ml rename to src/dune_rules/dune_load.ml index 36076c317d1..cb07ca2b433 100644 --- a/src/dune/dune_load.ml +++ b/src/dune_rules/dune_load.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/dune_load.mli b/src/dune_rules/dune_load.mli similarity index 98% rename from src/dune/dune_load.mli rename to src/dune_rules/dune_load.mli index d89706882bb..11dc6c9b6aa 100644 --- a/src/dune/dune_load.mli +++ b/src/dune_rules/dune_load.mli @@ -1,6 +1,8 @@ (** Loads dune files from the file system. Also responsible for evaluating dune files written in OCaml syntax. *) +open! Dune_engine + open! Stdune module Dune_file : sig diff --git a/src/dune/dune_package.ml b/src/dune_rules/dune_package.ml similarity index 99% rename from src/dune/dune_package.ml rename to src/dune_rules/dune_package.ml index 55936b795cd..cbfde018ca5 100644 --- a/src/dune/dune_package.ml +++ b/src/dune_rules/dune_package.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune module Vfile = Dune_lang.Versioned_file.Make (struct diff --git a/src/dune/dune_package.mli b/src/dune_rules/dune_package.mli similarity index 98% rename from src/dune/dune_package.mli rename to src/dune_rules/dune_package.mli index 0bc0815d233..2843f64b33e 100644 --- a/src/dune/dune_package.mli +++ b/src/dune_rules/dune_package.mli @@ -1,4 +1,6 @@ (** Representation of dune-package files *) +open! Dune_engine + open! Stdune (** The filename of a dune-package file*) diff --git a/src/dune/dynlink_supported.ml b/src/dune_rules/dynlink_supported.ml similarity index 88% rename from src/dune/dynlink_supported.ml rename to src/dune_rules/dynlink_supported.ml index 25de9c3d3ae..068f0653e49 100644 --- a/src/dune/dynlink_supported.ml +++ b/src/dune_rules/dynlink_supported.ml @@ -1,3 +1,4 @@ +open! Dune_engine module By_the_os = struct type t = bool diff --git a/src/dune/dynlink_supported.mli b/src/dune_rules/dynlink_supported.mli similarity index 92% rename from src/dune/dynlink_supported.mli rename to src/dune_rules/dynlink_supported.mli index 182b81ce3a3..1a43b638b94 100644 --- a/src/dune/dynlink_supported.mli +++ b/src/dune_rules/dynlink_supported.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Track whether dynamic loading of code is supported *) module By_the_os : sig diff --git a/src/dune/enabled_if.ml b/src/dune_rules/enabled_if.ml similarity index 99% rename from src/dune/enabled_if.ml rename to src/dune_rules/enabled_if.ml index 39bc1104fd5..c9bd9517520 100644 --- a/src/dune/enabled_if.ml +++ b/src/dune_rules/enabled_if.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import open Dune_lang.Decoder diff --git a/src/dune/enabled_if.mli b/src/dune_rules/enabled_if.mli similarity index 94% rename from src/dune/enabled_if.mli rename to src/dune_rules/enabled_if.mli index 1f137f91731..34df921409e 100644 --- a/src/dune/enabled_if.mli +++ b/src/dune_rules/enabled_if.mli @@ -1,3 +1,4 @@ +open! Dune_engine type allowed_vars = | Any | Only of (string * Dune_lang.Syntax.Version.t) list diff --git a/src/dune/env_node.ml b/src/dune_rules/env_node.ml similarity index 99% rename from src/dune/env_node.ml rename to src/dune_rules/env_node.ml index 676542028f1..fce3e9c4a33 100644 --- a/src/dune/env_node.ml +++ b/src/dune_rules/env_node.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune module Odoc = struct diff --git a/src/dune/env_node.mli b/src/dune_rules/env_node.mli similarity index 98% rename from src/dune/env_node.mli rename to src/dune_rules/env_node.mli index 026c08363ed..fb94931319c 100644 --- a/src/dune/env_node.mli +++ b/src/dune_rules/env_node.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** An environment node represents an evaluated (env ..) stanza in a directory. *) open Stdune diff --git a/src/dune/exe.ml b/src/dune_rules/exe.ml similarity index 99% rename from src/dune/exe.ml rename to src/dune_rules/exe.ml index 349db1d30a3..934c39a5ee2 100644 --- a/src/dune/exe.ml +++ b/src/dune_rules/exe.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import module CC = Compilation_context diff --git a/src/dune/exe.mli b/src/dune_rules/exe.mli similarity index 98% rename from src/dune/exe.mli rename to src/dune_rules/exe.mli index bb1c2ef2c36..7df500d2a60 100644 --- a/src/dune/exe.mli +++ b/src/dune_rules/exe.mli @@ -1,4 +1,6 @@ (** Compilation and linking of executables *) +open! Dune_engine + open Stdune module Program : sig diff --git a/src/dune/exe_rules.ml b/src/dune_rules/exe_rules.ml similarity index 99% rename from src/dune/exe_rules.ml rename to src/dune_rules/exe_rules.ml index 6efaff8de15..22426b66e5e 100644 --- a/src/dune/exe_rules.ml +++ b/src/dune_rules/exe_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import open! No_io open Build.O diff --git a/src/dune/exe_rules.mli b/src/dune_rules/exe_rules.mli similarity index 92% rename from src/dune/exe_rules.mli rename to src/dune_rules/exe_rules.mli index e897053196f..4d86b9fbe35 100644 --- a/src/dune/exe_rules.mli +++ b/src/dune_rules/exe_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune val rules : diff --git a/src/dune/expander.ml b/src/dune_rules/expander.ml similarity index 99% rename from src/dune/expander.ml rename to src/dune_rules/expander.ml index bc68188468e..8a1e82b9b9c 100644 --- a/src/dune/expander.ml +++ b/src/dune_rules/expander.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import module Expanded = struct diff --git a/src/dune/expander.mli b/src/dune_rules/expander.mli similarity index 99% rename from src/dune/expander.mli rename to src/dune_rules/expander.mli index e4235f57548..50e308f65fc 100644 --- a/src/dune/expander.mli +++ b/src/dune_rules/expander.mli @@ -7,6 +7,8 @@ 2. Dynamic. In this mode, the expander will record dependencies that are introduced by forms it has failed to expand. Later, these dependenceis can be filled for a full expansion.*) +open! Dune_engine + open Stdune type t diff --git a/src/dune/fdo.ml b/src/dune_rules/fdo.ml similarity index 99% rename from src/dune/fdo.ml rename to src/dune_rules/fdo.ml index 9069e7a578f..c458f289d25 100644 --- a/src/dune/fdo.ml +++ b/src/dune_rules/fdo.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune module CC = Compilation_context diff --git a/src/dune/fdo.mli b/src/dune_rules/fdo.mli similarity index 96% rename from src/dune/fdo.mli rename to src/dune_rules/fdo.mli index d857a715af3..144e5ac6ec4 100644 --- a/src/dune/fdo.mli +++ b/src/dune_rules/fdo.mli @@ -1,4 +1,6 @@ (** Integration with feedback-directed optimizations using ocamlfdo. *) +open! Dune_engine + open Stdune type phase = diff --git a/src/dune/file_binding.ml b/src/dune_rules/file_binding.ml similarity index 99% rename from src/dune/file_binding.ml rename to src/dune_rules/file_binding.ml index 7d86695efa6..d63f704cf18 100644 --- a/src/dune/file_binding.ml +++ b/src/dune_rules/file_binding.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune type ('src, 'dst) t = diff --git a/src/dune/file_binding.mli b/src/dune_rules/file_binding.mli similarity index 97% rename from src/dune/file_binding.mli rename to src/dune_rules/file_binding.mli index 411fd8e48ca..e2a9f24f832 100644 --- a/src/dune/file_binding.mli +++ b/src/dune_rules/file_binding.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune module Expanded : sig diff --git a/src/dune/findlib/dune b/src/dune_rules/findlib/dune similarity index 100% rename from src/dune/findlib/dune rename to src/dune_rules/findlib/dune diff --git a/src/dune/findlib/findlib.ml b/src/dune_rules/findlib/findlib.ml similarity index 99% rename from src/dune/findlib/findlib.ml rename to src/dune_rules/findlib/findlib.ml index 007bb429595..89443ff5624 100644 --- a/src/dune/findlib/findlib.ml +++ b/src/dune_rules/findlib/findlib.ml @@ -1,4 +1,5 @@ open! Stdune +open! Dune_engine open Import module Opam_package = Package module P = Variant diff --git a/src/dune/findlib/findlib.mli b/src/dune_rules/findlib/findlib.mli similarity index 97% rename from src/dune/findlib/findlib.mli rename to src/dune_rules/findlib/findlib.mli index e43b65f5e26..507b6d08e44 100644 --- a/src/dune/findlib/findlib.mli +++ b/src/dune_rules/findlib/findlib.mli @@ -1,7 +1,8 @@ (** Findlib database *) open! Stdune -open Import +open Dune_engine +open Dune_engine.Import (** Findlib database *) type t diff --git a/src/dune/findlib/meta.ml b/src/dune_rules/findlib/meta.ml similarity index 99% rename from src/dune/findlib/meta.ml rename to src/dune_rules/findlib/meta.ml index d6f8ad360e1..a295fbc1daa 100644 --- a/src/dune/findlib/meta.ml +++ b/src/dune_rules/findlib/meta.ml @@ -1,4 +1,5 @@ open! Stdune +open! Dune_engine open Import type t = diff --git a/src/dune/findlib/meta.mli b/src/dune_rules/findlib/meta.mli similarity index 96% rename from src/dune/findlib/meta.mli rename to src/dune_rules/findlib/meta.mli index 362ce1fb033..075034b9bb4 100644 --- a/src/dune/findlib/meta.mli +++ b/src/dune_rules/findlib/meta.mli @@ -1,7 +1,8 @@ (** META file parsing/printing *) open! Stdune -open! Import +open! Dune_engine +open! Dune_engine.Import type t = { name : Lib_name.t option diff --git a/src/dune/findlib/meta_lexer.mli b/src/dune_rules/findlib/meta_lexer.mli similarity index 100% rename from src/dune/findlib/meta_lexer.mli rename to src/dune_rules/findlib/meta_lexer.mli diff --git a/src/dune/findlib/meta_lexer.mll b/src/dune_rules/findlib/meta_lexer.mll similarity index 100% rename from src/dune/findlib/meta_lexer.mll rename to src/dune_rules/findlib/meta_lexer.mll diff --git a/src/dune/foreign.ml b/src/dune_rules/foreign.ml similarity index 99% rename from src/dune/foreign.ml rename to src/dune_rules/foreign.ml index 5ac57299c30..2e8d50c2de9 100644 --- a/src/dune/foreign.ml +++ b/src/dune_rules/foreign.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune let encode_lang = function diff --git a/src/dune/foreign.mli b/src/dune_rules/foreign.mli similarity index 99% rename from src/dune/foreign.mli rename to src/dune_rules/foreign.mli index fa546f16c9d..15ed71f1ef2 100644 --- a/src/dune/foreign.mli +++ b/src/dune_rules/foreign.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune val drop_source_extension : diff --git a/src/dune/foreign_rules.ml b/src/dune_rules/foreign_rules.ml similarity index 99% rename from src/dune/foreign_rules.ml rename to src/dune_rules/foreign_rules.ml index 30d3e566b1a..a9cc31395ae 100644 --- a/src/dune/foreign_rules.ml +++ b/src/dune_rules/foreign_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune (* Compute command line flags for the [include_dirs] field of [Foreign.Stubs.t] diff --git a/src/dune/foreign_rules.mli b/src/dune_rules/foreign_rules.mli similarity index 93% rename from src/dune/foreign_rules.mli rename to src/dune_rules/foreign_rules.mli index 2b7c31f4a31..3ec01382f5b 100644 --- a/src/dune/foreign_rules.mli +++ b/src/dune_rules/foreign_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/foreign_sources.ml b/src/dune_rules/foreign_sources.ml similarity index 99% rename from src/dune/foreign_sources.ml rename to src/dune_rules/foreign_sources.ml index 1f55ba588c4..853a90da4c6 100644 --- a/src/dune/foreign_sources.ml +++ b/src/dune_rules/foreign_sources.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune open Dune_file module Library = Dune_file.Library diff --git a/src/dune/foreign_sources.mli b/src/dune_rules/foreign_sources.mli similarity index 96% rename from src/dune/foreign_sources.mli rename to src/dune_rules/foreign_sources.mli index 7c7976b1df2..74b8c4b9597 100644 --- a/src/dune/foreign_sources.mli +++ b/src/dune_rules/foreign_sources.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Import (** This module loads and validates foreign sources from directories. *) diff --git a/src/dune/format_rules.ml b/src/dune_rules/format_rules.ml similarity index 99% rename from src/dune/format_rules.ml rename to src/dune_rules/format_rules.ml index 90a04de30ec..0871bac5e9e 100644 --- a/src/dune/format_rules.ml +++ b/src/dune_rules/format_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import let add_diff sctx loc alias ~dir ~input ~output = diff --git a/src/dune/format_rules.mli b/src/dune_rules/format_rules.mli similarity index 95% rename from src/dune/format_rules.mli rename to src/dune_rules/format_rules.mli index e78a43d4685..039f4035baa 100644 --- a/src/dune/format_rules.mli +++ b/src/dune_rules/format_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Import (** Setup automatic format rules for the given dir. If tools like ocamlformat diff --git a/src/dune/gen_meta.ml b/src/dune_rules/gen_meta.ml similarity index 99% rename from src/dune/gen_meta.ml rename to src/dune_rules/gen_meta.ml index 14942664b98..b10c1889809 100644 --- a/src/dune/gen_meta.ml +++ b/src/dune_rules/gen_meta.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Meta diff --git a/src/dune/gen_meta.mli b/src/dune_rules/gen_meta.mli similarity index 89% rename from src/dune/gen_meta.mli rename to src/dune_rules/gen_meta.mli index 3195dd13714..185e18a802a 100644 --- a/src/dune/gen_meta.mli +++ b/src/dune_rules/gen_meta.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Generate a META file *) open! Import diff --git a/src/dune/gen_rules.ml b/src/dune_rules/gen_rules.ml similarity index 99% rename from src/dune/gen_rules.ml rename to src/dune_rules/gen_rules.ml index f9b8a49c17a..259269088f8 100644 --- a/src/dune/gen_rules.ml +++ b/src/dune_rules/gen_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import module Menhir_rules = Menhir diff --git a/src/dune/gen_rules.mli b/src/dune_rules/gen_rules.mli similarity index 93% rename from src/dune/gen_rules.mli rename to src/dune_rules/gen_rules.mli index ea05dcdb38d..1b6f3da3346 100644 --- a/src/dune/gen_rules.mli +++ b/src/dune_rules/gen_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open! Import diff --git a/src/dune/global.ml b/src/dune_rules/global.ml similarity index 75% rename from src/dune/global.ml rename to src/dune_rules/global.ml index 16031d24725..1ae265666cb 100644 --- a/src/dune/global.ml +++ b/src/dune_rules/global.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune let env = Memo.Run.Fdecl.create Env.to_dyn diff --git a/src/dune/global.mli b/src/dune_rules/global.mli similarity index 71% rename from src/dune/global.mli rename to src/dune_rules/global.mli index 7112a12ddd0..1e5be461b0a 100644 --- a/src/dune/global.mli +++ b/src/dune_rules/global.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune val env : Env.t Memo.Run.Fdecl.t diff --git a/src/dune/inline_tests.ml b/src/dune_rules/inline_tests.ml similarity index 99% rename from src/dune/inline_tests.ml rename to src/dune_rules/inline_tests.ml index 95fd5383053..ab972e31c35 100644 --- a/src/dune/inline_tests.ml +++ b/src/dune_rules/inline_tests.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open! No_io diff --git a/src/dune/inline_tests.mli b/src/dune_rules/inline_tests.mli similarity index 50% rename from src/dune/inline_tests.mli rename to src/dune_rules/inline_tests.mli index 74391a6d27b..eb50bd8cf0e 100644 --- a/src/dune/inline_tests.mli +++ b/src/dune_rules/inline_tests.mli @@ -1 +1,2 @@ +open! Dune_engine val linkme : unit diff --git a/src/dune/install.ml b/src/dune_rules/install.ml similarity index 99% rename from src/dune/install.ml rename to src/dune_rules/install.ml index d40d247c0f5..afa2acdade1 100644 --- a/src/dune/install.ml +++ b/src/dune_rules/install.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/install.mli b/src/dune_rules/install.mli similarity index 98% rename from src/dune/install.mli rename to src/dune_rules/install.mli index b33d5aa75dc..6122d8dd8b3 100644 --- a/src/dune/install.mli +++ b/src/dune_rules/install.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Opam install file *) open! Stdune diff --git a/src/dune/install_rules.ml b/src/dune_rules/install_rules.ml similarity index 99% rename from src/dune/install_rules.ml rename to src/dune_rules/install_rules.ml index 84548c63475..82b89d4badf 100644 --- a/src/dune/install_rules.ml +++ b/src/dune_rules/install_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Build.O diff --git a/src/dune/install_rules.mli b/src/dune_rules/install_rules.mli similarity index 98% rename from src/dune/install_rules.mli rename to src/dune_rules/install_rules.mli index 5aac13049ed..14b917641ea 100644 --- a/src/dune/install_rules.mli +++ b/src/dune_rules/install_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune val gen_rules : Super_context.t -> dir:Path.Build.t -> Build_system.Subdir_set.t diff --git a/src/dune/jsoo_rules.ml b/src/dune_rules/jsoo_rules.ml similarity index 99% rename from src/dune/jsoo_rules.ml rename to src/dune_rules/jsoo_rules.ml index f7ee1236a8b..c9165b6c955 100644 --- a/src/dune/jsoo_rules.ml +++ b/src/dune_rules/jsoo_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open! No_io diff --git a/src/dune/jsoo_rules.mli b/src/dune_rules/jsoo_rules.mli similarity index 97% rename from src/dune/jsoo_rules.mli rename to src/dune_rules/jsoo_rules.mli index 21488a76312..01d4633a6ef 100644 --- a/src/dune/jsoo_rules.mli +++ b/src/dune_rules/jsoo_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Generate rules for js_of_ocaml *) open! Stdune diff --git a/src/dune/lib.ml b/src/dune_rules/lib.ml similarity index 99% rename from src/dune/lib.ml rename to src/dune_rules/lib.ml index 0835d7f3c60..d58ed312064 100644 --- a/src/dune/lib.ml +++ b/src/dune_rules/lib.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Import open Result.O diff --git a/src/dune/lib.mli b/src/dune_rules/lib.mli similarity index 99% rename from src/dune/lib.mli rename to src/dune_rules/lib.mli index 5d3783f9fa3..57d12747157 100644 --- a/src/dune/lib.mli +++ b/src/dune_rules/lib.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/lib_archives.ml b/src/dune_rules/lib_archives.ml similarity index 99% rename from src/dune/lib_archives.ml rename to src/dune_rules/lib_archives.ml index 23a9e5cb771..02e1badfa21 100644 --- a/src/dune/lib_archives.ml +++ b/src/dune_rules/lib_archives.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type t = diff --git a/src/dune/lib_archives.mli b/src/dune_rules/lib_archives.mli similarity index 94% rename from src/dune/lib_archives.mli rename to src/dune_rules/lib_archives.mli index eb7eeeabb45..9151b3d1f9f 100644 --- a/src/dune/lib_archives.mli +++ b/src/dune_rules/lib_archives.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type t diff --git a/src/dune/lib_config.ml b/src/dune_rules/lib_config.ml similarity index 98% rename from src/dune/lib_config.ml rename to src/dune_rules/lib_config.ml index ec770113221..87584296fe4 100644 --- a/src/dune/lib_config.ml +++ b/src/dune_rules/lib_config.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune type t = diff --git a/src/dune/lib_config.mli b/src/dune_rules/lib_config.mli similarity index 97% rename from src/dune/lib_config.mli rename to src/dune_rules/lib_config.mli index 5429e36c05d..229823c5845 100644 --- a/src/dune/lib_config.mli +++ b/src/dune_rules/lib_config.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type t = diff --git a/src/dune/lib_dep.ml b/src/dune_rules/lib_dep.ml similarity index 99% rename from src/dune/lib_dep.ml rename to src/dune_rules/lib_dep.ml index 696e0434321..680819110ce 100644 --- a/src/dune/lib_dep.ml +++ b/src/dune_rules/lib_dep.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune module Select = struct diff --git a/src/dune/lib_dep.mli b/src/dune_rules/lib_dep.mli similarity index 97% rename from src/dune/lib_dep.mli rename to src/dune_rules/lib_dep.mli index 6122963eb13..fdab24bf550 100644 --- a/src/dune/lib_dep.mli +++ b/src/dune_rules/lib_dep.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune module Select : sig diff --git a/src/dune/lib_file_deps.ml b/src/dune_rules/lib_file_deps.ml similarity index 98% rename from src/dune/lib_file_deps.ml rename to src/dune_rules/lib_file_deps.ml index f5f9c135646..ab2a014e850 100644 --- a/src/dune/lib_file_deps.ml +++ b/src/dune_rules/lib_file_deps.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune module Group = struct diff --git a/src/dune/lib_file_deps.mli b/src/dune_rules/lib_file_deps.mli similarity index 94% rename from src/dune/lib_file_deps.mli rename to src/dune_rules/lib_file_deps.mli index b869f294138..76a84f2ed94 100644 --- a/src/dune/lib_file_deps.mli +++ b/src/dune_rules/lib_file_deps.mli @@ -1,3 +1,4 @@ +open! Dune_engine module Group : sig type t = | Cmi diff --git a/src/dune/lib_info.ml b/src/dune_rules/lib_info.ml similarity index 99% rename from src/dune/lib_info.ml rename to src/dune_rules/lib_info.ml index f8a65a2f60c..c9013515800 100644 --- a/src/dune/lib_info.ml +++ b/src/dune_rules/lib_info.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import module Inherited = struct diff --git a/src/dune/lib_info.mli b/src/dune_rules/lib_info.mli similarity index 99% rename from src/dune/lib_info.mli rename to src/dune_rules/lib_info.mli index 7356d8fd731..25aafc24817 100644 --- a/src/dune/lib_info.mli +++ b/src/dune_rules/lib_info.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Raw library descriptions *) (** This module regroup all information about a library. We call such diff --git a/src/dune/lib_kind.ml b/src/dune_rules/lib_kind.ml similarity index 99% rename from src/dune/lib_kind.ml rename to src/dune_rules/lib_kind.ml index bbb04c18430..6e4b994cbdd 100644 --- a/src/dune/lib_kind.ml +++ b/src/dune_rules/lib_kind.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune module Ppx_args = struct diff --git a/src/dune/lib_kind.mli b/src/dune_rules/lib_kind.mli similarity index 95% rename from src/dune/lib_kind.mli rename to src/dune_rules/lib_kind.mli index 3d10198ccfe..ce5fc2612e7 100644 --- a/src/dune/lib_kind.mli +++ b/src/dune_rules/lib_kind.mli @@ -1,3 +1,4 @@ +open! Dune_engine module Ppx_args : sig module Cookie : sig type t = diff --git a/src/dune/lib_rules.ml b/src/dune_rules/lib_rules.ml similarity index 99% rename from src/dune/lib_rules.ml rename to src/dune_rules/lib_rules.ml index 528830e813c..a1086245342 100644 --- a/src/dune/lib_rules.ml +++ b/src/dune_rules/lib_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open! No_io diff --git a/src/dune/lib_rules.mli b/src/dune_rules/lib_rules.mli similarity index 95% rename from src/dune/lib_rules.mli rename to src/dune_rules/lib_rules.mli index c12d0e3991e..0c270acc200 100644 --- a/src/dune/lib_rules.mli +++ b/src/dune_rules/lib_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Dune_file diff --git a/src/dune/link_mode.ml b/src/dune_rules/link_mode.ml similarity index 91% rename from src/dune/link_mode.ml rename to src/dune_rules/link_mode.ml index 4c8353e3d49..a2649b7622e 100644 --- a/src/dune/link_mode.ml +++ b/src/dune_rules/link_mode.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune type t = diff --git a/src/dune/link_mode.mli b/src/dune_rules/link_mode.mli similarity index 87% rename from src/dune/link_mode.mli rename to src/dune_rules/link_mode.mli index c2dcd0e4cb0..41ad8e1a3a9 100644 --- a/src/dune/link_mode.mli +++ b/src/dune_rules/link_mode.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Link mode of OCaml programs *) type t = diff --git a/src/dune/link_time_code_gen.ml b/src/dune_rules/link_time_code_gen.ml similarity index 99% rename from src/dune/link_time_code_gen.ml rename to src/dune_rules/link_time_code_gen.ml index 73bff849719..e274c6aaceb 100644 --- a/src/dune/link_time_code_gen.ml +++ b/src/dune_rules/link_time_code_gen.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import module CC = Compilation_context module SC = Super_context diff --git a/src/dune/link_time_code_gen.mli b/src/dune_rules/link_time_code_gen.mli similarity index 93% rename from src/dune/link_time_code_gen.mli rename to src/dune_rules/link_time_code_gen.mli index c2c0b5db3fe..5e742fc2ac1 100644 --- a/src/dune/link_time_code_gen.mli +++ b/src/dune_rules/link_time_code_gen.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** {1 Handle link time code generation} *) open Stdune diff --git a/src/dune/main.ml b/src/dune_rules/main.ml similarity index 99% rename from src/dune/main.ml rename to src/dune_rules/main.ml index 93606de9274..a131c2df8df 100644 --- a/src/dune/main.ml +++ b/src/dune_rules/main.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Fiber.O diff --git a/src/dune/main.mli b/src/dune_rules/main.mli similarity index 98% rename from src/dune/main.mli rename to src/dune_rules/main.mli index 2505603ec99..a4d5394253a 100644 --- a/src/dune/main.mli +++ b/src/dune_rules/main.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open! Import diff --git a/src/dune/mdx.ml b/src/dune_rules/mdx.ml similarity index 99% rename from src/dune/mdx.ml rename to src/dune_rules/mdx.ml index f6bbda7997e..832e8994808 100644 --- a/src/dune/mdx.ml +++ b/src/dune_rules/mdx.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import let mdx_version_required = "1.6.0" diff --git a/src/dune/mdx.mli b/src/dune_rules/mdx.mli similarity index 92% rename from src/dune/mdx.mli rename to src/dune_rules/mdx.mli index bab9ad0b4ad..73f783e8993 100644 --- a/src/dune/mdx.mli +++ b/src/dune_rules/mdx.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** MDX integration *) open Stdune diff --git a/src/dune/menhir.ml b/src/dune_rules/menhir.ml similarity index 99% rename from src/dune/menhir.ml rename to src/dune_rules/menhir.ml index 4fe782ad290..4dfc2ae3b2c 100644 --- a/src/dune/menhir.ml +++ b/src/dune_rules/menhir.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import open! No_io open! Build.O diff --git a/src/dune/menhir.mli b/src/dune_rules/menhir.mli similarity index 96% rename from src/dune/menhir.mli rename to src/dune_rules/menhir.mli index 814bc036c4e..83047ba5e1b 100644 --- a/src/dune/menhir.mli +++ b/src/dune_rules/menhir.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Menhir rules *) open Stdune diff --git a/src/dune/menhir_stanza.ml b/src/dune_rules/menhir_stanza.ml similarity index 92% rename from src/dune/menhir_stanza.ml rename to src/dune_rules/menhir_stanza.ml index a7b8a924152..3606c349a4f 100644 --- a/src/dune/menhir_stanza.ml +++ b/src/dune_rules/menhir_stanza.ml @@ -1,3 +1,4 @@ +open! Dune_engine let syntax = Dune_lang.Syntax.create ~name:"menhir" ~desc:"the menhir extension" [ ((1, 0), `Since (1, 0)) diff --git a/src/dune/merlin.ml b/src/dune_rules/merlin.ml similarity index 99% rename from src/dune/merlin.ml rename to src/dune_rules/merlin.ml index 7b7d27ebc50..ad365f6c759 100644 --- a/src/dune/merlin.ml +++ b/src/dune_rules/merlin.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Build.O diff --git a/src/dune/merlin.mli b/src/dune_rules/merlin.mli similarity index 97% rename from src/dune/merlin.mli rename to src/dune_rules/merlin.mli index f597eb0825e..79fe4aa968e 100644 --- a/src/dune/merlin.mli +++ b/src/dune_rules/merlin.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Merlin rules *) open! Stdune diff --git a/src/dune/merlin_server.ml b/src/dune_rules/merlin_server.ml similarity index 99% rename from src/dune/merlin_server.ml rename to src/dune_rules/merlin_server.ml index cae03ec151a..ac477f55ba5 100644 --- a/src/dune/merlin_server.ml +++ b/src/dune_rules/merlin_server.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/merlin_server.mli b/src/dune_rules/merlin_server.mli similarity index 93% rename from src/dune/merlin_server.mli rename to src/dune_rules/merlin_server.mli index 981ec7c216d..3c20b8e6a16 100644 --- a/src/dune/merlin_server.mli +++ b/src/dune_rules/merlin_server.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Merlin config server *) (** Once started the server will wait for commands on stdin, read the requested diff --git a/src/dune/ml_sources.ml b/src/dune_rules/ml_sources.ml similarity index 99% rename from src/dune/ml_sources.ml rename to src/dune_rules/ml_sources.ml index a9ebd0d24e6..cea6e7bbf5f 100644 --- a/src/dune/ml_sources.ml +++ b/src/dune_rules/ml_sources.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import open Dune_file module Modules_group = Modules diff --git a/src/dune/ml_sources.mli b/src/dune_rules/ml_sources.mli similarity index 98% rename from src/dune/ml_sources.mli rename to src/dune_rules/ml_sources.mli index 4719a939f3a..023b9b81543 100644 --- a/src/dune/ml_sources.mli +++ b/src/dune_rules/ml_sources.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** OCaml sources *) (** This module encapsulates the structure of source files in a particular diff --git a/src/dune/mode.ml b/src/dune_rules/mode.ml similarity index 99% rename from src/dune/mode.ml rename to src/dune_rules/mode.ml index af6e3d1cd32..3f6301b053b 100644 --- a/src/dune/mode.ml +++ b/src/dune_rules/mode.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open! Import diff --git a/src/dune/mode.mli b/src/dune_rules/mode.mli similarity index 98% rename from src/dune/mode.mli rename to src/dune_rules/mode.mli index 8b72cea3cb0..26d75835530 100644 --- a/src/dune/mode.mli +++ b/src/dune_rules/mode.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Import type t = diff --git a/src/dune/module.ml b/src/dune_rules/module.ml similarity index 99% rename from src/dune/module.ml rename to src/dune_rules/module.ml index 15d4a974206..1815f0962bf 100644 --- a/src/dune/module.ml +++ b/src/dune_rules/module.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/module.mli b/src/dune_rules/module.mli similarity index 99% rename from src/dune/module.mli rename to src/dune_rules/module.mli index 7e098ee99cd..81ab9e82d33 100644 --- a/src/dune/module.mli +++ b/src/dune_rules/module.mli @@ -1,6 +1,7 @@ (** Represents OCaml and Reason source files *) -open! Stdune +open! Dune_engine +open! Stdune open! Import module File : sig diff --git a/src/dune/module_compilation.ml b/src/dune_rules/module_compilation.ml similarity index 99% rename from src/dune/module_compilation.ml rename to src/dune_rules/module_compilation.ml index 0c4324588fb..e4d53d10551 100644 --- a/src/dune/module_compilation.ml +++ b/src/dune_rules/module_compilation.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open! No_io diff --git a/src/dune/module_compilation.mli b/src/dune_rules/module_compilation.mli similarity index 96% rename from src/dune/module_compilation.mli rename to src/dune_rules/module_compilation.mli index 6276ec45153..2ea121bd53c 100644 --- a/src/dune/module_compilation.mli +++ b/src/dune_rules/module_compilation.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** OCaml module compilation *) open Import diff --git a/src/dune/module_name.ml b/src/dune_rules/module_name.ml similarity index 99% rename from src/dune/module_name.ml rename to src/dune_rules/module_name.ml index fda93d53a73..463eb2cf9a7 100644 --- a/src/dune/module_name.ml +++ b/src/dune_rules/module_name.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune let valid_format_doc = diff --git a/src/dune/module_name.mli b/src/dune_rules/module_name.mli similarity index 99% rename from src/dune/module_name.mli rename to src/dune_rules/module_name.mli index 2f25de50515..48e28bbb980 100644 --- a/src/dune/module_name.mli +++ b/src/dune_rules/module_name.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune (** Represents a valid OCaml module name *) diff --git a/src/dune/modules.ml b/src/dune_rules/modules.ml similarity index 99% rename from src/dune/modules.ml rename to src/dune_rules/modules.ml index d7176f5d57e..057dab80182 100644 --- a/src/dune/modules.ml +++ b/src/dune_rules/modules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune module Mode = Wrapped diff --git a/src/dune/modules.mli b/src/dune_rules/modules.mli similarity index 99% rename from src/dune/modules.mli rename to src/dune_rules/modules.mli index 16713148d32..db2179448b5 100644 --- a/src/dune/modules.mli +++ b/src/dune_rules/modules.mli @@ -1,4 +1,6 @@ (** Module layout information. Contains information about aliasing, wrapping. *) +open! Dune_engine + open Stdune type t diff --git a/src/dune/modules_field_evaluator.ml b/src/dune_rules/modules_field_evaluator.ml similarity index 99% rename from src/dune/modules_field_evaluator.ml rename to src/dune_rules/modules_field_evaluator.ml index 494c4e2ad54..97d408bc066 100644 --- a/src/dune/modules_field_evaluator.ml +++ b/src/dune_rules/modules_field_evaluator.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune module Buildable = Dune_file.Buildable diff --git a/src/dune/modules_field_evaluator.mli b/src/dune_rules/modules_field_evaluator.mli similarity index 97% rename from src/dune/modules_field_evaluator.mli rename to src/dune_rules/modules_field_evaluator.mli index 580a0177f9b..56b1732b33f 100644 --- a/src/dune/modules_field_evaluator.mli +++ b/src/dune_rules/modules_field_evaluator.mli @@ -1,5 +1,7 @@ (** The modules field evaluator interprets the module sources into proper modules in a directory in the context of a stanza from a dune file. *) +open! Dune_engine + open! Stdune module Virtual : sig diff --git a/src/dune/obj_dir.ml b/src/dune_rules/obj_dir.ml similarity index 99% rename from src/dune/obj_dir.ml rename to src/dune_rules/obj_dir.ml index 68bdfda9a6b..fffb58de72c 100644 --- a/src/dune/obj_dir.ml +++ b/src/dune_rules/obj_dir.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/obj_dir.mli b/src/dune_rules/obj_dir.mli similarity index 99% rename from src/dune/obj_dir.mli rename to src/dune_rules/obj_dir.mli index c71efe7cfb4..c585c7faf0f 100644 --- a/src/dune/obj_dir.mli +++ b/src/dune_rules/obj_dir.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Representation of the object directory for libraries *) (** Dune store the artifacts of a library or a set of executables in a dedicated diff --git a/src/dune/ocaml_flags.ml b/src/dune_rules/ocaml_flags.ml similarity index 99% rename from src/dune/ocaml_flags.ml rename to src/dune_rules/ocaml_flags.ml index 06b9e342d5b..c350b70bbc0 100644 --- a/src/dune/ocaml_flags.ml +++ b/src/dune_rules/ocaml_flags.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Build.O diff --git a/src/dune/ocaml_flags.mli b/src/dune_rules/ocaml_flags.mli similarity index 97% rename from src/dune/ocaml_flags.mli rename to src/dune_rules/ocaml_flags.mli index fb61245c647..7fed17b587f 100644 --- a/src/dune/ocaml_flags.mli +++ b/src/dune_rules/ocaml_flags.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** OCaml flags *) open! Stdune diff --git a/src/dune/ocaml_stdlib.ml b/src/dune_rules/ocaml_stdlib.ml similarity index 98% rename from src/dune/ocaml_stdlib.ml rename to src/dune_rules/ocaml_stdlib.ml index 28c6198cb4a..40b57fc8770 100644 --- a/src/dune/ocaml_stdlib.ml +++ b/src/dune_rules/ocaml_stdlib.ml @@ -1,3 +1,4 @@ +open! Dune_engine type t = { modules_before_stdlib : Module_name.Set.t ; exit_module : Module_name.t option diff --git a/src/dune/ocaml_stdlib.mli b/src/dune_rules/ocaml_stdlib.mli similarity index 97% rename from src/dune/ocaml_stdlib.mli rename to src/dune_rules/ocaml_stdlib.mli index 486681435c3..acd9bac957b 100644 --- a/src/dune/ocaml_stdlib.mli +++ b/src/dune_rules/ocaml_stdlib.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Extra information for the OCaml stdlib. Contrary to normal libraries, the library interface of the stdlib (the diff --git a/src/dune/ocaml_version.ml b/src/dune_rules/ocaml_version.ml similarity index 98% rename from src/dune/ocaml_version.ml rename to src/dune_rules/ocaml_version.ml index 690c3a54192..c30de4c7d43 100644 --- a/src/dune/ocaml_version.ml +++ b/src/dune_rules/ocaml_version.ml @@ -1,3 +1,4 @@ +open! Dune_engine type t = int * int * int let make x = x diff --git a/src/dune/ocaml_version.mli b/src/dune_rules/ocaml_version.mli similarity index 99% rename from src/dune/ocaml_version.mli rename to src/dune_rules/ocaml_version.mli index e1c9e98ffd6..4aff12c9051 100644 --- a/src/dune/ocaml_version.mli +++ b/src/dune_rules/ocaml_version.mli @@ -1,4 +1,6 @@ (** Version numbers for ocamlc and ocamlopt *) +open! Dune_engine + type t val make : int * int * int -> t diff --git a/src/dune/ocamldep.ml b/src/dune_rules/ocamldep.ml similarity index 99% rename from src/dune/ocamldep.ml rename to src/dune_rules/ocamldep.ml index 44db850628d..225f73e7f10 100644 --- a/src/dune/ocamldep.ml +++ b/src/dune_rules/ocamldep.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Build.O diff --git a/src/dune/ocamldep.mli b/src/dune_rules/ocamldep.mli similarity index 94% rename from src/dune/ocamldep.mli rename to src/dune_rules/ocamldep.mli index 0bbb17d1472..47a0ead0b21 100644 --- a/src/dune/ocamldep.mli +++ b/src/dune_rules/ocamldep.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** ocamldep management *) open Stdune diff --git a/src/dune/ocamlobjinfo.mli b/src/dune_rules/ocamlobjinfo.mli similarity index 93% rename from src/dune/ocamlobjinfo.mli rename to src/dune_rules/ocamlobjinfo.mli index b8ca6083d4d..6904571089f 100644 --- a/src/dune/ocamlobjinfo.mli +++ b/src/dune_rules/ocamlobjinfo.mli @@ -1,4 +1,6 @@ (** Parse ocamlobjinfo output *) +open! Dune_engine + open Stdune type t = Module_name.Unique.Set.t Ml_kind.Dict.t diff --git a/src/dune/ocamlobjinfo.mll b/src/dune_rules/ocamlobjinfo.mll similarity index 99% rename from src/dune/ocamlobjinfo.mll rename to src/dune_rules/ocamlobjinfo.mll index ac0f3a484f2..aaae790138a 100644 --- a/src/dune/ocamlobjinfo.mll +++ b/src/dune_rules/ocamlobjinfo.mll @@ -1,4 +1,5 @@ { +open Dune_engine open Stdune type t = Module_name.Unique.Set.t Ml_kind.Dict.t diff --git a/src/dune/odoc.ml b/src/dune_rules/odoc.ml similarity index 99% rename from src/dune/odoc.ml rename to src/dune_rules/odoc.ml index 2e2fc41450b..e814920d697 100644 --- a/src/dune/odoc.ml +++ b/src/dune_rules/odoc.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Dune_file diff --git a/src/dune/odoc.mli b/src/dune_rules/odoc.mli similarity index 94% rename from src/dune/odoc.mli rename to src/dune_rules/odoc.mli index c960bf30ca8..0023c64b460 100644 --- a/src/dune/odoc.mli +++ b/src/dune_rules/odoc.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Odoc rules *) open! Stdune diff --git a/src/dune/opam_create.ml b/src/dune_rules/opam_create.ml similarity index 99% rename from src/dune/opam_create.ml rename to src/dune_rules/opam_create.ml index dcdf21a7857..76e237ebe1c 100644 --- a/src/dune/opam_create.ml +++ b/src/dune_rules/opam_create.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune let default_build_command = diff --git a/src/dune/opam_create.mli b/src/dune_rules/opam_create.mli similarity index 96% rename from src/dune/opam_create.mli rename to src/dune_rules/opam_create.mli index 11acb39ffbc..8f2b1f59c25 100644 --- a/src/dune/opam_create.mli +++ b/src/dune_rules/opam_create.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Generate opam files from dune-project metadata *) open Stdune diff --git a/src/dune/packages.ml b/src/dune_rules/packages.ml similarity index 98% rename from src/dune/packages.ml rename to src/dune_rules/packages.ml index ea131cb14d1..d71a388e8fa 100644 --- a/src/dune/packages.ml +++ b/src/dune_rules/packages.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Dune_file diff --git a/src/dune/packages.mli b/src/dune_rules/packages.mli similarity index 92% rename from src/dune/packages.mli rename to src/dune_rules/packages.mli index 19c1dc52ad0..9f21d7def81 100644 --- a/src/dune/packages.mli +++ b/src/dune_rules/packages.mli @@ -1,3 +1,4 @@ +open! Dune_engine (* TODO : for now these take the super context, but eventually this should be more fine grained *) diff --git a/src/dune/per_item.ml b/src/dune_rules/per_item.ml similarity index 98% rename from src/dune/per_item.ml rename to src/dune_rules/per_item.ml index 9216afa7a6d..32995e90f2a 100644 --- a/src/dune/per_item.ml +++ b/src/dune_rules/per_item.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune module Make (Key : Map.Key) : Per_item_intf.S with type key = Key.t = struct diff --git a/src/dune/per_item.mli b/src/dune_rules/per_item.mli similarity index 94% rename from src/dune/per_item.mli rename to src/dune_rules/per_item.mli index ed99db611c7..80268975765 100644 --- a/src/dune/per_item.mli +++ b/src/dune_rules/per_item.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Module used to represent the [(per_xxx ...)] forms The main different between this module and a plain [Map] is that the [map] diff --git a/src/dune/per_item_intf.ml b/src/dune_rules/per_item_intf.ml similarity index 97% rename from src/dune/per_item_intf.ml rename to src/dune_rules/per_item_intf.ml index 1b18efda666..05806825735 100644 --- a/src/dune/per_item_intf.ml +++ b/src/dune_rules/per_item_intf.ml @@ -1,3 +1,4 @@ +open! Dune_engine module type S = sig type key diff --git a/src/dune/pform.ml b/src/dune_rules/pform.ml similarity index 99% rename from src/dune/pform.ml rename to src/dune_rules/pform.ml index 8025a7b2fbe..493acf56125 100644 --- a/src/dune/pform.ml +++ b/src/dune_rules/pform.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/pform.mli b/src/dune_rules/pform.mli similarity index 98% rename from src/dune/pform.mli rename to src/dune_rules/pform.mli index ee4b29c9571..86b33b6e970 100644 --- a/src/dune/pform.mli +++ b/src/dune_rules/pform.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune module Var : sig diff --git a/src/dune/preprocess.ml b/src/dune_rules/preprocess.ml similarity index 99% rename from src/dune/preprocess.ml rename to src/dune_rules/preprocess.ml index 90a1d8ea5c1..9abe5850ff3 100644 --- a/src/dune/preprocess.ml +++ b/src/dune_rules/preprocess.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune open Dune_lang.Decoder diff --git a/src/dune/preprocess.mli b/src/dune_rules/preprocess.mli similarity index 99% rename from src/dune/preprocess.mli rename to src/dune_rules/preprocess.mli index 80a84a6eba2..9e720ba5c29 100644 --- a/src/dune/preprocess.mli +++ b/src/dune_rules/preprocess.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune module Pps : sig diff --git a/src/dune/preprocessing.ml b/src/dune_rules/preprocessing.ml similarity index 99% rename from src/dune/preprocessing.ml rename to src/dune_rules/preprocessing.ml index 964f5e88724..0c330358b85 100644 --- a/src/dune/preprocessing.ml +++ b/src/dune_rules/preprocessing.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Build.O diff --git a/src/dune/preprocessing.mli b/src/dune_rules/preprocessing.mli similarity index 98% rename from src/dune/preprocessing.mli rename to src/dune_rules/preprocessing.mli index b02a8bc0b79..36490243230 100644 --- a/src/dune/preprocessing.mli +++ b/src/dune_rules/preprocessing.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Preprocessing of OCaml source files *) open! Stdune diff --git a/src/dune/profile.ml b/src/dune_rules/profile.ml similarity index 98% rename from src/dune/profile.ml rename to src/dune_rules/profile.ml index ba4b328def4..87d9837c8e7 100644 --- a/src/dune/profile.ml +++ b/src/dune_rules/profile.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type t = diff --git a/src/dune/profile.mli b/src/dune_rules/profile.mli similarity index 95% rename from src/dune/profile.mli rename to src/dune_rules/profile.mli index 0ecb7702b81..5450a4757a4 100644 --- a/src/dune/profile.mli +++ b/src/dune_rules/profile.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Defines build profile for dune. Only one profile is active per context. Some profiles are treat specially by dune. *) diff --git a/src/dune/scheme.ml b/src/dune_rules/scheme.ml similarity index 99% rename from src/dune/scheme.ml rename to src/dune_rules/scheme.ml index 8b505936acb..3ac6e4a91f6 100644 --- a/src/dune/scheme.ml +++ b/src/dune_rules/scheme.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune module T = struct diff --git a/src/dune/scheme.mli b/src/dune_rules/scheme.mli similarity index 99% rename from src/dune/scheme.mli rename to src/dune_rules/scheme.mli index 5c744b2a9e9..db948162791 100644 --- a/src/dune/scheme.mli +++ b/src/dune_rules/scheme.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** A collection of rules for one or multiple directories. *) open! Stdune diff --git a/src/dune/scope.ml b/src/dune_rules/scope.ml similarity index 99% rename from src/dune/scope.ml rename to src/dune_rules/scope.ml index 2d5beac61f1..d3fcabd6493 100644 --- a/src/dune/scope.ml +++ b/src/dune_rules/scope.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/scope.mli b/src/dune_rules/scope.mli similarity index 97% rename from src/dune/scope.mli rename to src/dune_rules/scope.mli index f1fe1c3bc01..ab2187a7e4b 100644 --- a/src/dune/scope.mli +++ b/src/dune_rules/scope.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Scopes *) (** A scope is a project + a library database *) diff --git a/src/dune/setup.defaults.ml b/src/dune_rules/setup.defaults.ml similarity index 79% rename from src/dune/setup.defaults.ml rename to src/dune_rules/setup.defaults.ml index f3f154eb43d..53f77dfed9a 100644 --- a/src/dune/setup.defaults.ml +++ b/src/dune_rules/setup.defaults.ml @@ -1,3 +1,4 @@ +open! Dune_engine let library_path = None let library_destdir = None diff --git a/src/dune/setup.mli b/src/dune_rules/setup.mli similarity index 96% rename from src/dune/setup.mli rename to src/dune_rules/setup.mli index ad2c726abb2..f79fdfb49a6 100644 --- a/src/dune/setup.mli +++ b/src/dune_rules/setup.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Setup of dune *) (** These parameters are set by [ocaml configure.ml] or copied from diff --git a/src/dune/simple_rules.ml b/src/dune_rules/simple_rules.ml similarity index 99% rename from src/dune/simple_rules.ml rename to src/dune_rules/simple_rules.ml index d018013d83f..8d67a2e36ab 100644 --- a/src/dune/simple_rules.ml +++ b/src/dune_rules/simple_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Dune_file diff --git a/src/dune/simple_rules.mli b/src/dune_rules/simple_rules.mli similarity index 98% rename from src/dune/simple_rules.mli rename to src/dune_rules/simple_rules.mli index c0648a6417d..4c2fbe51764 100644 --- a/src/dune/simple_rules.mli +++ b/src/dune_rules/simple_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Simple rules: user, copy_files, alias *) open! Stdune diff --git a/src/dune/sub_system.ml b/src/dune_rules/sub_system.ml similarity index 99% rename from src/dune/sub_system.ml rename to src/dune_rules/sub_system.ml index 5065d5386ee..12e27857b4e 100644 --- a/src/dune/sub_system.ml +++ b/src/dune_rules/sub_system.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open! Import include Sub_system_intf diff --git a/src/dune/sub_system.mli b/src/dune_rules/sub_system.mli similarity index 98% rename from src/dune/sub_system.mli rename to src/dune_rules/sub_system.mli index b5b4f4f56b5..df982ac1af6 100644 --- a/src/dune/sub_system.mli +++ b/src/dune_rules/sub_system.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Dune sub-systems *) (** This module allows to define sub-systems. The aim is to define everything diff --git a/src/dune/sub_system_info.ml b/src/dune_rules/sub_system_info.ml similarity index 98% rename from src/dune/sub_system_info.ml rename to src/dune_rules/sub_system_info.ml index 7940ba08a36..f5c5a21c76e 100644 --- a/src/dune/sub_system_info.ml +++ b/src/dune_rules/sub_system_info.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune open Dune_lang.Decoder diff --git a/src/dune/sub_system_info.mli b/src/dune_rules/sub_system_info.mli similarity index 98% rename from src/dune/sub_system_info.mli rename to src/dune_rules/sub_system_info.mli index 661cb1057b8..a24d8073266 100644 --- a/src/dune/sub_system_info.mli +++ b/src/dune_rules/sub_system_info.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune (** The type of all kind of sub-system information. This type is what we get diff --git a/src/dune/sub_system_intf.ml b/src/dune_rules/sub_system_intf.ml similarity index 99% rename from src/dune/sub_system_intf.ml rename to src/dune_rules/sub_system_intf.ml index 52cc18cfcd7..683dca1889b 100644 --- a/src/dune/sub_system_intf.ml +++ b/src/dune_rules/sub_system_intf.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open! Import diff --git a/src/dune/sub_system_name.ml b/src/dune_rules/sub_system_name.ml similarity index 92% rename from src/dune/sub_system_name.ml rename to src/dune_rules/sub_system_name.ml index c5ba6c0e6c9..3e393f5208a 100644 --- a/src/dune/sub_system_name.ml +++ b/src/dune_rules/sub_system_name.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune include Interned.Make diff --git a/src/dune/sub_system_name.mli b/src/dune_rules/sub_system_name.mli similarity index 63% rename from src/dune/sub_system_name.mli rename to src/dune_rules/sub_system_name.mli index 4feadb42449..dcd2cff6063 100644 --- a/src/dune/sub_system_name.mli +++ b/src/dune_rules/sub_system_name.mli @@ -1 +1,2 @@ +open! Dune_engine include Stdune.Interned_intf.S diff --git a/src/dune/super_context.ml b/src/dune_rules/super_context.ml similarity index 99% rename from src/dune/super_context.ml rename to src/dune_rules/super_context.ml index 54da9346117..184f96cc92b 100644 --- a/src/dune/super_context.ml +++ b/src/dune_rules/super_context.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/super_context.mli b/src/dune_rules/super_context.mli similarity index 99% rename from src/dune/super_context.mli rename to src/dune_rules/super_context.mli index f27ce9b9bba..b363c4aa94e 100644 --- a/src/dune/super_context.mli +++ b/src/dune_rules/super_context.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** An augmented context *) (** A context augmented with: a lib-db, ... Super context are used for diff --git a/src/dune/targets.ml b/src/dune_rules/targets.ml similarity index 98% rename from src/dune/targets.ml rename to src/dune_rules/targets.ml index b648ecbd94c..6223b548e59 100644 --- a/src/dune/targets.ml +++ b/src/dune_rules/targets.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import module Multiplicity = struct diff --git a/src/dune/targets.mli b/src/dune_rules/targets.mli similarity index 98% rename from src/dune/targets.mli rename to src/dune_rules/targets.mli index 229a8a50953..aa43a9b97a6 100644 --- a/src/dune/targets.mli +++ b/src/dune_rules/targets.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Defines target behavior for rules. *) open Import diff --git a/src/dune/test_rules.ml b/src/dune_rules/test_rules.ml similarity index 99% rename from src/dune/test_rules.ml rename to src/dune_rules/test_rules.ml index dee9902a268..946790f65fa 100644 --- a/src/dune/test_rules.ml +++ b/src/dune_rules/test_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import open! No_io diff --git a/src/dune/test_rules.mli b/src/dune_rules/test_rules.mli similarity index 92% rename from src/dune/test_rules.mli rename to src/dune_rules/test_rules.mli index ce2fde72ed7..bee00345393 100644 --- a/src/dune/test_rules.mli +++ b/src/dune_rules/test_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune val rules : diff --git a/src/dune/toplevel.ml b/src/dune_rules/toplevel.ml similarity index 99% rename from src/dune/toplevel.ml rename to src/dune_rules/toplevel.ml index 26f31a2bda6..b6a230d757f 100644 --- a/src/dune/toplevel.ml +++ b/src/dune_rules/toplevel.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune let toplevel_dir_prefix = ".toplevel." diff --git a/src/dune/toplevel.mli b/src/dune_rules/toplevel.mli similarity index 97% rename from src/dune/toplevel.mli rename to src/dune_rules/toplevel.mli index 5e59504a28b..bde75792a97 100644 --- a/src/dune/toplevel.mli +++ b/src/dune_rules/toplevel.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune module Source : sig diff --git a/src/dune/upgrader.ml b/src/dune_rules/upgrader.ml similarity index 99% rename from src/dune/upgrader.ml rename to src/dune_rules/upgrader.ml index 1b80ea05997..519aa75376e 100644 --- a/src/dune/upgrader.ml +++ b/src/dune_rules/upgrader.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import diff --git a/src/dune/upgrader.mli b/src/dune_rules/upgrader.mli similarity index 86% rename from src/dune/upgrader.mli rename to src/dune_rules/upgrader.mli index 95eceb6d3b1..529b8563081 100644 --- a/src/dune/upgrader.mli +++ b/src/dune_rules/upgrader.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Upgrade projects from jbuilder to Dune *) (** Upgrade all projects in this file tree *) diff --git a/src/dune/utop.ml b/src/dune_rules/utop.ml similarity index 99% rename from src/dune/utop.ml rename to src/dune_rules/utop.ml index 21eae2b78cb..1f423756d7f 100644 --- a/src/dune/utop.ml +++ b/src/dune_rules/utop.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open! No_io diff --git a/src/dune/utop.mli b/src/dune_rules/utop.mli similarity index 94% rename from src/dune/utop.mli rename to src/dune_rules/utop.mli index 30d6b180f19..84be79bc68b 100644 --- a/src/dune/utop.mli +++ b/src/dune_rules/utop.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Utop rules *) open! Stdune diff --git a/src/dune/vimpl.ml b/src/dune_rules/vimpl.ml similarity index 98% rename from src/dune/vimpl.ml rename to src/dune_rules/vimpl.ml index 1b32da30280..0e3a0364bda 100644 --- a/src/dune/vimpl.ml +++ b/src/dune_rules/vimpl.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune type t = diff --git a/src/dune/vimpl.mli b/src/dune_rules/vimpl.mli similarity index 97% rename from src/dune/vimpl.mli rename to src/dune_rules/vimpl.mli index 82e126869f9..553baea4123 100644 --- a/src/dune/vimpl.mli +++ b/src/dune_rules/vimpl.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Extra information required to generate rules for virtual library implementations *) diff --git a/src/dune/virtual_rules.ml b/src/dune_rules/virtual_rules.ml similarity index 99% rename from src/dune/virtual_rules.ml rename to src/dune_rules/virtual_rules.ml index 67926178947..c1d4e608edd 100644 --- a/src/dune/virtual_rules.ml +++ b/src/dune_rules/virtual_rules.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Import open! No_io diff --git a/src/dune/virtual_rules.mli b/src/dune_rules/virtual_rules.mli similarity index 91% rename from src/dune/virtual_rules.mli rename to src/dune_rules/virtual_rules.mli index 8ccc2b1c8d1..a681e553ce7 100644 --- a/src/dune/virtual_rules.mli +++ b/src/dune_rules/virtual_rules.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune val setup_copy_rules_for_impl : diff --git a/src/dune/visibility.ml b/src/dune_rules/visibility.ml similarity index 98% rename from src/dune/visibility.ml rename to src/dune_rules/visibility.ml index 77d28e891d4..ec033c9a9b7 100644 --- a/src/dune/visibility.ml +++ b/src/dune_rules/visibility.ml @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type t = diff --git a/src/dune/visibility.mli b/src/dune_rules/visibility.mli similarity index 95% rename from src/dune/visibility.mli rename to src/dune_rules/visibility.mli index 092117f901d..d8d67cbaf94 100644 --- a/src/dune/visibility.mli +++ b/src/dune_rules/visibility.mli @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune type t = diff --git a/src/dune/watermarks.ml b/src/dune_rules/watermarks.ml similarity index 99% rename from src/dune/watermarks.ml rename to src/dune_rules/watermarks.ml index 1c04a39b70d..471920f4f39 100644 --- a/src/dune/watermarks.ml +++ b/src/dune_rules/watermarks.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Import open Fiber.O diff --git a/src/dune/watermarks.mli b/src/dune_rules/watermarks.mli similarity index 90% rename from src/dune/watermarks.mli rename to src/dune_rules/watermarks.mli index dfa1f2b6cd6..fbe44034c94 100644 --- a/src/dune/watermarks.mli +++ b/src/dune_rules/watermarks.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Watermarking *) (** Expand watermarks in source files, similarly to what topkg does. diff --git a/src/dune/workspace.ml b/src/dune_rules/workspace.ml similarity index 99% rename from src/dune/workspace.ml rename to src/dune_rules/workspace.ml index 99f91a20947..61824f8f451 100644 --- a/src/dune/workspace.ml +++ b/src/dune_rules/workspace.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Dune_lang.Decoder diff --git a/src/dune/workspace.mli b/src/dune_rules/workspace.mli similarity index 99% rename from src/dune/workspace.mli rename to src/dune_rules/workspace.mli index 1970aa4e0c1..8d4cb989cf8 100644 --- a/src/dune/workspace.mli +++ b/src/dune_rules/workspace.mli @@ -1,3 +1,4 @@ +open! Dune_engine (** Workspaces definitions *) open! Stdune diff --git a/src/dune/wrapped.ml b/src/dune_rules/wrapped.ml similarity index 97% rename from src/dune/wrapped.ml rename to src/dune_rules/wrapped.ml index ece15e5c512..d405954d03d 100644 --- a/src/dune/wrapped.ml +++ b/src/dune_rules/wrapped.ml @@ -1,3 +1,4 @@ +open! Dune_engine open! Stdune open Dune_lang.Decoder diff --git a/src/dune/wrapped.mli b/src/dune_rules/wrapped.mli similarity index 90% rename from src/dune/wrapped.mli rename to src/dune_rules/wrapped.mli index 59cf82270b4..20ca6df9a28 100644 --- a/src/dune/wrapped.mli +++ b/src/dune_rules/wrapped.mli @@ -1,3 +1,4 @@ +open! Dune_engine open Stdune type t = diff --git a/test/expect-tests/action_tests.ml b/test/expect-tests/action_tests.ml index 8dbcbba0638..7ea166bf932 100644 --- a/test/expect-tests/action_tests.ml +++ b/test/expect-tests/action_tests.ml @@ -1,5 +1,6 @@ open Stdune -open Dune +open Dune_engine +open Dune_rules open Action_unexpanded.Infer.Outcome open Dune_tests_common diff --git a/test/expect-tests/config_file_test.ml b/test/expect-tests/config_file_test.ml index 596ca55c76b..c49481850c7 100644 --- a/test/expect-tests/config_file_test.ml +++ b/test/expect-tests/config_file_test.ml @@ -5,8 +5,8 @@ let parse s = let ast = Parser.parse_string ~fname:"expect_test" ~mode:Parser.Mode.Single s in - Dune_lang.Decoder.parse Dune.Config.decode Stdune.Univ_map.empty ast - |> Dune.Config.to_dyn |> print_dyn + Dune_lang.Decoder.parse Dune_engine.Config.decode Stdune.Univ_map.empty ast + |> Dune_engine.Config.to_dyn |> print_dyn let%expect_test _ = parse "(cache-trim-period 2m)"; diff --git a/test/expect-tests/dune b/test/expect-tests/dune index fa229edf390..cedb1ef71d9 100644 --- a/test/expect-tests/dune +++ b/test/expect-tests/dune @@ -8,7 +8,8 @@ ocaml_config dune_tests_common stdune - dune + dune_engine + dune_rules fiber dune_lang cache diff --git a/test/expect-tests/dune_file_tests.ml b/test/expect-tests/dune_file_tests.ml index f296c9c4de7..1769bf567c9 100644 --- a/test/expect-tests/dune_file_tests.ml +++ b/test/expect-tests/dune_file_tests.ml @@ -1,4 +1,4 @@ -open Dune +open Dune_rules open! Stdune open Dune_tests_common diff --git a/test/expect-tests/findlib_tests.ml b/test/expect-tests/findlib_tests.ml index bd6eb2fd07b..fcbdc06409d 100644 --- a/test/expect-tests/findlib_tests.ml +++ b/test/expect-tests/findlib_tests.ml @@ -1,4 +1,5 @@ -open Dune +open Dune_engine +open Dune_rules open Import open Dune_tests_common diff --git a/test/expect-tests/ocamlobjinfo_tests.ml b/test/expect-tests/ocamlobjinfo_tests.ml index 41f6c25bc95..11d86f1f562 100644 --- a/test/expect-tests/ocamlobjinfo_tests.ml +++ b/test/expect-tests/ocamlobjinfo_tests.ml @@ -1,4 +1,4 @@ -open Dune +open Dune_rules open! Stdune open Dune_tests_common diff --git a/test/expect-tests/scheme_tests.ml b/test/expect-tests/scheme_tests.ml index b307d74a74a..29a21b6cacd 100644 --- a/test/expect-tests/scheme_tests.ml +++ b/test/expect-tests/scheme_tests.ml @@ -29,7 +29,7 @@ module Directory_rules = struct end module Scheme = struct - include Dune.Scheme + include Dune_rules.Scheme (* Calls [print] every time any code embedded in the scheme runs, be it a [Thunk] constructor or an [Approximation] function. @@ -70,7 +70,7 @@ module Scheme = struct | Empty -> Directory_rules.empty | Union (a, b) -> Directory_rules.union (go a ~dir) (go b ~dir) | Approximation (dirs, t) -> ( - match Dune.Dir_set.mem dirs dir with + match Dune_engine.Dir_set.mem dirs dir with | true -> go t ~dir | false -> Directory_rules.empty ) | Finite rules -> ( @@ -89,7 +89,7 @@ module Scheme = struct ~default:Directory_rules.empty end -module Dir_set = Dune.Dir_set +module Dir_set = Dune_engine.Dir_set module Path = struct include Path.Build @@ -147,7 +147,7 @@ let print_rules scheme ~dir = print "rules:"; print_log res1 -open Dune.Scheme +open Dune_rules.Scheme let%expect_test _ = let scheme = Scheme.Thunk (fun () -> Scheme.Empty) in diff --git a/test/expect-tests/vcs_tests.ml b/test/expect-tests/vcs_tests.ml index 5edd54fb800..0bc12ee7a2f 100644 --- a/test/expect-tests/vcs_tests.ml +++ b/test/expect-tests/vcs_tests.ml @@ -1,5 +1,5 @@ open Stdune -open Dune +open Dune_engine open Fiber.O open! Dune_tests_common diff --git a/test/unit-tests/artifact_substitution/artifact_substitution.ml b/test/unit-tests/artifact_substitution/artifact_substitution.ml index 02bf1caffdd..8aa7240889b 100644 --- a/test/unit-tests/artifact_substitution/artifact_substitution.ml +++ b/test/unit-tests/artifact_substitution/artifact_substitution.ml @@ -1,5 +1,5 @@ open Stdune -open Dune +open Dune_engine module Re = Dune_re let () = diff --git a/test/unit-tests/artifact_substitution/dune b/test/unit-tests/artifact_substitution/dune index 0c7a9d67c14..aa7ba4df650 100644 --- a/test/unit-tests/artifact_substitution/dune +++ b/test/unit-tests/artifact_substitution/dune @@ -1,4 +1,4 @@ (test (name artifact_substitution) (package dune-private-libs) - (libraries stdune dune fiber dune_re)) + (libraries stdune dune_engine dune_rules fiber dune_re)) From dbcd1a0eaf1f9b8b2484a4ff5a60247cb44267c7 Mon Sep 17 00:00:00 2001 From: Cameron Wong Date: Wed, 26 Aug 2020 00:42:14 -0400 Subject: [PATCH 2/6] fix mis-formatted files Signed-off-by: Cameron Wong --- src/dune_engine/assets.ml | 8 +++++--- src/dune_rules/action_to_sh.mli | 2 +- src/dune_rules/assets.ml | 8 +++++--- src/dune_rules/binary_kind.mli | 2 +- src/dune_rules/bindings.mli | 2 +- src/dune_rules/bootstrap_info.mli | 2 +- src/dune_rules/buildable_rules.mli | 2 +- src/dune_rules/case_lang.mli | 2 +- src/dune_rules/cinaps.mli | 2 +- src/dune_rules/cm_files.mli | 2 +- src/dune_rules/compilation_context.mli | 2 +- src/dune_rules/context.mli | 2 +- src/dune_rules/coq_lib.ml | 1 + src/dune_rules/coq_lib.mli | 1 + src/dune_rules/coq_lib_name.ml | 1 + src/dune_rules/coq_lib_name.mli | 1 + src/dune_rules/coq_module.ml | 1 + src/dune_rules/coq_module.mli | 1 + src/dune_rules/coq_rules.ml | 1 + src/dune_rules/coq_rules.mli | 1 + src/dune_rules/cram_lexer.mli | 2 +- src/dune_rules/dep_graph.mli | 2 +- src/dune_rules/dep_rules.mli | 2 +- src/dune_rules/dir_contents.mli | 2 +- src/dune_rules/dune_file.mli | 2 +- src/dune_rules/dynlink_supported.ml | 1 + src/dune_rules/dynlink_supported.mli | 2 +- src/dune_rules/enabled_if.mli | 1 + src/dune_rules/env_node.mli | 2 +- src/dune_rules/gen_meta.mli | 2 +- src/dune_rules/inline_tests.mli | 1 + src/dune_rules/install.mli | 2 +- src/dune_rules/jsoo_rules.mli | 2 +- src/dune_rules/lib_file_deps.mli | 1 + src/dune_rules/lib_info.mli | 2 +- src/dune_rules/lib_kind.mli | 1 + src/dune_rules/link_mode.mli | 2 +- src/dune_rules/link_time_code_gen.mli | 2 +- src/dune_rules/mdx.mli | 2 +- src/dune_rules/menhir.mli | 2 +- src/dune_rules/menhir_stanza.ml | 1 + src/dune_rules/merlin.mli | 2 +- src/dune_rules/merlin_server.mli | 2 +- src/dune_rules/ml_sources.mli | 2 +- src/dune_rules/module_compilation.mli | 2 +- src/dune_rules/obj_dir.mli | 2 +- src/dune_rules/ocaml_flags.mli | 2 +- src/dune_rules/ocaml_stdlib.ml | 1 + src/dune_rules/ocaml_stdlib.mli | 2 +- src/dune_rules/ocaml_version.ml | 1 + src/dune_rules/ocamldep.mli | 2 +- src/dune_rules/odoc.mli | 2 +- src/dune_rules/opam_create.mli | 2 +- src/dune_rules/packages.mli | 1 + src/dune_rules/per_item.mli | 2 +- src/dune_rules/per_item_intf.ml | 1 + src/dune_rules/preprocessing.mli | 2 +- src/dune_rules/profile.mli | 2 +- src/dune_rules/scheme.mli | 2 +- src/dune_rules/scope.mli | 2 +- src/dune_rules/setup.defaults.ml | 1 + src/dune_rules/setup.mli | 2 +- src/dune_rules/simple_rules.mli | 2 +- src/dune_rules/sub_system.mli | 2 +- src/dune_rules/sub_system_name.mli | 1 + src/dune_rules/super_context.mli | 2 +- src/dune_rules/targets.mli | 2 +- src/dune_rules/upgrader.mli | 2 +- src/dune_rules/utop.mli | 2 +- src/dune_rules/vimpl.mli | 2 +- src/dune_rules/watermarks.mli | 2 +- src/dune_rules/workspace.mli | 2 +- 72 files changed, 80 insertions(+), 56 deletions(-) diff --git a/src/dune_engine/assets.ml b/src/dune_engine/assets.ml index 31afe51add5..b0bba1fb187 100644 --- a/src/dune_engine/assets.ml +++ b/src/dune_engine/assets.ml @@ -1,4 +1,5 @@ -let jbuild_plugin_ml = {jbp|let () = +let jbuild_plugin_ml = + {jbp|let () = Hashtbl.add Toploop.directive_table "require" (Toploop.Directive_string ignore); Hashtbl.add Toploop.directive_table "use" @@ -50,7 +51,8 @@ module V1 = struct end |jbp} -let jbuild_plugin_mli = {jbp|(** API for jbuild plugins *) +let jbuild_plugin_mli = + {jbp|(** API for jbuild plugins *) (* CR-someday amokhov: rename to [dune_plugin]. *) @@ -72,4 +74,4 @@ module V1 : sig (** Execute a command and read its output *) val run_and_read_lines : string -> string list end -|jbp} \ No newline at end of file +|jbp} diff --git a/src/dune_rules/action_to_sh.mli b/src/dune_rules/action_to_sh.mli index 3c8786ceb70..d687f702f36 100644 --- a/src/dune_rules/action_to_sh.mli +++ b/src/dune_rules/action_to_sh.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Convert an action to a shell command suitable for [/bin/sh] *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/assets.ml b/src/dune_rules/assets.ml index 31afe51add5..b0bba1fb187 100644 --- a/src/dune_rules/assets.ml +++ b/src/dune_rules/assets.ml @@ -1,4 +1,5 @@ -let jbuild_plugin_ml = {jbp|let () = +let jbuild_plugin_ml = + {jbp|let () = Hashtbl.add Toploop.directive_table "require" (Toploop.Directive_string ignore); Hashtbl.add Toploop.directive_table "use" @@ -50,7 +51,8 @@ module V1 = struct end |jbp} -let jbuild_plugin_mli = {jbp|(** API for jbuild plugins *) +let jbuild_plugin_mli = + {jbp|(** API for jbuild plugins *) (* CR-someday amokhov: rename to [dune_plugin]. *) @@ -72,4 +74,4 @@ module V1 : sig (** Execute a command and read its output *) val run_and_read_lines : string -> string list end -|jbp} \ No newline at end of file +|jbp} diff --git a/src/dune_rules/binary_kind.mli b/src/dune_rules/binary_kind.mli index 1c2fbccbee9..236a6df1b51 100644 --- a/src/dune_rules/binary_kind.mli +++ b/src/dune_rules/binary_kind.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Linking modes for binaries *) +open! Dune_engine open! Stdune diff --git a/src/dune_rules/bindings.mli b/src/dune_rules/bindings.mli index 7ff9519e1ae..cbdec2c8a47 100644 --- a/src/dune_rules/bindings.mli +++ b/src/dune_rules/bindings.mli @@ -1,6 +1,6 @@ -open! Dune_engine (** This module represents user defined bindings of the form (:foo bar). These are used in the dependency specification language for example *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/bootstrap_info.mli b/src/dune_rules/bootstrap_info.mli index 268e53207ee..6166b0a9bd9 100644 --- a/src/dune_rules/bootstrap_info.mli +++ b/src/dune_rules/bootstrap_info.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Generate bootstrap info *) +open! Dune_engine (** Generate an OCaml file containing a description of the dune sources for the bootstrap procedure *) diff --git a/src/dune_rules/buildable_rules.mli b/src/dune_rules/buildable_rules.mli index 57a3ceee19d..e90d2374499 100644 --- a/src/dune_rules/buildable_rules.mli +++ b/src/dune_rules/buildable_rules.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Rules and helpers shared by OCaml libraries and executables *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/case_lang.mli b/src/dune_rules/case_lang.mli index df4404bea1d..4e811271b0a 100644 --- a/src/dune_rules/case_lang.mli +++ b/src/dune_rules/case_lang.mli @@ -1,7 +1,7 @@ -open! Dune_engine (** The case language expresses conditional evaluation. The general form is: [(case %{expr} ( -> ))] where [] is described using the predicate language: [Predicate_lang.t]. *) +open! Dune_engine open! Stdune diff --git a/src/dune_rules/cinaps.mli b/src/dune_rules/cinaps.mli index 3605c52419c..4729610e445 100644 --- a/src/dune_rules/cinaps.mli +++ b/src/dune_rules/cinaps.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Cinaps integration *) +open! Dune_engine (** Cinaps is a small tool that allows to auto-generate part of ml or other source files and keep them in sync: diff --git a/src/dune_rules/cm_files.mli b/src/dune_rules/cm_files.mli index 553e1a2a07b..0be2073fc9a 100644 --- a/src/dune_rules/cm_files.mli +++ b/src/dune_rules/cm_files.mli @@ -1,7 +1,7 @@ -open! Dune_engine (** This module encapsulates the trick of speeding up builds by providing an unsorted list of module dependencies statically and only using the topsorted list of deps for the order when passing to ocamlopt *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/compilation_context.mli b/src/dune_rules/compilation_context.mli index cf373b73b9e..edbcc6418c3 100644 --- a/src/dune_rules/compilation_context.mli +++ b/src/dune_rules/compilation_context.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** High-level API for compiling OCaml files *) +open! Dune_engine open! Stdune open Import diff --git a/src/dune_rules/context.mli b/src/dune_rules/context.mli index 4193e304a41..93b179d2480 100644 --- a/src/dune_rules/context.mli +++ b/src/dune_rules/context.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Compilation contexts *) +open! Dune_engine (** Dune supports two different kind of contexts: diff --git a/src/dune_rules/coq_lib.ml b/src/dune_rules/coq_lib.ml index 3389e3a16c3..af986905087 100644 --- a/src/dune_rules/coq_lib.ml +++ b/src/dune_rules/coq_lib.ml @@ -1,4 +1,5 @@ open! Dune_engine + (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune_rules/coq_lib.mli b/src/dune_rules/coq_lib.mli index 54407316129..06494d51743 100644 --- a/src/dune_rules/coq_lib.mli +++ b/src/dune_rules/coq_lib.mli @@ -1,4 +1,5 @@ open! Dune_engine + (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune_rules/coq_lib_name.ml b/src/dune_rules/coq_lib_name.ml index 5a1d507b33c..ecdd753d193 100644 --- a/src/dune_rules/coq_lib_name.ml +++ b/src/dune_rules/coq_lib_name.ml @@ -1,4 +1,5 @@ open! Dune_engine + (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* (c) INRIA 2020 *) diff --git a/src/dune_rules/coq_lib_name.mli b/src/dune_rules/coq_lib_name.mli index 3ab230737a6..03cbd1950eb 100644 --- a/src/dune_rules/coq_lib_name.mli +++ b/src/dune_rules/coq_lib_name.mli @@ -1,4 +1,5 @@ open! Dune_engine + (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune_rules/coq_module.ml b/src/dune_rules/coq_module.ml index 6258fe19a0f..6a68e7ee717 100644 --- a/src/dune_rules/coq_module.ml +++ b/src/dune_rules/coq_module.ml @@ -1,4 +1,5 @@ open! Dune_engine + (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune_rules/coq_module.mli b/src/dune_rules/coq_module.mli index f7393ae5dc2..1dcb648cbad 100644 --- a/src/dune_rules/coq_module.mli +++ b/src/dune_rules/coq_module.mli @@ -1,4 +1,5 @@ open! Dune_engine + (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune_rules/coq_rules.ml b/src/dune_rules/coq_rules.ml index 15263d876dc..38733fa1c17 100644 --- a/src/dune_rules/coq_rules.ml +++ b/src/dune_rules/coq_rules.ml @@ -1,4 +1,5 @@ open! Dune_engine + (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* (c) INRIA 2020 *) diff --git a/src/dune_rules/coq_rules.mli b/src/dune_rules/coq_rules.mli index 8090874f631..c3070625476 100644 --- a/src/dune_rules/coq_rules.mli +++ b/src/dune_rules/coq_rules.mli @@ -1,4 +1,5 @@ open! Dune_engine + (* This file is licensed under The MIT License *) (* (c) MINES ParisTech 2018-2019 *) (* Written by: Emilio Jesús Gallego Arias *) diff --git a/src/dune_rules/cram_lexer.mli b/src/dune_rules/cram_lexer.mli index a78434df52c..5e3d91e7b4a 100644 --- a/src/dune_rules/cram_lexer.mli +++ b/src/dune_rules/cram_lexer.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** .t file parser *) +open! Dune_engine (** A command or comment. Output blocks are skipped *) type 'command block = diff --git a/src/dune_rules/dep_graph.mli b/src/dune_rules/dep_graph.mli index 81156ca00cb..339cc53bf12 100644 --- a/src/dune_rules/dep_graph.mli +++ b/src/dune_rules/dep_graph.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Represent dependency graphs between OCaml modules *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/dep_rules.mli b/src/dune_rules/dep_rules.mli index 13abb134a59..97ddb473673 100644 --- a/src/dune_rules/dep_rules.mli +++ b/src/dune_rules/dep_rules.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Get dependencies for a set of modules using either ocamldep or ocamlobjinfo *) +open! Dune_engine val rules : Compilation_context.t -> modules:Modules.t -> Dep_graph.t Ml_kind.Dict.t diff --git a/src/dune_rules/dir_contents.mli b/src/dune_rules/dir_contents.mli index a753aafa53e..9d169139d9f 100644 --- a/src/dune_rules/dir_contents.mli +++ b/src/dune_rules/dir_contents.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Directories contents *) +open! Dune_engine (** This modules takes care of attaching source files of OCaml, C, Coq found in the source tree or generated by user rules to library, executables, tests diff --git a/src/dune_rules/dune_file.mli b/src/dune_rules/dune_file.mli index b5fd57c564a..7f0aa3b30ba 100644 --- a/src/dune_rules/dune_file.mli +++ b/src/dune_rules/dune_file.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Representation and parsing of Dune files *) +open! Dune_engine open! Stdune open Import diff --git a/src/dune_rules/dynlink_supported.ml b/src/dune_rules/dynlink_supported.ml index 068f0653e49..e1c0da458c3 100644 --- a/src/dune_rules/dynlink_supported.ml +++ b/src/dune_rules/dynlink_supported.ml @@ -1,4 +1,5 @@ open! Dune_engine + module By_the_os = struct type t = bool diff --git a/src/dune_rules/dynlink_supported.mli b/src/dune_rules/dynlink_supported.mli index 1a43b638b94..8e3b367ce88 100644 --- a/src/dune_rules/dynlink_supported.mli +++ b/src/dune_rules/dynlink_supported.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Track whether dynamic loading of code is supported *) +open! Dune_engine module By_the_os : sig type t diff --git a/src/dune_rules/enabled_if.mli b/src/dune_rules/enabled_if.mli index 34df921409e..de028c7ccb4 100644 --- a/src/dune_rules/enabled_if.mli +++ b/src/dune_rules/enabled_if.mli @@ -1,4 +1,5 @@ open! Dune_engine + type allowed_vars = | Any | Only of (string * Dune_lang.Syntax.Version.t) list diff --git a/src/dune_rules/env_node.mli b/src/dune_rules/env_node.mli index fb94931319c..8f9f45d9212 100644 --- a/src/dune_rules/env_node.mli +++ b/src/dune_rules/env_node.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** An environment node represents an evaluated (env ..) stanza in a directory. *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/gen_meta.mli b/src/dune_rules/gen_meta.mli index 185e18a802a..f2f753ecd31 100644 --- a/src/dune_rules/gen_meta.mli +++ b/src/dune_rules/gen_meta.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Generate a META file *) +open! Dune_engine open! Import diff --git a/src/dune_rules/inline_tests.mli b/src/dune_rules/inline_tests.mli index eb50bd8cf0e..badfb7bcc6a 100644 --- a/src/dune_rules/inline_tests.mli +++ b/src/dune_rules/inline_tests.mli @@ -1,2 +1,3 @@ open! Dune_engine + val linkme : unit diff --git a/src/dune_rules/install.mli b/src/dune_rules/install.mli index 6122d8dd8b3..d6f1fad1698 100644 --- a/src/dune_rules/install.mli +++ b/src/dune_rules/install.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Opam install file *) +open! Dune_engine open! Stdune diff --git a/src/dune_rules/jsoo_rules.mli b/src/dune_rules/jsoo_rules.mli index 01d4633a6ef..1419fe87198 100644 --- a/src/dune_rules/jsoo_rules.mli +++ b/src/dune_rules/jsoo_rules.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Generate rules for js_of_ocaml *) +open! Dune_engine open! Stdune open Import diff --git a/src/dune_rules/lib_file_deps.mli b/src/dune_rules/lib_file_deps.mli index 76a84f2ed94..9d359a6f540 100644 --- a/src/dune_rules/lib_file_deps.mli +++ b/src/dune_rules/lib_file_deps.mli @@ -1,4 +1,5 @@ open! Dune_engine + module Group : sig type t = | Cmi diff --git a/src/dune_rules/lib_info.mli b/src/dune_rules/lib_info.mli index 25aafc24817..58018fb54a4 100644 --- a/src/dune_rules/lib_info.mli +++ b/src/dune_rules/lib_info.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Raw library descriptions *) +open! Dune_engine (** This module regroup all information about a library. We call such descriptions "raw" as the names, such as the names of dependencies are plain diff --git a/src/dune_rules/lib_kind.mli b/src/dune_rules/lib_kind.mli index ce5fc2612e7..0d76981d3fd 100644 --- a/src/dune_rules/lib_kind.mli +++ b/src/dune_rules/lib_kind.mli @@ -1,4 +1,5 @@ open! Dune_engine + module Ppx_args : sig module Cookie : sig type t = diff --git a/src/dune_rules/link_mode.mli b/src/dune_rules/link_mode.mli index 41ad8e1a3a9..5e5cdfe6080 100644 --- a/src/dune_rules/link_mode.mli +++ b/src/dune_rules/link_mode.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Link mode of OCaml programs *) +open! Dune_engine type t = | Byte diff --git a/src/dune_rules/link_time_code_gen.mli b/src/dune_rules/link_time_code_gen.mli index 5e742fc2ac1..421d951ce62 100644 --- a/src/dune_rules/link_time_code_gen.mli +++ b/src/dune_rules/link_time_code_gen.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** {1 Handle link time code generation} *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/mdx.mli b/src/dune_rules/mdx.mli index 73f783e8993..63ec62061b5 100644 --- a/src/dune_rules/mdx.mli +++ b/src/dune_rules/mdx.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** MDX integration *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/menhir.mli b/src/dune_rules/menhir.mli index 83047ba5e1b..20ef50cab32 100644 --- a/src/dune_rules/menhir.mli +++ b/src/dune_rules/menhir.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Menhir rules *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/menhir_stanza.ml b/src/dune_rules/menhir_stanza.ml index 3606c349a4f..50473d44397 100644 --- a/src/dune_rules/menhir_stanza.ml +++ b/src/dune_rules/menhir_stanza.ml @@ -1,4 +1,5 @@ open! Dune_engine + let syntax = Dune_lang.Syntax.create ~name:"menhir" ~desc:"the menhir extension" [ ((1, 0), `Since (1, 0)) diff --git a/src/dune_rules/merlin.mli b/src/dune_rules/merlin.mli index 79fe4aa968e..9c6569a50e8 100644 --- a/src/dune_rules/merlin.mli +++ b/src/dune_rules/merlin.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Merlin rules *) +open! Dune_engine open! Stdune open Import diff --git a/src/dune_rules/merlin_server.mli b/src/dune_rules/merlin_server.mli index 3c20b8e6a16..901e5c18c29 100644 --- a/src/dune_rules/merlin_server.mli +++ b/src/dune_rules/merlin_server.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Merlin config server *) +open! Dune_engine (** Once started the server will wait for commands on stdin, read the requested merlin dot file and return its content on stdout. The server will halt when diff --git a/src/dune_rules/ml_sources.mli b/src/dune_rules/ml_sources.mli index 023b9b81543..822a30f245f 100644 --- a/src/dune_rules/ml_sources.mli +++ b/src/dune_rules/ml_sources.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** OCaml sources *) +open! Dune_engine (** This module encapsulates the structure of source files in a particular directory. *) diff --git a/src/dune_rules/module_compilation.mli b/src/dune_rules/module_compilation.mli index 2ea121bd53c..7b7879be7e8 100644 --- a/src/dune_rules/module_compilation.mli +++ b/src/dune_rules/module_compilation.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** OCaml module compilation *) +open! Dune_engine open Import diff --git a/src/dune_rules/obj_dir.mli b/src/dune_rules/obj_dir.mli index c585c7faf0f..9b92a9fcbab 100644 --- a/src/dune_rules/obj_dir.mli +++ b/src/dune_rules/obj_dir.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Representation of the object directory for libraries *) +open! Dune_engine (** Dune store the artifacts of a library or a set of executables in a dedicated dot directory (name starting with a '.'). diff --git a/src/dune_rules/ocaml_flags.mli b/src/dune_rules/ocaml_flags.mli index 7fed17b587f..832c873c40f 100644 --- a/src/dune_rules/ocaml_flags.mli +++ b/src/dune_rules/ocaml_flags.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** OCaml flags *) +open! Dune_engine open! Stdune diff --git a/src/dune_rules/ocaml_stdlib.ml b/src/dune_rules/ocaml_stdlib.ml index 40b57fc8770..410b9853b6a 100644 --- a/src/dune_rules/ocaml_stdlib.ml +++ b/src/dune_rules/ocaml_stdlib.ml @@ -1,4 +1,5 @@ open! Dune_engine + type t = { modules_before_stdlib : Module_name.Set.t ; exit_module : Module_name.t option diff --git a/src/dune_rules/ocaml_stdlib.mli b/src/dune_rules/ocaml_stdlib.mli index acd9bac957b..51eed166063 100644 --- a/src/dune_rules/ocaml_stdlib.mli +++ b/src/dune_rules/ocaml_stdlib.mli @@ -1,10 +1,10 @@ -open! Dune_engine (** Extra information for the OCaml stdlib. Contrary to normal libraries, the library interface of the stdlib (the Stdlib module) is used as the alias module when compiling all the other modules. We cannot generate an implicit one as that would break hard-coded names inside the compiler. *) +open! Dune_engine type t = private { modules_before_stdlib : Module_name.Set.t diff --git a/src/dune_rules/ocaml_version.ml b/src/dune_rules/ocaml_version.ml index c30de4c7d43..8ebef04dcfe 100644 --- a/src/dune_rules/ocaml_version.ml +++ b/src/dune_rules/ocaml_version.ml @@ -1,4 +1,5 @@ open! Dune_engine + type t = int * int * int let make x = x diff --git a/src/dune_rules/ocamldep.mli b/src/dune_rules/ocamldep.mli index 47a0ead0b21..500baff7698 100644 --- a/src/dune_rules/ocamldep.mli +++ b/src/dune_rules/ocamldep.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** ocamldep management *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/odoc.mli b/src/dune_rules/odoc.mli index 0023c64b460..e5194b2d805 100644 --- a/src/dune_rules/odoc.mli +++ b/src/dune_rules/odoc.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Odoc rules *) +open! Dune_engine open! Stdune open Import diff --git a/src/dune_rules/opam_create.mli b/src/dune_rules/opam_create.mli index 8f2b1f59c25..76849befce6 100644 --- a/src/dune_rules/opam_create.mli +++ b/src/dune_rules/opam_create.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Generate opam files from dune-project metadata *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/packages.mli b/src/dune_rules/packages.mli index 9f21d7def81..935fb210c6e 100644 --- a/src/dune_rules/packages.mli +++ b/src/dune_rules/packages.mli @@ -1,4 +1,5 @@ open! Dune_engine + (* TODO : for now these take the super context, but eventually this should be more fine grained *) diff --git a/src/dune_rules/per_item.mli b/src/dune_rules/per_item.mli index 80268975765..998452226de 100644 --- a/src/dune_rules/per_item.mli +++ b/src/dune_rules/per_item.mli @@ -1,8 +1,8 @@ -open! Dune_engine (** Module used to represent the [(per_xxx ...)] forms The main different between this module and a plain [Map] is that the [map] operation applies transformations only once per distinct value. *) +open! Dune_engine open! Stdune diff --git a/src/dune_rules/per_item_intf.ml b/src/dune_rules/per_item_intf.ml index 05806825735..e2a86ba67a0 100644 --- a/src/dune_rules/per_item_intf.ml +++ b/src/dune_rules/per_item_intf.ml @@ -1,4 +1,5 @@ open! Dune_engine + module type S = sig type key diff --git a/src/dune_rules/preprocessing.mli b/src/dune_rules/preprocessing.mli index 36490243230..b73d7ea97fb 100644 --- a/src/dune_rules/preprocessing.mli +++ b/src/dune_rules/preprocessing.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Preprocessing of OCaml source files *) +open! Dune_engine open! Stdune open! Import diff --git a/src/dune_rules/profile.mli b/src/dune_rules/profile.mli index 5450a4757a4..21eb17ca62f 100644 --- a/src/dune_rules/profile.mli +++ b/src/dune_rules/profile.mli @@ -1,6 +1,6 @@ -open! Dune_engine (** Defines build profile for dune. Only one profile is active per context. Some profiles are treat specially by dune. *) +open! Dune_engine type t = | Dev diff --git a/src/dune_rules/scheme.mli b/src/dune_rules/scheme.mli index db948162791..eb5e1264edd 100644 --- a/src/dune_rules/scheme.mli +++ b/src/dune_rules/scheme.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** A collection of rules for one or multiple directories. *) +open! Dune_engine open! Stdune diff --git a/src/dune_rules/scope.mli b/src/dune_rules/scope.mli index ab2187a7e4b..540844b76f7 100644 --- a/src/dune_rules/scope.mli +++ b/src/dune_rules/scope.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Scopes *) +open! Dune_engine (** A scope is a project + a library database *) diff --git a/src/dune_rules/setup.defaults.ml b/src/dune_rules/setup.defaults.ml index 53f77dfed9a..2e803586423 100644 --- a/src/dune_rules/setup.defaults.ml +++ b/src/dune_rules/setup.defaults.ml @@ -1,4 +1,5 @@ open! Dune_engine + let library_path = None let library_destdir = None diff --git a/src/dune_rules/setup.mli b/src/dune_rules/setup.mli index f79fdfb49a6..aac558e7923 100644 --- a/src/dune_rules/setup.mli +++ b/src/dune_rules/setup.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Setup of dune *) +open! Dune_engine (** These parameters are set by [ocaml configure.ml] or copied from [setup.defaults.ml]. *) diff --git a/src/dune_rules/simple_rules.mli b/src/dune_rules/simple_rules.mli index 4c2fbe51764..2250e7c6673 100644 --- a/src/dune_rules/simple_rules.mli +++ b/src/dune_rules/simple_rules.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Simple rules: user, copy_files, alias *) +open! Dune_engine open! Stdune open Import diff --git a/src/dune_rules/sub_system.mli b/src/dune_rules/sub_system.mli index df982ac1af6..70f0ddf1347 100644 --- a/src/dune_rules/sub_system.mli +++ b/src/dune_rules/sub_system.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Dune sub-systems *) +open! Dune_engine (** This module allows to define sub-systems. The aim is to define everything related to the sub-system, such as the parser for [dune] files, the metadata diff --git a/src/dune_rules/sub_system_name.mli b/src/dune_rules/sub_system_name.mli index dcd2cff6063..bdf3aa0221d 100644 --- a/src/dune_rules/sub_system_name.mli +++ b/src/dune_rules/sub_system_name.mli @@ -1,2 +1,3 @@ open! Dune_engine + include Stdune.Interned_intf.S diff --git a/src/dune_rules/super_context.mli b/src/dune_rules/super_context.mli index b363c4aa94e..b4a6eee8664 100644 --- a/src/dune_rules/super_context.mli +++ b/src/dune_rules/super_context.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** An augmented context *) +open! Dune_engine (** A context augmented with: a lib-db, ... Super context are used for generating rules. *) diff --git a/src/dune_rules/targets.mli b/src/dune_rules/targets.mli index aa43a9b97a6..7de74fc2f29 100644 --- a/src/dune_rules/targets.mli +++ b/src/dune_rules/targets.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Defines target behavior for rules. *) +open! Dune_engine open Import diff --git a/src/dune_rules/upgrader.mli b/src/dune_rules/upgrader.mli index 529b8563081..d969d43d581 100644 --- a/src/dune_rules/upgrader.mli +++ b/src/dune_rules/upgrader.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Upgrade projects from jbuilder to Dune *) +open! Dune_engine (** Upgrade all projects in this file tree *) val upgrade : unit -> unit diff --git a/src/dune_rules/utop.mli b/src/dune_rules/utop.mli index 84be79bc68b..bc4acad0b7f 100644 --- a/src/dune_rules/utop.mli +++ b/src/dune_rules/utop.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Utop rules *) +open! Dune_engine open! Stdune diff --git a/src/dune_rules/vimpl.mli b/src/dune_rules/vimpl.mli index 553baea4123..54967e09a35 100644 --- a/src/dune_rules/vimpl.mli +++ b/src/dune_rules/vimpl.mli @@ -1,6 +1,6 @@ -open! Dune_engine (** Extra information required to generate rules for virtual library implementations *) +open! Dune_engine open Stdune diff --git a/src/dune_rules/watermarks.mli b/src/dune_rules/watermarks.mli index fbe44034c94..a6bfa448e10 100644 --- a/src/dune_rules/watermarks.mli +++ b/src/dune_rules/watermarks.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Watermarking *) +open! Dune_engine (** Expand watermarks in source files, similarly to what topkg does. diff --git a/src/dune_rules/workspace.mli b/src/dune_rules/workspace.mli index 8d4cb989cf8..d082d018d13 100644 --- a/src/dune_rules/workspace.mli +++ b/src/dune_rules/workspace.mli @@ -1,5 +1,5 @@ -open! Dune_engine (** Workspaces definitions *) +open! Dune_engine open! Stdune open! Import From 6dd018d930331ffadd1b2faee08ed3aac8a34021 Mon Sep 17 00:00:00 2001 From: Cameron Wong Date: Wed, 26 Aug 2020 09:20:09 -0400 Subject: [PATCH 3/6] de-duplicate assets.ml Signed-off-by: Cameron Wong --- src/dune_engine/assets.ml | 77 --------------------------------------- src/dune_rules/assets.ml | 8 ++-- 2 files changed, 3 insertions(+), 82 deletions(-) delete mode 100644 src/dune_engine/assets.ml diff --git a/src/dune_engine/assets.ml b/src/dune_engine/assets.ml deleted file mode 100644 index b0bba1fb187..00000000000 --- a/src/dune_engine/assets.ml +++ /dev/null @@ -1,77 +0,0 @@ -let jbuild_plugin_ml = - {jbp|let () = - Hashtbl.add Toploop.directive_table "require" - (Toploop.Directive_string ignore); - Hashtbl.add Toploop.directive_table "use" - (Toploop.Directive_string - (fun _ -> - failwith "#use is not allowed inside a dune file in OCaml syntax")); - Hashtbl.add Toploop.directive_table "use_mod" - (Toploop.Directive_string - (fun _ -> - failwith "#use is not allowed inside a dune file in OCaml syntax")) - -module V1 = struct - (*$ begin_vars $*) - let context = "dummy_context" - - let ocaml_version = "dummy_version" - - let ocamlc_config = [] - - let send_target = "dummy_send_target" - - (*$ end_vars $*) - - let send s = - let oc = open_out_bin send_target in - output_string oc s; - close_out oc - - let run_and_read_lines cmd = - let tmp_fname = Filename.temp_file "dune" ".output" in - at_exit (fun () -> Sys.remove tmp_fname); - let n = - Printf.ksprintf Sys.command "%s > %s" cmd (Filename.quote tmp_fname) - in - let rec loop ic acc = - match input_line ic with - | exception End_of_file -> - close_in ic; - List.rev acc - | line -> loop ic (line :: acc) - in - let output = loop (open_in tmp_fname) [] in - if n = 0 then - output - else - Printf.ksprintf failwith - "Command failed: %%s\nExit code: %%d\nOutput:\n%%s" cmd n - (String.concat "\n" output) -end -|jbp} - -let jbuild_plugin_mli = - {jbp|(** API for jbuild plugins *) - -(* CR-someday amokhov: rename to [dune_plugin]. *) - -module V1 : sig - (** Current build context *) - val context : string - - (** OCaml version for the current build context. It might not be the same as - [Sys.ocaml_version] *) - val ocaml_version : string - - (** Output of [ocamlc -config] for this context *) - val ocamlc_config : (string * string) list - - (** [send s] send [s] to Dune. [s] should be the contents of a [dune] file - following the specification described in the manual. *) - val send : string -> unit - - (** Execute a command and read its output *) - val run_and_read_lines : string -> string list -end -|jbp} diff --git a/src/dune_rules/assets.ml b/src/dune_rules/assets.ml index b0bba1fb187..31afe51add5 100644 --- a/src/dune_rules/assets.ml +++ b/src/dune_rules/assets.ml @@ -1,5 +1,4 @@ -let jbuild_plugin_ml = - {jbp|let () = +let jbuild_plugin_ml = {jbp|let () = Hashtbl.add Toploop.directive_table "require" (Toploop.Directive_string ignore); Hashtbl.add Toploop.directive_table "use" @@ -51,8 +50,7 @@ module V1 = struct end |jbp} -let jbuild_plugin_mli = - {jbp|(** API for jbuild plugins *) +let jbuild_plugin_mli = {jbp|(** API for jbuild plugins *) (* CR-someday amokhov: rename to [dune_plugin]. *) @@ -74,4 +72,4 @@ module V1 : sig (** Execute a command and read its output *) val run_and_read_lines : string -> string list end -|jbp} +|jbp} \ No newline at end of file From 2001c6acef0d4966f9c38dcb7f2970d8a7331ecf Mon Sep 17 00:00:00 2001 From: Cameron Wong Date: Wed, 26 Aug 2020 10:16:40 -0400 Subject: [PATCH 4/6] adjust dune to generate proper [assets.ml] Signed-off-by: Cameron Wong --- src/dune_engine/dune | 14 -------------- src/dune_rules/assets.ml | 4 +++- src/dune_rules/dune | 3 ++- 3 files changed, 5 insertions(+), 16 deletions(-) diff --git a/src/dune_engine/dune b/src/dune_engine/dune index b3e5cf584e7..2f59731d60b 100644 --- a/src/dune_engine/dune +++ b/src/dune_engine/dune @@ -9,17 +9,3 @@ (synopsis "Internal Dune library, do not use!")) (ocamllex dune_lexer) - -(rule - (mode promote) - (target assets.ml) - (action - (with-stdout-to - %{target} - (progn - (echo "let jbuild_plugin_ml = {jbp|") - (cat %{project_root}/plugin/jbuild_plugin.ml) - (echo "|jbp}\n\n") - (echo "let jbuild_plugin_mli = {jbp|") - (cat %{project_root}/plugin/jbuild_plugin.mli) - (echo "|jbp}"))))) diff --git a/src/dune_rules/assets.ml b/src/dune_rules/assets.ml index 31afe51add5..8e5398bc926 100644 --- a/src/dune_rules/assets.ml +++ b/src/dune_rules/assets.ml @@ -1,4 +1,6 @@ -let jbuild_plugin_ml = {jbp|let () = +let jbuild_plugin_ml = + {jbp| +let () = Hashtbl.add Toploop.directive_table "require" (Toploop.Directive_string ignore); Hashtbl.add Toploop.directive_table "use" diff --git a/src/dune_rules/dune b/src/dune_rules/dune index 38fbe875f30..28d4dd49b64 100644 --- a/src/dune_rules/dune +++ b/src/dune_rules/dune @@ -17,7 +17,8 @@ (with-stdout-to %{target} (progn - (echo "let jbuild_plugin_ml = {jbp|") + (echo "let jbuild_plugin_ml =\n") + (echo " {jbp|\n") (cat %{project_root}/plugin/jbuild_plugin.ml) (echo "|jbp}\n\n") (echo "let jbuild_plugin_mli = {jbp|") From e7f8bb642ab4657191c4ee7e590fd8ed3156b7aa Mon Sep 17 00:00:00 2001 From: Cameron Wong Date: Wed, 26 Aug 2020 10:41:21 -0400 Subject: [PATCH 5/6] remove generated file [assets.ml] Signed-off-by: Cameron Wong --- src/dune_rules/assets.ml | 77 ---------------------------------------- 1 file changed, 77 deletions(-) delete mode 100644 src/dune_rules/assets.ml diff --git a/src/dune_rules/assets.ml b/src/dune_rules/assets.ml deleted file mode 100644 index 8e5398bc926..00000000000 --- a/src/dune_rules/assets.ml +++ /dev/null @@ -1,77 +0,0 @@ -let jbuild_plugin_ml = - {jbp| -let () = - Hashtbl.add Toploop.directive_table "require" - (Toploop.Directive_string ignore); - Hashtbl.add Toploop.directive_table "use" - (Toploop.Directive_string - (fun _ -> - failwith "#use is not allowed inside a dune file in OCaml syntax")); - Hashtbl.add Toploop.directive_table "use_mod" - (Toploop.Directive_string - (fun _ -> - failwith "#use is not allowed inside a dune file in OCaml syntax")) - -module V1 = struct - (*$ begin_vars $*) - let context = "dummy_context" - - let ocaml_version = "dummy_version" - - let ocamlc_config = [] - - let send_target = "dummy_send_target" - - (*$ end_vars $*) - - let send s = - let oc = open_out_bin send_target in - output_string oc s; - close_out oc - - let run_and_read_lines cmd = - let tmp_fname = Filename.temp_file "dune" ".output" in - at_exit (fun () -> Sys.remove tmp_fname); - let n = - Printf.ksprintf Sys.command "%s > %s" cmd (Filename.quote tmp_fname) - in - let rec loop ic acc = - match input_line ic with - | exception End_of_file -> - close_in ic; - List.rev acc - | line -> loop ic (line :: acc) - in - let output = loop (open_in tmp_fname) [] in - if n = 0 then - output - else - Printf.ksprintf failwith - "Command failed: %%s\nExit code: %%d\nOutput:\n%%s" cmd n - (String.concat "\n" output) -end -|jbp} - -let jbuild_plugin_mli = {jbp|(** API for jbuild plugins *) - -(* CR-someday amokhov: rename to [dune_plugin]. *) - -module V1 : sig - (** Current build context *) - val context : string - - (** OCaml version for the current build context. It might not be the same as - [Sys.ocaml_version] *) - val ocaml_version : string - - (** Output of [ocamlc -config] for this context *) - val ocamlc_config : (string * string) list - - (** [send s] send [s] to Dune. [s] should be the contents of a [dune] file - following the specification described in the manual. *) - val send : string -> unit - - (** Execute a command and read its output *) - val run_and_read_lines : string -> string list -end -|jbp} \ No newline at end of file From 328ed1f85af3e4546504a876ebcc5e63e9d098b8 Mon Sep 17 00:00:00 2001 From: Cameron Wong Date: Wed, 26 Aug 2020 10:50:38 -0400 Subject: [PATCH 6/6] restore [assets.ml] and fix ocamlformat-ignore Signed-off-by: Cameron Wong --- .ocamlformat-ignore | 2 +- src/dune_rules/assets.ml | 76 ++++++++++++++++++++++++++++++++++++++++ src/dune_rules/dune | 3 +- 3 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 src/dune_rules/assets.ml diff --git a/.ocamlformat-ignore b/.ocamlformat-ignore index 10fd5521a8b..846ce53d733 100644 --- a/.ocamlformat-ignore +++ b/.ocamlformat-ignore @@ -1,2 +1,2 @@ boot/libs.ml -src/dune/assets.ml +src/dune_rules/assets.ml diff --git a/src/dune_rules/assets.ml b/src/dune_rules/assets.ml new file mode 100644 index 00000000000..1239e1a722e --- /dev/null +++ b/src/dune_rules/assets.ml @@ -0,0 +1,76 @@ +let jbuild_plugin_ml = {jbp| +let () = + Hashtbl.add Toploop.directive_table "require" + (Toploop.Directive_string ignore); + Hashtbl.add Toploop.directive_table "use" + (Toploop.Directive_string + (fun _ -> + failwith "#use is not allowed inside a dune file in OCaml syntax")); + Hashtbl.add Toploop.directive_table "use_mod" + (Toploop.Directive_string + (fun _ -> + failwith "#use is not allowed inside a dune file in OCaml syntax")) + +module V1 = struct + (*$ begin_vars $*) + let context = "dummy_context" + + let ocaml_version = "dummy_version" + + let ocamlc_config = [] + + let send_target = "dummy_send_target" + + (*$ end_vars $*) + + let send s = + let oc = open_out_bin send_target in + output_string oc s; + close_out oc + + let run_and_read_lines cmd = + let tmp_fname = Filename.temp_file "dune" ".output" in + at_exit (fun () -> Sys.remove tmp_fname); + let n = + Printf.ksprintf Sys.command "%s > %s" cmd (Filename.quote tmp_fname) + in + let rec loop ic acc = + match input_line ic with + | exception End_of_file -> + close_in ic; + List.rev acc + | line -> loop ic (line :: acc) + in + let output = loop (open_in tmp_fname) [] in + if n = 0 then + output + else + Printf.ksprintf failwith + "Command failed: %%s\nExit code: %%d\nOutput:\n%%s" cmd n + (String.concat "\n" output) +end +|jbp} + +let jbuild_plugin_mli = {jbp|(** API for jbuild plugins *) + +(* CR-someday amokhov: rename to [dune_plugin]. *) + +module V1 : sig + (** Current build context *) + val context : string + + (** OCaml version for the current build context. It might not be the same as + [Sys.ocaml_version] *) + val ocaml_version : string + + (** Output of [ocamlc -config] for this context *) + val ocamlc_config : (string * string) list + + (** [send s] send [s] to Dune. [s] should be the contents of a [dune] file + following the specification described in the manual. *) + val send : string -> unit + + (** Execute a command and read its output *) + val run_and_read_lines : string -> string list +end +|jbp} \ No newline at end of file diff --git a/src/dune_rules/dune b/src/dune_rules/dune index 28d4dd49b64..964a10a059c 100644 --- a/src/dune_rules/dune +++ b/src/dune_rules/dune @@ -17,8 +17,7 @@ (with-stdout-to %{target} (progn - (echo "let jbuild_plugin_ml =\n") - (echo " {jbp|\n") + (echo "let jbuild_plugin_ml = {jbp|\n") (cat %{project_root}/plugin/jbuild_plugin.ml) (echo "|jbp}\n\n") (echo "let jbuild_plugin_mli = {jbp|")