Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

MATLAB ビルド ツールの概要

R2022b 以降

MATLAB® ビルド ツールは、タスクを一様かつ効率的に作成および実行するための標準のプログラミング インターフェイスが用意されているビルド システムです。たとえば、プロジェクト ルート フォルダー内の 1 つのビルド ファイルに、コードの問題を特定するタスク、テストを実行するタスク、およびツールボックスをパッケージ化するタスクを作成し、ビルド ツールを呼び出してこれらのタスクを実行できます。

タスクを含む計画の作成

プロジェクトのビルドを定義するには、プロジェクトのルート フォルダーにビルド ファイルを作成します。ビルド ファイルは、タスクを含む計画を作成する関数ファイルです。計画内の各タスクはビルド内の単一の作業単位を表し、以下の 3 つの基本的な特性をもちます。

  • 名前 — タスクの名前は計画内のタスクを一意的に識別します。

  • 依存関係 — タスクの依存関係は、タスクの実行前に実行する必要がある、計画内の他のタスクです。

  • アクション — タスクのアクションは、タスクの実行時に実行される関数を定義します。

計画を作成するには、ビルドファイルの main 関数に関数呼び出し buildplan(localfunctions) を含めます。次に、組み込みタスク クラスまたはローカル タスク関数を使用して、タスクを計画に追加します。

  • 組み込みタスク クラス — main 関数で、matlab.buildtool.tasks パッケージ内のクラスからタスクを作成し、計画に追加します。これらのクラスは、ビルド要件に合わせてカスタマイズした一般的なタスクを作成する柔軟性を提供します。

  • ローカル タスク関数 — ローカル タスク関数では、組み込みタスク クラスでは使用できないタスクの名前、オプションの説明、およびアクションを指定します。タスク関数はビルド ファイル内のローカル関数であり、その名前は単語 "Task" (大文字と小文字は区別されない) で終わります。

たとえば、現在のフォルダーに、3 つのタスクを含む buildfile.m という名前のビルド ファイルを作成します。組み込みタスク クラスを使用して "check" タスクと "test" タスクを作成し、ローカル タスク関数を使用して "archive" タスクを作成します。

function plan = buildfile
import matlab.buildtool.tasks.CodeIssuesTask
import matlab.buildtool.tasks.TestTask

% Create a plan from task functions
plan = buildplan(localfunctions);

% Add a task to identify code issues
plan("check") = CodeIssuesTask;

% Add a task to run tests
plan("test") = TestTask;

% Make the "archive" task the default task in the plan
plan.DefaultTasks = "archive";

% Make the "archive" task dependent on the "check" and "test" tasks
plan("archive").Dependencies = ["check" "test"];
end

function archiveTask(~)
% Create ZIP file
filename = "source_" + ...
    string(datetime("now",Format="yyyyMMdd'T'HHmmss"));
zip(filename,"*")
end

ビルド ファイルの作成方法の詳細については、Create and Run Tasks Using Build Toolを参照してください。

計画内のタスクの実行

buildtool コマンドまたは matlab.buildtool.Plan クラスの run メソッドのいずれかを使用して計画内のタスクを実行できます。

  • buildtool コマンド — このコマンドを使用して、現在のフォルダーまたはその親フォルダー内のファイル buildfile.m で定義されているタスクを実行します。コマンド buildtool -tasks を使用して計画内のタスクのリストを表示することもできます。ファイル buildfile.m の外部で計画を作成または変更した場合、またはビルドの結果にプログラムでアクセスする場合は、buildtool を使用しないでください。

  • run メソッド — 現在のフォルダーまたはその親フォルダー内のファイル buildfile.m の外部で計画を作成または変更した場合、またはビルドの結果にプログラムでアクセスする場合は、このメソッドを使用します。このメソッドは matlab.buildtool.BuildResult オブジェクトを返します。このオブジェクトには、ビルドおよびビルドの一部だった各タスクに関する情報が含まれます。

タスクを実行するために、ビルド ランナーはまずそのすべての依存関係を実行してから、対応する Task オブジェクトの Actions プロパティに表示される順序でタスクのアクションを実行します。

たとえば、現在のフォルダー内のファイル buildfile.m で作成された計画内の既定のタスクを実行します。ビルド ツールはまず "check" タスクおよび "test" タスクを実行します。これは、"archive" タスクがそれらのタスクに依存しているためです。現在のフォルダーおよびそのサブフォルダーに含まれているファイルによって結果は異なることがあります。

buildtool
** Starting check
Analysis Summary:
    Total Files: 3
         Errors: 0 (Threshold: 0)
       Warnings: 0 (Threshold: Inf)
** Finished check

** Starting test
...

Test Summary:
    Total Tests: 3
         Passed: 3
         Failed: 0
     Incomplete: 0
       Duration: 0.13274 seconds testing time.
                 
** Finished test

** Starting archive
** Finished archive

参考

関数

名前空間

関連するトピック