1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
(* SPDX-License-Identifier: AGPL-3.0-or-later *)
(* Copyright © 2021-2024 OCamlPro *)
(* Written by the Owi programmers *)

let string_of_version = function
  | None -> "unknown"
  | Some v -> Build_info.V1.Version.to_string v

let version = string_of_version @@ Build_info.V1.version ()

let statically_linked_libraries =
  Build_info.V1.Statically_linked_libraries.to_list ()
  |> List.map (fun l ->
       ( Build_info.V1.Statically_linked_library.name l
       , Build_info.V1.Statically_linked_library.version l |> string_of_version
       ) )
  |> List.sort (fun (n1, _) (n2, _) -> String.compare n1 n2)

let cmd () =
  Fmt.pr "owi version %s@\n" version;
  List.iter
    (fun (name, version) -> Fmt.pr "%s version %s@\n" name version)
    statically_linked_libraries;
  Ok ()