mirror of
https://github.com/ziglang/zig.git
synced 2026-02-12 20:37:54 +00:00
zig env: add global_cache_dir field
This commit is contained in:
parent
502d413621
commit
18ac998767
@ -73,7 +73,17 @@ pub fn resolveZigLibDir(allocator: *mem.Allocator) ![]u8 {
|
||||
};
|
||||
}
|
||||
|
||||
/// Caller must free result
|
||||
pub fn resolveZigCacheDir(allocator: *mem.Allocator) ![]u8 {
|
||||
return std.mem.dupe(allocator, u8, "zig-cache");
|
||||
/// Caller owns returned memory.
|
||||
pub fn resolveGlobalCacheDir(allocator: *mem.Allocator) ![]u8 {
|
||||
const appname = "zig";
|
||||
|
||||
if (std.Target.current.os.tag != .windows) {
|
||||
if (std.os.getenv("XDG_CACHE_HOME")) |cache_root| {
|
||||
return fs.path.join(allocator, &[_][]const u8{ cache_root, appname });
|
||||
} else if (std.os.getenv("HOME")) |home| {
|
||||
return fs.path.join(allocator, &[_][]const u8{ home, ".cache", appname });
|
||||
}
|
||||
}
|
||||
|
||||
return fs.getAppDataDir(allocator, appname);
|
||||
}
|
||||
|
||||
@ -13,6 +13,9 @@ pub fn cmdEnv(gpa: *Allocator, args: []const []const u8, stdout: anytype) !void
|
||||
const zig_std_dir = try std.fs.path.join(gpa, &[_][]const u8{ zig_lib_dir, "std" });
|
||||
defer gpa.free(zig_std_dir);
|
||||
|
||||
const global_cache_dir = try introspect.resolveGlobalCacheDir(gpa);
|
||||
defer gpa.free(global_cache_dir);
|
||||
|
||||
var bos = std.io.bufferedOutStream(stdout);
|
||||
const bos_stream = bos.outStream();
|
||||
|
||||
@ -25,6 +28,9 @@ pub fn cmdEnv(gpa: *Allocator, args: []const []const u8, stdout: anytype) !void
|
||||
try jws.objectField("std_dir");
|
||||
try jws.emitString(zig_std_dir);
|
||||
|
||||
try jws.objectField("global_cache_dir");
|
||||
try jws.emitString(global_cache_dir);
|
||||
|
||||
try jws.objectField("version");
|
||||
try jws.emitString(build_options.version);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user