Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions src/dune_lang/targets_spec.ml
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,11 @@ type 'a t =
| Infer

let decode_target ~allow_directory_targets =
let module K = Kind in
let open Dune_sexp.Decoder in
let file =
let+ file = String_with_vars.decode in
file, Kind.File
file, K.File
in
let dir =
let+ dir = sum ~force_parens:true [ "dir", String_with_vars.decode ] in
Expand All @@ -56,18 +57,19 @@ let decode_target ~allow_directory_targets =
User_error.raise
~loc:(String_with_vars.loc dir)
[ Pp.text "Directory targets require the 'directory-targets' extension" ];
dir, Kind.Directory
dir, K.Directory
in
file <|> dir
;;

let decode_static ~allow_directory_targets =
let module K = Kind in
let open Dune_sexp.Decoder in
let+ syntax_version = Syntax.get_exn Stanza.syntax
and+ targets = repeat (decode_target ~allow_directory_targets) in
if syntax_version < (1, 3)
then
List.iter targets ~f:(fun (target, (_ : Kind.t)) ->
List.iter targets ~f:(fun (target, (_ : K.t)) ->
if String_with_vars.has_pforms target
then
Syntax.Error.since
Expand Down
3 changes: 2 additions & 1 deletion src/dune_rules/module.ml
Original file line number Diff line number Diff line change
Expand Up @@ -379,11 +379,12 @@ let encode ({ source; obj_name; pp = _; visibility; kind; install_as = _ } as t)
;;

let decode ~src_dir =
let module K = Kind in
let open Dune_lang.Decoder in
fields
(let+ obj_name = field "obj_name" Module_name.Unique.decode
and+ visibility = field "visibility" Visibility.decode
and+ kind = field_o "kind" Kind.decode
and+ kind = field_o "kind" K.decode
and+ source = field "source" (Source.decode ~dir:src_dir) in
let kind =
match kind with
Expand Down
Loading
Loading