View Source

h1. Situation
ProductA and componentA build independently as different projects. During build process of productA, build result of specified version of componentA should be retrieved and used. This specified version will not change even if componentA has a new version.

h1. Demonstration
# Visit [latest build of productA|http://demo.pmease.com/build/62.latest], and hover mouse over the dependencies link in the build summary section, and you will see that current build depends on version _1.0.10_ of componentA.
# Switch to [componentA|http://demo.pmease.com/overview/61], and click the run button to generate a new version of componentA.
# Switch back to [productA|http://demo.pmease.com/overview/62], and click the run button to build productA. When build finishes, examine dependency of the new build again, and it is still using version _1.0.10_ of componentA.

h1. Resolution
# Visit [repository setting of productA|http://demo.pmease.com/settings/62/repositories]. There are two repositories defined: _componentA_ and _productA_. Repository _productA_ is used to retrieve source code of productA from SCM, while repository _componentA_ is used to retrieve build result of componentA. Repository _componentA_ is defined to retrieve all published jars from version _1.0.10_ of componentA.
# Visit [step setting of productA|http://demo.pmease.com/settings/62/steps]. Two checkout steps are defined to checkout repository _productA_ and _componentA_ respectively.