> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# buildOCC

> The buildOCC operation is a package based project build operation for use with FlexDeploy's package based deployment system. It gathers files from SCM

The buildOCC operation is a package-based project build operation for use with FlexDeploy's package-based deployment system. It gathers files from SCM or the cloud using DCU and prepares a package that can later be deployed by the deployOCC operation.

The SCM must have the .ccc folder checked into it. If there is a folder structure above the .ccc folder, use a sparse checkout folder or other means to populate and build correct packages.

# Target Properties

<table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>**Property Name**</th><th>**Property Code**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>OCC Account</td><td>`FDOCC_CLOUD_ACCOUNT_CODE`</td><td>Yes</td><td>The Oracle CX Commerce account with all the required properties like URL, App Key etc.The account will be different for each OCC environment.If building from SCM, this property won't be used in the build.</td></tr><tr><td>Node Executable Path</td><td>`FDOCC_NODE_PATH`</td><td>No</td><td>Paths to both node and npm packages (where the dcu/plsu executables are stored). Used in populate, build and deploy operations when provided. If not provided dcu and plsu commands must be on PATH.Windows example: *C:\Program Files\nodejs;C:\Users\developer\AppData\Roaming\npm*Unix example: */path/to/*[*node:/path/to/npm*](http://node/path/to/npm)</td></tr></tbody></table>

# Project Properties

<table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>**Property Name**</th><th>**Property Code**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>Object Types</td><td>`FDOCC_OBJECT_TYPES`</td><td>Yes</td><td>Choose which kinds of files should be populated in this FlexDeploy Project.GLOBAL\_ELEMENT,GLOBAL\_RESOURCE,SITE\_SETTINGS,SNIPPETS,STACK,STATIC,THEME,WIDGET,PAGE\_LAYOUTare all supported.</td></tr><tr><td>Project File Includes</td><td>`FD_PARTIAL_FILE_INCLUDES`</td><td>No</td><td>Controls files included in Project Files. Enter expressions separated by ##. Leave empty to select all files. Begin or end the expression with \* for simple wildcards. Otherwise, regex\
is used. (e.g. /widget/Account Addresses##/widget/Checkout\*##*Customer*##/static/.*\[tT]est.*.png)</td></tr><tr><td>Project File Excludes</td><td>`FD_PARTIAL_FILE_EXCLUDES`</td><td>No</td><td>Controls files excluded from Project Files. Enter expressions separated by ##. Leave empty to select all files. Begin or end the expression with \* for simple wildcards. Otherwise, regex\
is used. (e.g. /widget/Account Addresses##/widget/Checkout\*##*Customer*##/static/.*\[tT]est.*.png)</td></tr></tbody></table>

# Artifacts

This operation produces artifacts that will be stored in the artifacts repository.

# Endpoint Selection

This operation will select all available endpoints associated to the Target. You can add any endpoint to Target as this operation does not depend on any external libraries or utilities.

# Endpoint Execution

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.
