1const std = @import("std");
2const extras = @import("extras");
3const root = @import("root");
4const build_options = root.build_options;
5
6pub const commands = struct {
7 pub const version = @import("./cmd/version.zig");
8 pub const fetch = @import("./cmd/fetch.zig");
9 pub const ci = @import("./cmd/ci.zig");
10 pub const init = @import("./cmd/init.zig");
11 pub const sum = @import("./cmd/sum.zig");
12 pub const zpm = @import("./cmd/zpm.zig");
13 pub const license = @import("./cmd/license.zig");
14 pub const generate = @import("./cmd/generate.zig");
15 pub const explain = @import("./cmd/explain.zig");
16 pub const install = @import("./cmd/install.zig");
17 pub const @"test" = @import("./cmd/test.zig");
18};
19
20pub fn init() !void {
21 //
22}
23
24pub fn deinit() void {
25 //
26}
27
28pub const Dep = @import("./util/dep.zig").Dep;
29pub const ModFile = @import("./util/modfile.zig").ModFile;
30pub const Module = @import("./util/module.zig").Module;
31
32pub const version: u16 = blk: {
33 var version_s = build_options.version;
34 version_s = extras.trimPrefixEnsure(version_s, "r").?;
35 version_s = version_s[0 .. std.mem.indexOfScalar(u8, version_s, '-') orelse version_s.len];
36 var version_i = extras.parseDigits(u16, version_s, 10) catch unreachable;
37 if (std.mem.indexOfScalar(u8, version_s, '-')) |_| version_i += 1;
38 break :blk version_i;
39};
40
41pub fn meetsMinimumVersion(min_zigmod_version_raw: []const u8) ?bool {
42 var min_zigmod_version_s = min_zigmod_version_raw;
43 min_zigmod_version_s = extras.trimPrefixEnsure(min_zigmod_version_s, "r") orelse return null;
44 min_zigmod_version_s = min_zigmod_version_s[0 .. std.mem.indexOfScalar(u8, min_zigmod_version_s, '-') orelse min_zigmod_version_s.len];
45 const min_zigmod_version = extras.parseDigits(u16, min_zigmod_version_s, 10) catch return null;
46 return min_zigmod_version <= version;
47}