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.
Environment/Instance Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
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. |
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 Deployment projects.
Attribute Name | Attribute Code | Required | Description |
---|---|---|---|
Target Path | TARGET | Yes | The path in MDS where the file should be placed. Default value is the SCM file path. |
Property Replacement | 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 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 objects
- Configure
/trunk/namespace
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.
- Configure
- 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
asMDS 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
.
- Make sure you only checkout
- 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
asMDS Base Object Path
, and all objects will be included in artifact jar file and it will have proper structure i.e.order/order.xsd
andcustomer/customer.xsd
.
- Use
- If you want only customer objects
- Use
MDS/namespace/customer
for sparse checkout folders and empty checkout folder. - Set
MDS/namespace
asMDS 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
.
- Use
- Configurations for sparse folder and checkout folder is done on Source Configurations for project and SCM plugins will automatically utilize that information.