File tree 2 files changed +37
-0
lines changed
2 files changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -547,6 +547,41 @@ let name t = t.id.name
547
547
548
548
let dir t = t.id.dir
549
549
550
+ let encode
551
+ { id = _
552
+ ; loc = _
553
+ ; has_opam_file = _
554
+ ; synopsis
555
+ ; description
556
+ ; depends
557
+ ; conflicts
558
+ ; depopts
559
+ ; info
560
+ ; version
561
+ ; tags
562
+ ; deprecated_package_names
563
+ ; sites
564
+ } =
565
+ let open Dune_lang.Encoder in
566
+ let fields =
567
+ record_fields
568
+ [ field_o " synopsis" string synopsis
569
+ ; field_o " description" string description
570
+ ; field_l " depends" Dependency. encode depends
571
+ ; field_l " conflicts" Dependency. encode conflicts
572
+ ; field_l " depopts" Dependency. encode depopts
573
+ ; field_o " version" string version
574
+ ; field_l " tags" string tags
575
+ ; field_l " deprecated_package_names" Name. encode
576
+ (Name.Map. keys deprecated_package_names)
577
+ ; field_l " sits"
578
+ (pair Section.Site. encode Section. encode)
579
+ (Section.Site.Map. to_list sites)
580
+ ]
581
+ @ Info. encode info
582
+ in
583
+ constr " package" (list sexp) fields
584
+
550
585
let decode ~dir =
551
586
let open Dune_lang.Decoder in
552
587
let name_map syntax of_list_map to_string name decode print_value error_msg =
Original file line number Diff line number Diff line change @@ -154,6 +154,8 @@ val dir : t -> Path.Source.t
154
154
155
155
val file : dir :Path .t -> name :Name .t -> Path .t
156
156
157
+ val encode : t Dune_lang.Encoder .t
158
+
157
159
val decode : dir :Path .Source .t -> t Dune_lang.Decoder .t
158
160
159
161
val opam_file : t -> Path.Source .t
You can’t perform that action at this time.
0 commit comments