mdsBuild
Generates an artifact jar (MDSObjects.jar
) from exported code. You must 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 have folder structure as per exported code, checkout folder & project properties configuration, see project properties section for more details. When artifact is deployed, it will be deployed under specific namespace configured on Project properties.
There are no special requirements for the Endpoint where this operation will execute.
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.Ā
Project Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
MDS Base Object Path |
| No | The relative directory path from where MDS objects will be included in artifact. If you want all files from configured Project Sources including checkout folder, then you can leave this property empty. See Special Considerations below for more details. |
Project File Attributes
The following properties are Project File Attributes. They are only available on Package-Based Deployment projects.
Attribute Name | Attribute Code | Required | Description |
---|---|---|---|
Target Path |
| Yes | The path in MDS where the file should be placed. Default value is the SCM file path. |
Property Replacement |
| Yes | Whether or not to perform property replacement 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 delegates endpoint selection to the workflow developer. The workflow editor will default the selection to "All", which selects all available endpoints associated to the Target.
Selecting a specific resource will result in selection of endpoints associated to the Target which have that resource defined.
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:
Git Example
Git Folder structure
/MDS/apps/order/order.xsd
/MDS/apps/customer/customer.xsd
If you want both of the objects
Use "
MDS/apps
" for sparse checkout folder script. You can use anything for checkout folder script.Use
apps
for MDS Name Space.Leave MDS Base Object Path as empty and all objects will be included in artifact jar file, and it will have proper structure i.e.
order/order.xsd
Ā andcustomer/customer.xsd
.At deploy time both files will deploy to
apps
folder.This option should work for partial deployment project as well.
If you want only customer objects
Use "
MDS/apps/customer
" for sparse checkout folder script. You can use anything for checkout folder script.Leave MDS Base Object Path as empty.
So, we have only checked out objects necessary for our project.
Use
apps/customer
for MDS Name Space.
Configurations for sparse folder and checkout folder is done on Source Configurations for project and SCM plugins will automatically utilize that information.
Subversion Example
For SCM other than Git and CVS, it is best to setup MDS Base Object Path to indicate what is included in the artifact in accordance with checkout folder setting.
Subversion Folder structure
/trunk/apps/order/order.xsd
/trunk/apps/customer/customer.xsd
If you want both objects
Configure
/trunk/apps
on Project Source.Option 1
Set Checkout folder and MDS Base Object Path set to Project Name.
Option 2
Do not set anything for Checkout folder and MDS Base Object Path.
For both options, both objects will be included in artifact jar file, and it will have proper structure i.e.
order/order.xsd
Ā andcustomer/customer.xsd
.Configure namespace on Project Properties as apps.
If you want only customer objects
Make sure you only checkout
/trunk/apps/customer
Ā folder only as we are only interested in customer objects here.Use
apps/customer
Ā as checkout folder as we still want to maintain structure of objects.Set
apps
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
.Configure namespace on Project Properties as apps.
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.
- style