mdsBuild

Generates an artifact jar of checked out objects for deployment. You should checkout or export code from SCM prior to running this operation. Checkout or Export can be easily done if you configure project with Source details.

Generated MDSObjects.jar artifact file will not have namespace folder at root, but when it is deployed it will still be deployed under specific namespace configured on Project properties.

There are no special requirements for the Endpoint where this operation will execute.

As of plugin version 4.5.1.8, this operation also supports partial build.  Partial build creates a build artifact containing file(s) and folder(s) selected on the Project Files tab of a project. When using partial build, the plugin will generate a zip file named {{FD_PROJECT_NAME}}.zip . Note that the structure of this file will match the folder structure from SCM, even if the TARGET attribute is set to a different path. This is so the user can easily change the target and redeploy to MDS to update the file path inside of MDS without having to rebuild the entire project. 

Environment/Instance Properties

Property Name

Property Code

Required

Description





Project Properties

Property Name

Property Code

Required

Description

MDS Base Object Path

FDMDS_BASE_OBJ_DIR

No

The relative directory path from where MDS objects will be included in artifact. If you want all files from configured Project Sources, then you can leave this property empty.

Inputs

Input Name

Input Code

Required

Description





Outputs

Output Name

Required

Description




Project File Attributes

The following properties are Project File Attributes. They are only available on Partial Deploy projects.

Attribute Name

Attribute Code

Required

Description

Target PathTARGET

Yes

The path in MDS where the file should be placed. Default value is the SCM file path.

Property ReplacementPROPERTY_REPLACEMENTYes

Whether or not to perform property replacemeent on individual files. Defaults to the value of FDMDS_PROPERTY_REPLACEMENT. 

The target path should not contain the namespace folder, however, if the target path starts with the namespace, the plugin will ignore the namespace on the beginning of the target path. For example, if FDMDS_NAME_SPACE is "apps", and the target path is /Schemas/customer.xsd, the path inside of MDS will be /apps/Schemas/customer.xsd. 

Artifacts

This operation produces a jar or zip file that contains a variety of objects that will be stored in the artifacts repository, such as an xsd, xslt or wsdl.

Endpoint Selection

This operation will select all available endpoints associated to the environment/instance.

Endpoint Execution

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

Special Considerations

If your MDS objects are in separate SCM folders, then everything will be easy to build and deploy, but if you have one single SCM folder, but would like to create more than one FlexDeploy projects, you need to utilize MDS Base Object Path and Checkout Folder to control what gets included in artifacts jar file. For example:

Subversion Example

  • Subversion Folder structure
    • /trunk/namespace/order/order.xsd
    • /trunk/namespace/customer/customer.xsd
  • If you want both of the objects
    • Configure /trunk/namespace on Project Source.
    • No need to set anything for MDS Base Object Path and all objects will be included in artifact jar file and it will have proper structure i.e. order/order.xsd and customer/customer.xsd.
    • Configure namespace on Project Properties.
  • If you want only customer objects
    • Make sure you only checkout /trunk/namespace/customer folder only as we are only interested in customer objects here.
    • Use namespace/customer as checkout folder as we still want to maintain structure of objects.
    • Set namespace as MDS Base Object Path.
    • So we have only checked out objects necessary for our project, so only customer folder related objects will be included in artifact jar file, but it will still have proper structure, i.e. customer/customer.xsd.
  • Configurations for what should be checked out and checkout folder is done on Source Configurations for project and SCM plugins will automatically utilize that information.

Git Example

  • Git Folder structure
    • /MDS/namespace/order/order.xsd
    • /MDS/namespace/customer/customer.xsd
  • If you want both of the objects
    • Use MDS for sparse checkout folders and empty checkout folder.
    • Set MDS/namespace  as MDS Base Object Path, and all objects will be included in artifact jar file and it will have proper structure i.e. order/order.xsd and customer/customer.xsd.
  • If you want only customer objects
    • Use MDS/namespace/customer for sparse checkout folders and empty checkout folder.
    • Set MDS/namespace  as MDS Base Object Path.
    • So we have only checked out objects necessary for our project, so only customer folder related objects will be included in artifact jar file, but it will still have proper structure, i.e. customer/customer.xsd.
  • Configurations for sparse folder and checkout folder is done on Source Configurations for project and SCM plugins will automatically utilize that information.