| 1 | const std = @import("std"); |
| 2 | const extras = @import("extras"); |
| 3 | const root = @import("root"); |
| 4 | const build_options = root.build_options; |
| 5 | |
| 6 | pub 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 | |
| 20 | pub fn init() !void { |
| 21 | // |
| 22 | } |
| 23 | |
| 24 | pub fn deinit() void { |
| 25 | // |
| 26 | } |
| 27 | |
| 28 | pub const Dep = @import("./util/dep.zig").Dep; |
| 29 | pub const ModFile = @import("./util/modfile.zig").ModFile; |
| 30 | pub const Module = @import("./util/module.zig").Module; |
| 31 | |
| 32 | pub 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 | |
| 41 | pub 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 | } |