Overview of MATLAB Build Tool
The build tool provides a standard programming interface to create and run build tasks in a uniform and efficient way. For example, you can create tasks that identify code issues, run tests, and package a toolbox in a single build file in your project root folder, and then invoke the build tool to run these tasks.
Create Plan with Tasks
The recommended approach to defining a build is to create a build file with a main function and task functions. A build file creates a plan that contains the tasks. Each task in the plan represents a single unit of work in a build and has three fundamental characteristics:
Name — The name of a task uniquely identifies the task in the plan.
Dependencies — The dependencies of a task are other tasks in the plan that must run before the task runs.
Actions — The actions of a task define functions that execute when the task runs.
To create a plan with tasks using a build file, implement these functions in the build file:
Main function — Create a plan containing the tasks that correspond to the task functions with
buildplan(localfunctions). Additionally, you can specify any default tasks or task dependencies.
Task functions — Specify the name, optional description, and action of each task. Task functions are local functions in the build file whose names end with the word "Task", which is case insensitive.
For example, in your current folder, create the file
buildfile.m with a main function and three task
function plan = buildfile plan = buildplan(localfunctions); plan.DefaultTasks = "archive"; plan("archive").Dependencies = ["check" "test"]; end function checkTask(~) % Identify code issues issues = codeIssues; assert(isempty(issues.Issues),formattedDisplayText( ... issues.Issues(:,["Location" "Severity" "Description"]))) end function testTask(~) % Run unit tests results = runtests(IncludeSubfolders=true,OutputDetail="terse"); assertSuccess(results); end function archiveTask(~) % Create ZIP file zipFileName = "source_" + ... string(datetime("now",Format="yyyyMMdd'T'HHmmss")); zip(zipFileName,"*") end
For more information on how to create a build file, see Create and Run Tasks Using Build Tool.
Run Tasks in Plan
You can run the tasks in your plan with either the
buildtool command or the
method of the
buildtoolcommand — Use this command to run the tasks defined in the file
buildfile.min your current folder. You also can use the command
buildtool -tasksto list the tasks in your plan. Do not use
buildtoolif you create or modify your plan outside of the file
buildfile.min your current folder, or if you want to programmatically access the result of the build.
runmethod — Use this method if you create or modify your plan outside of the file
buildfile.min your current folder, or if you want to programmatically access the result of the build. The method returns a
matlab.buildtool.BuildResultobject, which includes information about the build as well as each task that was expected to run.
To run a task, the build runner first runs all its dependencies and then performs
actions of the task in the order they appear in the
property of the corresponding
For example, run the default task in the plan created by the file
buildfile.m in your current folder. The build tool first runs
"test" tasks because the
"archive" task depends on them. Your results might vary,
depending on the files contained in your current folder and its subfolders.
** Starting check ** Finished check ** Starting test ... ** Finished test ** Starting archive ** Finished archive