-
Notifications
You must be signed in to change notification settings - Fork 3
/
buildfile.m
50 lines (39 loc) · 1.53 KB
/
buildfile.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
function plan = buildfile
import matlab.buildtool.Task
import matlab.buildtool.tasks.CodeIssuesTask
import matlab.buildtool.tasks.TestTask
import matlab.buildtool.tasks.PcodeTask
import matlab.unittest.Verbosity
% Create a plan with no tasks
plan = buildplan;
plan("check") = CodeIssuesTask(...
Results='results.sarif', ...
ErrorThreshold=0,...
WarningThreshold=0);
plan("updateSGdeps") = Task( ...
Description = "Update Speedgoat toolbox dependencies", ...
Actions = @(~) updateSGdeps,...
Outputs = "toolbox/dependencies/sg/**");
plan("test") = Task( ...
Description = "Run unit tests", ...
Dependencies = ["updateSGdeps","pcodeBossapi"],...
Actions = @(~) testTask);
plan("buildDoc") = Task( ...
Description = "Build HTML doc from sources", ...
Actions = @(~) buildDoc,...
Inputs = 'docSource/**/*.mlx',...
Outputs = "toolbox/html/**/*.html");
plan("pcodeBossapi") = PcodeTask(...
"toolbox/dependencies/+bossapi","toolbox/dependencies/+bossapi",...
Description = "pcode bossapi");
plan("cleanupMfiles") = Task( ...
Description = "Clean up m-files after pcoding", ...
Actions = @(~) cleanupMfiles("toolbox/dependencies/+bossapi"),...
Dependencies = "pcodeBossapi");
plan("package") = Task( ...
Description = "Package toolbox", ...
Dependencies = ["check" "updateSGdeps" "test" "buildDoc" "pcodeBossapi" "cleanupMfiles"], ...
Actions = @(~,toolboxVer,authorName) releaseTask(toolboxVer,authorName));
% Set default tasks in the plan
plan.DefaultTasks = ["check" "test"];
end