Package Dependencies
Packages can be composed together. One package can have multiple packages defined as dependencies and use their logic. Only one level hierarchy is supported at the moment (dependencies of dependencies are not supported).Â
Package Dependencies can be specified in two places: the pom.xml file (deprecated) and in the steps.json file.
steps.json
To add a package as a dependency:
List the package as a Maven dependency.Â
Dependencies in steps.json example
{
"properties": {
...
},
"dependencies": [
{
"uniqueName": "net.pricefx.accelerators:qa-dependency-test-accelerator",
"version": "LATEST-RELEASED"
}
],
"steps": [
...
]
}
Â
Each dependency must have two fields:
uniqueName
– Maven-like identification of the package. Identification consists of package'sgroupId
andartifactId
in this format:{groupId}:{artifactId}
version
– Three types of version definitions are supported:Direct version – For example: "1.0.2".Â
LATEST –  The package with the highest version in the repository.
LATEST-RELEASED – The latest published version of the dependency.
Maven version comparison is used for version ordering.
pom.xml (deprecated)
To add a package as a dependency:
List the package as a Maven dependency.Â
<dependencies> <dependency> <groupId>net.pricefx.accelerators</groupId> <artifactId>dep-1</artifactId> <version>[1.0-SNAPSHOT,)</version> </dependency> <dependency> <groupId>net.pricefx.accelerators</groupId> <artifactId>dep-2</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
Â
All dependencies have to be of
net.pricefx.accelerators
group.ÂAll dependencies have to be of the provided scope (a default scope).
Definition which steps of the dependency should be used is done by using a step with theÂ
stepRef
type.
Steps of dependencies do not affect each other (for example a deploy filter defined in a dependency does not affect a root package and vice versa).Â
Dependency Step ReferenceÂ
Type | Description |
---|---|
| Specifies steps of a dependency which should be used. |
Example:
{
"type": "stepRef",
"name": "name",
"dependencyName": "dep-1",
"stepNames": ["deploy-logic-dep-1"]
}
Â
Attribute Name | Description | Example | Mandatory |
---|---|---|---|
| Has to be set to the "stepRef" value. | "type": "stepRef" | true |
| Unique name of the step in the process. | "name": "unique1" | true |
| Must be equal to an "artifactId" attribute of the Maven dependency. | "dependencyName": "dep-1" | true |
| List of step names of the dependency which should be added to the process. If this attribute is set, the "fromStep" and "toStep" attributes are ignored. | "stepNames": ["step1", "step2"] | false |
| Name of the step from which (this step included) steps should be added. | "fromStep": "step1" | false |
| Name of the step to which (this step included) steps should be added. | "toStep": "step2" | false |
Deployment Result
After each package deployment (both successful or unsuccessful) a record is added to "deployedAccelerators" in the Price Parametres table with a simple JSON where each package has its own record (the last results, what was changed on a partition).
PlatformManager version 1.75.0