diff --git a/meson.build b/meson.build index 3297746..761c6ee 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('valdo', 'vala', 'c', - version: '0.0.1', + version: '2021.07.22', license: 'LGPL-2.1-only') valac = meson.get_compiler('vala') diff --git a/src/config.vala.in.in b/src/config.vala.in similarity index 100% rename from src/config.vala.in.in rename to src/config.vala.in diff --git a/src/main.vala b/src/main.vala index 7853f33..4fd3516 100644 --- a/src/main.vala +++ b/src/main.vala @@ -19,7 +19,10 @@ [CCode (array_length = false, array_null_terminated = true)] private string[] template_names; // we only want one template, and we discard the rest +private bool version; + private const OptionEntry[] entries = { + { "version", 'V', 0, OptionArg.NONE, ref version, "Output version", null }, { OPTION_REMAINING, 0, 0, OptionArg.STRING_ARRAY, ref template_names, (string)0, "TEMPLATE" }, // list terminator (we can't use `null` here, see https://gitlab.gnome.org/GNOME/vala/-/issues/1185) { } @@ -81,9 +84,16 @@ int main (string[] args) { return 1; } + if (version) { + stdout.printf ("valdo %s\n", Config.PROJECT_VERSION); + return 0; + } + if (template_names.length == 0) { return list_templates (args); - } else if (template_names.length != 1) { + } + + if (template_names.length != 1) { stderr.printf ("%s", ctx.get_help (false, null)); return 1; } diff --git a/src/meson.build b/src/meson.build index 644d3bf..f716c7e 100644 --- a/src/meson.build +++ b/src/meson.build @@ -2,18 +2,20 @@ conf_data = configuration_data() conf_data.set('DATA_DIR', templates_dir) conf_data.set('VCS_TAG', '@VCS_TAG@') -config_vala_in = configure_file( - input: 'config.vala.in.in', - output: 'config.vala.in', +config_vala = configure_file( + input: 'config.vala.in', + output: 'config.vala', configuration: conf_data ) -config_vala = vcs_tag( - input: config_vala_in, - output: 'config.vala', +version_vala = vcs_tag( + input: 'version.vala.in', + output: 'version.vala', + command: ['git', 'describe', '--tags', '--dirty'] ) executable('valdo', config_vala, + version_vala, 'main.vala', 'template.vala', 'templateengine.vala', diff --git a/src/version.vala.in b/src/version.vala.in new file mode 100644 index 0000000..513ebd0 --- /dev/null +++ b/src/version.vala.in @@ -0,0 +1,3 @@ +namespace Config { + const string PROJECT_VERSION = "@VCS_TAG@"; +}