comparison checkSbplib.m @ 139:6cf264b023b0

Added script to check all the code in a directory.
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 23 Feb 2016 14:21:52 +0100
parents
children 579c348244a0
comparison
equal deleted inserted replaced
138:344bde2f9d9b 139:6cf264b023b0
1 function [files,res] = checkSbplib()
2
3
4 files = collectTargets([]);
5
6 if nargout == 0
7 checkcode(files);
8 return
9 end
10
11 res = checkcode(files);
12
13 % Remove any empty respones
14 I = [];
15 for i = 1:length(res)
16 if isempty(res{i})
17 I(end+1) = i;
18 end
19 end
20
21 files(I) = [];
22 res(I) = [];
23 end
24
25 function targets = collectTargets(dirPath)
26 [mfiles, packages] = getFilesAndPackages(dirPath);
27
28 targets = {};
29 for i = 1:length(mfiles)
30 targets{i} = fullfile(dirPath, mfiles{i});
31 end
32
33 for i = 1:length(packages)
34 subtargets = collectTargets(fullfile(dirPath, packages{i}));
35 targets = [targets subtargets];
36 end
37 end
38
39 function [mfiles, packages] = getFilesAndPackages(dirPath)
40 if isempty(dirPath)
41 l = dir();
42 else
43 l = dir(dirPath);
44 end
45
46 packages = {};
47 mfiles = {};
48
49 for i = 1:length(l)
50 if l(i).isdir && l(i).name(1) == '+'
51 packages{end+1} = l(i).name;
52 elseif ~l(i).isdir && strcmp(l(i).name(end-1:end),'.m')
53 mfiles{end+1} = l(i).name;
54 end
55 end
56 end