padv.builtin.query.FindExternalCodeCache Class
Namespace: padv.builtin.query
Superclasses: padv.Query
, padv.builtin.query.FindArtifacts
Query for finding external code cache files in project folder
Description
The padv.builtin.query.FindExternalCodeCache
class provides a query that
can return the external code cache files (.slxc.bk
) in your project folder.
You can automatically include or exclude certain files by using
the optional name-value arguments.
You can use this query in your process model to find artifacts for your tasks to use as
inputs. For example, you can use this query to the find external code cache files that you
generate using the built-in task padv.builtin.task.GenerateCode
. The built-in task
padv.builtin.task.GenerateCode
generates an external code cache when you
specify the task property GenerateExternalCodeCache
as
true
. To unpack the code generation target from the cache files, you can
use the utility function padv.util.unpackExternalCodeCache
.
The padv.builtin.query.FindExternalCodeCache
class is a handle
class.
Creation
Description
creates a query for finding the external code cache files (query
= padv.builtin.query.FindExternalCodeCache().slxc.bk
) in
your project folder.
specifies a new name, query
= padv.builtin.query.FindExternalCodeCache(Name = queryName
)queryName
, for the query object. Each query in
the process model must have a unique name.
The padv.builtin.query.FindExternalCodeCache
class also has other properties, but you cannot set
those properties during query creation.
Input Arguments
Unique identifier for query, specified as a string.
This argument specifies the value for the Name
property.
Example: "FindMyExternalCodeCache"
Data Types: string
Properties
Type of artifact, specified as one or more of the values in this table. To specify multiple values, use a cell array.
Category | Artifact Type | Description |
---|---|---|
MATLAB® | "m_class" | MATLAB class |
"m_file" | MATLAB file | |
"m_func" | MATLAB function | |
"m_method" | MATLAB class method | |
"m_property" | MATLAB class property | |
Model Advisor | "ma_config_file" | Model Advisor configuration file |
"ma_justification_file" | Model Advisor justification file | |
Model Finder | "mf_database" | Model Finder database file |
Process Advisor | "padv_dep_artifacts" | Related artifacts that current artifact depends on |
"padv_output_file" | Process Advisor output file | |
Project | "project" | Current project file |
Requirements | "mwreq_file" | Requirement file (since R2024b) |
"mwreq_item" | Requirement (since R2024b) | |
| Requirement (for R2024a and earlier) | |
"sl_req_file" | Requirement file (for R2024a and earlier) | |
"sl_req_table" | Requirements Table | |
Stateflow® | "sf_chart" | Stateflow chart |
"sf_graphical_fcn" | Stateflow graphical function | |
"sf_group" | Stateflow group | |
"sf_state" | Stateflow state | |
"sf_state_transition_chart" | Stateflow state transition chart | |
"sf_truth_table" | Stateflow truth table | |
Simulink® | "sl_block_diagram" | Block diagram |
"sl_data_dictionary_file" | Data dictionary file | |
"sl_embedded_matlab_fcn" | MATLAB function | |
"sl_block_diagram" | Block diagram | |
"sl_library_file" | Library file | |
"sl_model_file" | Simulink model file | |
"sl_protected_model_file" | Protected Simulink model file | |
"sl_subsystem" | Subsystem | |
"sl_subsystem_file" | Subsystem file | |
System Composer™ | "zc_block_diagram" | System Composer architecture |
"zc_component" | System Composer architecture component | |
"zc_file" | System Composer architecture file | |
Tests | "harness_info_file" | Harness info file |
"sl_harness_block_diagram" | Harness block diagram | |
"sl_harness_file" | Test harness file | |
"sl_test_case" | Simulink Test™ case | |
"sl_test_case_result" | Simulink Test case result | |
"sl_test_file" | Simulink Test file | |
"sl_test_iteration" | Simulink Test iteration | |
"sl_test_iteration_result" | Simulink Test iteration result | |
"sl_test_report_file" | Simulink Test result report | |
"sl_test_result_file" | Simulink Test result file | |
"sl_test_resultset" | Simulink Test result set | |
"sl_test_seq" | Test Sequence | |
"sl_test_suite" | Simulink Test suite | |
"sl_test_suite_result" | Simulink Test suite result |
Example: "slxc_bak_file"
Find artifacts with specific project label, specified as a cell array where the first entry is the project label category and the second entry is the project label name.
Example: {"Classification","Design"}
Data Types: cell
Exclude artifacts with specific project label, specified as a cell array where the first entry is the project label category and the second entry is the project label name.
Example: {"Classification","Design"}
Data Types: cell
Find artifacts where the path matches a regular expression pattern, specified as a
character vector or string. IncludePathRegex
expects
UNIX®-style path separators.
If you want to use a literal path, use IncludePath
instead. You
can specify either IncludePath
or
IncludePathRegex
but not both.
Example: "modelNamePrefix_.*\.slxc.bk"
Data Types: char
| string
Exclude artifacts where the path matches a regular expression pattern, specified as
a string or a character vector. ExcludePathRegex
expects UNIX-style path separators.
If you want to use a literal path, use ExcludePath
instead. You
can specify either ExcludePath
or
ExcludePathRegex
but not both.
Example: "modelNamePrefix_.*\.slxc.bk"
Data Types: char
| string
Filter out sub-file artifacts from query results, specified as a numeric or logical
1
(true
) or 0
(false
).
A sub-file is a part of a larger file. For example, a subsystem is a sub-file of a model file.
Example: false
Data Types: logical
Include only artifacts that have been added to the current open project or
referenced projects, specified as a numeric or logical 1
(true
) or 0
(false
).
Note
If you specify InProject
as true
, you
cannot use the query as an input query.
Example: true
Data Types: logical
Include only artifacts that have been added to the current open project, specified
as a numeric or logical 1
(true
) or
0
(false
).
Note
If you specify InCurrentProject
as true
,
you cannot use the query as an input query.
Note
For R2025a, this functionality will be available in a future release of the support package.
Example: true
Data Types: logical
Query title, specified as a string or a character vector.
Example: "Find my external code cache files"
Data Types: string
Default artifact type returned by the query, specified as one or more of the values in this table. To specify multiple values, use an array.
Category | Artifact Type | Description |
---|---|---|
MATLAB | "m_class" | MATLAB class |
"m_file" | MATLAB file | |
"m_func" | MATLAB function | |
"m_method" | MATLAB class method | |
"m_property" | MATLAB class property | |
Model Advisor | "ma_config_file" | Model Advisor configuration file |
"ma_justification_file" | Model Advisor justification file | |
Model Finder | "mf_database" | Model Finder database file |
Process Advisor | "padv_dep_artifacts" | Related artifacts that current artifact depends on |
"padv_output_file" | Process Advisor output file | |
Project | "project" | Current project file |
Requirements | "mwreq_file" | Requirement file (since R2024b) |
"mwreq_item" | Requirement (since R2024b) | |
| Requirement (for R2024a and earlier) | |
"sl_req_file" | Requirement file (for R2024a and earlier) | |
"sl_req_table" | Requirements Table | |
Stateflow | "sf_chart" | Stateflow chart |
"sf_graphical_fcn" | Stateflow graphical function | |
"sf_group" | Stateflow group | |
"sf_state" | Stateflow state | |
"sf_state_transition_chart" | Stateflow state transition chart | |
"sf_truth_table" | Stateflow truth table | |
Simulink | "sl_block_diagram" | Block diagram |
"sl_data_dictionary_file" | Data dictionary file | |
"sl_embedded_matlab_fcn" | MATLAB function | |
"sl_block_diagram" | Block diagram | |
"sl_library_file" | Library file | |
"sl_model_file" | Simulink model file | |
"sl_protected_model_file" | Protected Simulink model file | |
"sl_subsystem" | Subsystem | |
"sl_subsystem_file" | Subsystem file | |
System Composer | "zc_block_diagram" | System Composer architecture |
"zc_component" | System Composer architecture component | |
"zc_file" | System Composer architecture file | |
Tests | "harness_info_file" | Harness info file |
"sl_harness_block_diagram" | Harness block diagram | |
"sl_harness_file" | Test harness file | |
"sl_test_case" | Simulink Test case | |
"sl_test_case_result" | Simulink Test case result | |
"sl_test_file" | Simulink Test file | |
"sl_test_iteration" | Simulink Test iteration | |
"sl_test_iteration_result" | Simulink Test iteration result | |
"sl_test_report_file" | Simulink Test result report | |
"sl_test_result_file" | Simulink Test result file | |
"sl_test_resultset" | Simulink Test result set | |
"sl_test_seq" | Test Sequence | |
"sl_test_suite" | Simulink Test suite | |
"sl_test_suite_result" | Simulink Test suite result |
Example: "slxc_bak_file"
You cannot use FindExternalCodeCache
as an iteration query, so the
build system does not use the parent
query.
Unique identifier for query, specified as a string.
Example: "FindMyExternalCodeCache"
Data Types: string
Show file extensions in the Alias
property of returned
artifacts, specified as a numeric or logical 1
(true
) or 0
(false
). The
Alias
property controls the display name for the artifact in the
Tasks column in Process Advisor.
By default, queries strip file extensions from the Alias
property of each task iteration artifact. To show file extensions for
all artifacts in the
Tasks column, select the project setting Show file
extensions. To keep file extensions in the results for a specific query,
specify the query property ShowFileExtension
as
true
.
Example: true
Data Types: logical
Setting for automatically sorting artifacts by address, specified as a numeric or
logical 1
(true
) or 0
(false
). When a query returns artifacts, the artifacts should be in
a consistent order. By default, the build system sorts artifacts by the artifact
address.
Alternatively, you can sort artifacts in a different order by overriding the
internal sortArtifacts
method in a subclass that defines a custom sort
behavior. For an example, see Sort Artifacts in Specific Order.
The build system automatically calls the sortArtifacts
method when
using the process model. The sortArtifacts
method expects two input
arguments: a padv.Query
object and a list of
padv.Artifact
objects returned by the run
method.
The sortArtifacts
method should return a list of sorted
padv.Artifact
objects.
Example: SortArtifacts = false
Data Types: logical
Handle to the function that a function-based query
runs, specified as
a function_handle
.
If you define your query functionality inside a function and you or the build system
call run
on the query, the query runs the function specified by the
function_handle
.
The built-in queries are defined inside classes and do not use the
FunctionHandle
.
Example: FunctionHandle = @FunctionForQuery
Data Types: function_handle
Methods
This class overrides the following inherited methods.
run | Run query to find the artifacts that meet the criteria specified by the query. The query returns a Note You do not need to manually invoke this method inside your process
model. The build system automatically invokes the
The function artifacts = run(obj,~) ... end |
Examples
You can use the FindExternalCodeCache
query in your
task definition to find and unpack external code cache files. For example, suppose your
team generates code in parallel by generating an external code cache, downstream tasks
that depend on the generated code need to unpack the generated code target before
performing the main task action. If you have a custom task that depends on that generated
code, you can find the external code cache files by using the built-in query
FindExternalCodeCache
and unpack the code generation target by using the
utility function padv.util.unpackExternalCodeCache
.
Inside your task definition,
you can find external code cache files by creating and running a
FindExternalCodeCache
query object. For
example:
% Before main task action, access the generated code % by finding and unpacking the external code cache q = padv.builtin.query.FindExternalCodeCache; artifactsArray = run(q); if ~isempty(artifactsArray) padv.util.unpackExternalCodeCache(artifactsArray) end % <definition for main task action that uses the generated code>
For more information about parallel code generation and external code caches, see
the GenerateExternalCodeCache property for the built-in task
padv.builtin.task.GenerateCode
. The external code cache allows your
team to generate code in parallel while maintaining up-to-date task results.
Although you typically use a query inside your process model, you can
run an instance of the FindExternalCodeCache
query outside of your process
model to confirm which artifacts the query returns.
Open the parallel code generation example.
processAdvisorParallelExampleStart
Generate code by running a code generation task iteration. For example, run the code
generation task on the reference model
OuterLoop_Control
.
runprocess(Tasks = "padv.builtin.task.GenerateCode", ... FilterArtifact = fullfile("02_Models","OuterLoop_Control", ... "specification","OuterLoop_Control.slx"));
Find the external code cache file by using the built-in query.
q = padv.builtin.query.FindExternalCodeCache; artifactsArray = run(q);
Unpack the cache file.
padv.util.unpackExternalCodeCache(artifactsArray);
Capabilities and Limitations
This table identifies functionality that is supported by the query.
Functionality | Supported? |
---|---|
Input query for task | Yes. |
Iteration query for task | No. |
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)