Solution Dependencies
Your solution may not be a comprehensive monolith, but instead use entities defined in other solutions or extensions. Like the solution identifier fields, these must have the same values declared in multiple locations.
Dependency Declaration in Extension 
The ExtensionPackage entity has a dependsOn attribute that contains a semicolon-delimited list of extension identifiers, of the form extensionName:extensionVersion.
To ensure correct installation and entity management in ThingWorx, all dependencies—whether a legacy extension or another packaged solution—should be declared here as extension dependencies. These extension dependencies use the actual names of the extensions, not the group IDs and artifact IDs.
Dependency Declaration in Solution JSON 
A solution JSON contains a list element for dependencies, which each use the solution IDs, rather than names of the dependencies:
dependencies: [
{
"groupId" : "my.group.id",
"artifactId" : "example",
"version" : "1.0.1",
}, {
"groupId": "another.group",
"artifactId": "sample",
"version": "3.6.9"
}, {
"groupId": "legacy",
"artifactId": "nonsolution",
"version": "1.2.1"
}
]
Legacy extensions that do not contain a project are identified by "groupId": "legacy", "artifactId: "<extensionName>".
Dependency Declaration in Project 
The project entity has a dependsOn field which contains a simple encoded JSON document.
{
"extensions" : "name:1.0,delimited_by_commas:3.1.4",
"projects": "anotherSolution:2.1"
}
Each value is a comma-delimited list of identifiers, where an identifier is name:version. Quotation marks (") should be replaced with &quot. For example:
dependsOn="{&quot;extensions&quot;:&quot;&quot;,&quot;projects&quot;:&quot;BuildingBlock3:1.0.0,BuildingBlock1:1.0.1&quot;}"
When possible, projects should depend on other projects, even when those projects are packaged into extensions. Project and extension dependencies should be reserved for legacy extensions, which were created outside of the solution workflow.
Project dependencies are recommended to aid navigation but are not strictly required for your solution to work, nor for features like one-click deploy.
Once this solution is created, you can publish it to Solution Central using the necessary API. Refer to the Publish the Solution topic for details.
Was this helpful?