compiler.build.productionServerArchive

Create an archive for deployment to MATLAB Production Server

Description

example

compiler.build.productionServerArchive(FunctionFiles) creates a deployable archive using the MATLAB® functions specified by FunctionFiles.

example

compiler.build.productionServerArchive(FunctionFiles,Name,Value) creates a deployable archive with additional options specified as one or more name-value pairs. Options include the archive name, JSON function signatures, and output directory.

example

compiler.build.productionServerArchive(opts) creates a deployable archive with options specified by a compiler.build.ProductionServerArchiveOptions object opts. You cannot specify any other options using name-value pairs.

example

results = compiler.build.productionServerArchive(___) returns build information as a compiler.build.Results object using any of the input arguments in previous syntaxes. Build information includes the build type, the path to the compiled archive, and build options.

Examples

collapse all

Create a deployable server archive on a Windows® operating system.

Write a MATLAB function that generates a magic square. Save the function in a file named mymagic.m.

% mymagic.m
function out = mymagic(in)

if ischar(in)
    in=str2double(in);
end
out = magic(in)

Build a production server archive using the compiler.build.productionServerArchive command.

compiler.build.productionServerArchive('mymagic.m');

This syntax generates the following files within a folder named mymagicproductionServerArchive in your current working directory:

  • mymagic.ctf—Deployable production server archive file.

  • mccExcludedFiles.log—Log file that contains a list of any toolbox functions that were not included in the application. For more information on non-supported functions, see MATLAB Compiler Limitations.

  • readme.txt—Readme file that contains information on deployment prerequisites and the list of files to package for deployment.

  • requiredMCRProducts.txt—Text file that contains product IDs of products required by MATLAB Runtime to run the application.

Customize a production server archive using name-value pairs on a Windows system.

Build a production server archive using the compiler.build.productionServerArchive command.

compiler.build.productionServerArchive(["mymagic.m","myfunc.m"],...
    'ArchiveName','MagicApp',...
    'FunctionSignatures','signatures.json',)

Customize multiple production server archives using a compiler.build.ProductionServerArchiveOptions (MATLAB Production Server) object on a Windows system to specify a common output directory, disable automatically including data files, and enable build verbosity.

Create a ProductionServerArchiveOptions object.

opts = compiler.build.ProductionServerArchiveOptions('example.m',...    
    'OutputDir','D:\Documents\MATLAB\work\ProductionServerBatch',...
    'AutoDetectDataFiles','Off',...
    'Verbose','on');
opts = 

  ProductionServerArchiveOptions with properties:

            ArchiveName: 'example'
          FunctionFiles: {'D:\Documents\MATLAB\work\example.m'}
     FunctionSignatures: ''
        AdditionalFiles: {}
    AutoDetectDataFiles: off
                Verbose: on
              OutputDir: 'D:\Documents\MATLAB\work\ProductionServerBatch'

Pass the ProductionServerArchiveOptions object as an input to the build function.

compiler.build.productionServerArchive(opts);

You can modify property values of an existing ProductionServerArchiveOptions object using dot notation. For example, change the input file to example2.m.

opts.FunctionFiles = 'example2.m';

This allows you to compile multiple archives using the same options object.

Create a production server archive and save the build type, path to the archive file, and build options to a compiler.build.Results object.

Save the compiler.build.productionServerArchive information to a Results object by declaring an output variable.

results = compiler.build.productionServerArchive('mymagic.m')
results = 

  Results with properties:

            BuildType: 'productionServerArchive'
                Files: 'D:\Documents\MATLAB\work\mymagicproductionServerArchive\mymagic.ctf'
              Options: [1×1 compiler.build.ProductionServerArchiveOptions]

Input Arguments

collapse all

List of files implementing MATLAB functions, specified as a character vector, a string scalar, a string array, or a cell array of character vectors. File paths can be relative to the current working directory or absolute. Files must have a .m extension.

Example: ["myfunc1.m","myfunc2.m"]

Data Types: char | string | cell

Production server archive build options, specified as a compiler.build.ProductionServerArchiveOptions (MATLAB Production Server) object.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: 'Verbose','on'

Name of the generated production server archive, specified as a character vector or a string scalar. The default value is the first file listed in the FunctionFiles argument.

Example: 'ArchiveName','MyMagic'

Data Types: char | string

Automatically include data files, specified as 'on' or 'off', or as numeric or logical 1 (true) or 0 (false). A value of 'on' is equivalent to true, and 'off' is equivalent to false. Thus, you can use the value of this property as a logical value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState.

  • If you set this property to 'on', then data files that are provided as inputs to certain functions (load, fopen, etc) are automatically included with the production server archive.

  • If you set this property to 'off', then data files must be added to the application using the AdditionalFiles property.

Example: 'AutoDetectDataFiles','Off'

Data Types: logical

Path to a JSON file that details the JSON signatures of all functions listed in FunctionFiles. For information on how to specify function signatures, see MATLAB Function Signatures in JSON (MATLAB Production Server).

Example: 'FunctionSignatures','D:\Documents\MATLAB\work\magicapp\signatures.json'

Data Types: char | string

Path to the folder where the production server archive files are saved, specified as a character vector or a string scalar. The path can be relative to the current working directory or absolute.

If no path is specified, a build folder is created in the current working directory with the name ArchiveNameproductionServerArchive.

Example: 'OutputDir','D:\Documents\MATLAB\work\MyMagicproductionServerArchive'

Data Types: char | string

Build verbosity, specified as 'on' or 'off', or as numeric or logical 1 (true) or 0 (false). A value of 'on' is equivalent to true, and 'off' is equivalent to false. Thus, you can use the value of this property as a logical value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState.

  • If you set this property to 'on', then the MATLAB Command Window displays progress information indicating code generation stages and compiler output during the build process.

  • If you set this property to 'off', then the command window does not display progress information.

Example: 'Verbose','Off'

Data Types: logical

Output Arguments

collapse all

Build results, returned as a compiler.build.Results object. The Results object contains the build type ('productionServerArchive'), the path to the deployable archive file (.ctf), and the build options, specified as a ProductionServerArchiveOptions object.

See Also

(MATLAB Production Server)

Introduced in R2020b