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's groupId and artifactId 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:

  1. 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>

     

  2. All dependencies have to be of net.pricefx.accelerators group. 

  3. All dependencies have to be of the provided scope (a default scope).

  4. 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

Type

Description

stepRef

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 

Attribute Name

Description

Example

Mandatory 

type

Has to be set to the "stepRef" value.

"type": "stepRef"

true

name

Unique name of the step in the process.

"name": "unique1"

true

dependencyName

Must be equal to an "artifactId" attribute of the Maven dependency.

"dependencyName": "dep-1"

true

stepNames

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

fromStep

Name of the step from which (this step included) steps should be added.

"fromStep": "step1"

false

toStep

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