From e355bac41c15e3f61ed5d366edec5bfab46c3d92 Mon Sep 17 00:00:00 2001 From: tali Date: Thu, 1 Feb 2024 14:33:34 -0500 Subject: [PATCH] use some sneaky codegen to get the 'version' variable --- lib/server/dune | 7 +++++++ lib/server/server_info.ml | 11 +++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/server/dune b/lib/server/dune index 914b6d8..84d019e 100644 --- a/lib/server/dune +++ b/lib/server/dune @@ -6,3 +6,10 @@ logging irc data) (inline_tests) (preprocess (pps ppx_expect))) + +(rule + (package talircd) + (target "meta_server_info.ml") + (action + (with-stdout-to %{target} + (echo "let version = \"%{version:talircd}\";;")))) diff --git a/lib/server/server_info.ml b/lib/server/server_info.ml index 45bc0a6..2416b90 100644 --- a/lib/server/server_info.ml +++ b/lib/server/server_info.ml @@ -1,4 +1,7 @@ open! Import +include (Meta_server_info : sig + val version : string + end) let tz_offset_s = Ptime_clock.current_tz_offset_s () let pp_time = Ptime.pp_human () ?tz_offset_s @@ -37,15 +40,11 @@ let default_conf = { init_cmode = Mode.Set.of_list [`n; `s; `t]; } -let admin_info = "the admin of this server is @iitalics@octodon.social" -let version = "0.0.0" -(* TODO: generate version string at build time? *) - let make ?(conf = default_conf) ~hostname ~motd () = { - version = version; + version; created = Fmt.str "%a" pp_time (Ptime_clock.now ()); + admin_info = "the admin of this server is @iitalics@octodon.social"; hostname; - admin_info; motd; conf; }