From 5b7a80897238e39c734a7c6d2087abb879ce38af Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Tue, 20 Dec 2022 16:23:47 -0600 Subject: [PATCH] refactor: move cram stanza definition From Dune_file.Cram to Cram_stanza.T Signed-off-by: Rudi Grinberg --- src/dune_rules/cram_rules.ml | 2 +- src/dune_rules/cram_stanza.ml | 2 ++ src/dune_rules/cram_stanza.mli | 2 ++ src/dune_rules/dune_file.ml | 3 +-- src/dune_rules/dune_file.mli | 1 - 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/dune_rules/cram_rules.ml b/src/dune_rules/cram_rules.ml index bb898e0bf5e..4da082eb5de 100644 --- a/src/dune_rules/cram_rules.ml +++ b/src/dune_rules/cram_rules.ml @@ -96,7 +96,7 @@ let rules ~sctx ~expander ~dir tests = | None -> [] | Some (d : Dune_file.t) -> List.filter_map d.stanzas ~f:(function - | Dune_file.Cram c -> Option.some_if (f c) (dir, c) + | Cram_stanza.T c -> Option.some_if (f c) (dir, c) | _ -> None) in let rec collect_whole_subtree acc dir = diff --git a/src/dune_rules/cram_stanza.ml b/src/dune_rules/cram_stanza.ml index 590e004db41..b92c6673f94 100644 --- a/src/dune_rules/cram_stanza.ml +++ b/src/dune_rules/cram_stanza.ml @@ -29,6 +29,8 @@ type t = ; package : Package.t option } +type Stanza.t += T of t + let decode = fields (let+ loc = loc diff --git a/src/dune_rules/cram_stanza.mli b/src/dune_rules/cram_stanza.mli index 714389aee72..38c7934ee89 100644 --- a/src/dune_rules/cram_stanza.mli +++ b/src/dune_rules/cram_stanza.mli @@ -14,4 +14,6 @@ type t = ; package : Package.t option } +type Stanza.t += T of t + val decode : t Dune_lang.Decoder.t diff --git a/src/dune_rules/dune_file.ml b/src/dune_rules/dune_file.ml index d248d4fa05f..6f9d4edd877 100644 --- a/src/dune_rules/dune_file.ml +++ b/src/dune_rules/dune_file.ml @@ -2245,7 +2245,6 @@ type Stanza.t += | Toplevel of Toplevel.t | Library_redirect of Library_redirect.Local.t | Deprecated_library_name of Deprecated_library_name.t - | Cram of Cram_stanza.t | Plugin of Plugin.t module Stanzas = struct @@ -2354,7 +2353,7 @@ module Stanzas = struct "You can enable cram tests by adding (cram enable) to your \ dune-project file." ]; - [ Cram t ] ) + [ Cram_stanza.T t ] ) ; ( "generate_sites_module" , let+ () = Dune_lang.Syntax.since Section.dune_site_syntax (0, 1) and+ t = Generate_sites_module_stanza.decode in diff --git a/src/dune_rules/dune_file.mli b/src/dune_rules/dune_file.mli index ced8e4c095e..ab35174a8c4 100644 --- a/src/dune_rules/dune_file.mli +++ b/src/dune_rules/dune_file.mli @@ -464,7 +464,6 @@ type Stanza.t += | Toplevel of Toplevel.t | Library_redirect of Library_redirect.Local.t | Deprecated_library_name of Deprecated_library_name.t - | Cram of Cram_stanza.t | Plugin of Plugin.t val stanza_package : Stanza.t -> Package.t option