Skip to content

Commit f8eea4b

Browse files
committed
platform_tell: output JSON
1 parent 204de9c commit f8eea4b

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

+stdlib/java_home.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
h = '';
99
end
1010

11+
h = string(h);
12+
1113
end
1214

1315
%!assert(!isempty(java_home()))

+stdlib/platform_tell.m

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,43 @@
11
%% PLATFORM_TELL - Display information about the platform and environment
22

3-
function platform_tell()
3+
function json = platform_tell()
44

55
r = matlabRelease();
6-
fprintf('Matlab: %s %s %s\n', r.Release, computer('arch'), stdlib.cpu_arch());
7-
8-
fprintf('HDF5 %s\n', stdlib.h5get_version());
9-
fprintf('netCDF %s\n', stdlib.nc_get_version());
6+
raw = struct("matlab_release", r.Release, ...
7+
"matlab_arch", computer('arch'), ...
8+
"cpu_arch", stdlib.cpu_arch(), ...
9+
"hdf5", stdlib.h5get_version(), ...
10+
"netcdf", stdlib.nc_get_version());
1011

1112
if stdlib.has_java()
12-
fprintf('Java: %s %s Home: %s\n', stdlib.java_vendor(), stdlib.java_version(), stdlib.java_home());
13+
raw.java_vendor = stdlib.java_vendor();
14+
raw.java_version = stdlib.java_version();
15+
raw.java_home = stdlib.java_home();
1316
end
1417

1518
if stdlib.has_dotnet()
16-
fprintf('.NET: %s\n', stdlib.dotnet_version());
19+
raw.dotnet_version = stdlib.dotnet_version();
1720
end
1821

1922
pv = stdlib.python_version();
2023
if ~isempty(pv)
21-
fprintf('Python: %d.%d.%d Home: %s\n', pv(1), pv(2), pv(3), stdlib.python_home());
24+
raw.python_version = sprintf("%d.%d.%d",pv(1), pv(2), pv(3));
25+
raw.python_home = stdlib.python_home();
2226
end
2327

2428
if ismac()
25-
fprintf('Xcode CLT: %s\n', stdlib.xcode_version());
29+
raw.xcode_version = stdlib.xcode_version();
2630
end
2731

28-
for lang = ["C", "C++", "Fortran"]
32+
for lang = ["C", "Cpp", "Fortran"]
2933
co = mex.getCompilerConfigurations(lang);
34+
3035
if ~isempty(co)
31-
fprintf('%s compiler: %s %s\n', lang, co.ShortName, co.Version)
36+
raw.("compiler_" + lang) = co.ShortName;
37+
raw.("compiler_" + lang + "_version") = co.Version;
3238
end
3339
end
3440

41+
json = jsonencode(raw, "PrettyPrint", true);
42+
3543
end

0 commit comments

Comments
 (0)