You can use a Codestation method to set the dependencies of a Build Life from a file-defined resolve and then add it to the client and CLI. File-defined dependencies, using an XML file, is supported for both historical resolves and transitive dependencies. Once your file is configured, you can have Codestation pull down the dependencies.
For more, go to Tools > Developer Tools > Codestation Client.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <project xmlns="http://www.urbancode.com/schema/cs/project-dependencies/1.0" name="Project_Name" workflow="Workflow_Name"> <dependencies> <dependency> <ah-project name="Dependency_Project" workflow="Dependency_Workflow"/> <criteria status="success"/> <delivery artifact-set="Libraries" transitive="true"> <directory>lib</directory> </delivery> <delivery artifact-set="Documentation" transitive="true"> <directory>docs</directory> </delivery> </dependency> <dependency> <cs-project name="3rd_Party_Project"/> <criteria status="approved"/> <delivery artifact-set="Libraries"> <directory>lib</directory> </delivery> </dependency> </dependencies> </project>
<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:tns="http://www.urbancode.com/schema/cs/project-dependencies/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.urbancode.com/schema/cs/project-dependencies/1.0"> <xs:complexType name="AnthillProjectInfo"> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="projectId" type="xs:long"/> <xs:attribute name="workflow" type="xs:string"/> <xs:attribute name="workflowId" type="xs:long"/> <xs:attribute name="profileId" type="xs:long"/> </xs:complexType> <xs:complexType name="CodestationProjectInfo"> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="projectId" type="xs:long"/> </xs:complexType> <xs:complexType name="Deliverables"> <xs:sequence> <xs:element name="delivery" type="tns:ArtifactDelivery" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="ArtifactDelivery"> <xs:sequence> <xs:element name="include" type="xs:string" maxOccurs="unbounded"/> <xs:element name="exclude" type="xs:string" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="artifact-set" type="xs:string" use="required"/> <xs:attribute name="directory" type="xs:string" use="required"/> <xs:attribute name="offset" type="xs:string"/> </xs:complexType> <xs:complexType name="ArtifactFilter"> <xs:all> <xs:element name="include" type="xs:string"/> <xs:element name="exclude" type="xs:string"/> </xs:all> </xs:complexType> <xs:simpleType name="DependencyConflictStrategy"> <xs:restriction base="xs:string"> <xs:enumeration value="FAIL"/> <xs:enumeration value="FAVOR_NEW"/> <xs:enumeration value="FAVOR_OLD"/> </xs:restriction> </xs:simpleType> <xs:complexType name="Dependencies"> <xs:sequence> <xs:element name="dependency" type="tns:Dependency" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="conflictStrategy" type="tns:DependencyConflictStrategy"/> </xs:complexType> <xs:complexType name="Dependency"> <xs:sequence> <xs:choice> <xs:element name="ah-project" type="tns:AnthillProjectInfo"/> <xs:element name="cs-project" type="tns:CodestationProjectInfo"/> </xs:choice> <xs:element name="criteria" type="tns:BuildLifeCriteria" minOccurs="0"/> <xs:element name="delivery" type="tns:DependencyDelivery" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="DependencyDelivery"> <xs:sequence> <xs:element name="directory" type="xs:string" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="artifact-set" type="xs:string" use="required"/> <xs:attribute name="transitive" type="xs:boolean"/> </xs:complexType> <xs:complexType name="BuildLifeCriteria"> <xs:attribute name="build-life-id" type="xs:long"/> <xs:attribute name="label" type="xs:string"/> <xs:attribute name="stamp" type="xs:string"/> <xs:attribute name="status" type="xs:string"/> </xs:complexType> <xs:element name="project"> <xs:complexType> <xs:sequence> <xs:element name="deliverables" type="tns:Deliverables" minOccurs="0"/> <xs:element name="dependencies" type="tns:Dependencies" minOccurs="0"/> </xs:sequence> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="projectId" type="xs:long"/> <xs:attribute name="workflow" type="xs:string"/> <xs:attribute name="workflowId" type="xs:long"/> <xs:attribute name="profileId" type="xs:long"/> </xs:complexType> </xs:element> </xs:schema>