Set up Passive Dependency

Version 1 by Robin Shen
on Dec 24, 2009 08:09.


 
compared with
Current by Robin Shen
on Aug 17, 2010 09:27.


 
Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 2 changes. View first change.

 h1. Situation
 ComponentA and productA build independently as different projects. During build process of ProductA , build result of latest version of componentA should be retrieved and used.
  
 h1. Demonstration
 # Visit the demo project [productA|http://demo.pmease.com/build/59.latest/]. Hover mouse over the dependencies link in the build summary section, and you will see that current build of productA depends on most recent version of componentA.
 # Switch to [componentA|http://demo.pmease.com/build/58.latest/], and click the run button to generate a new version of componentA.
 # Switch back to [productA|http://demo.pmease.com/build/59.latest/], and click the run button to build productA. When the new build finishes, examine its dependency again, and it is now dependent on the newly generated version of componentA.
  # Visit [latest build of productA|http://demo.pmease.com/build/59:latest]. Hover mouse over the dependencies link in the build summary section, and you will see that current build of productA depends on most recent version of componentA.
 # Switch to [componentA|http://demo.pmease.com/dashboard/58], and click the run button to generate a new version of componentA.
 # Switch back to [productA|http://demo.pmease.com/dashboard/59], and click the run button to build productA. When the new build finishes, examine its dependency again, and it is now dependent on the newly generated version of componentA.
  
 h1. Resolution
 # Visit [repositories definition of productA|http://demo.pmease.com/setting/repositories/59/]. There are two repositories defined: _component-a_ and _product-a_. Repository _product-a_ is used to retrieve source code of productA from SCM, while repository _component-a_ is used to retrieve build result of componentA. Repository _component-a_ is defined to retrieve all published jars from latest build of componentA.
 # Visit [step definitions of productA|http://demo.pmease.com/setting/steps/execution/59/]. Two checkout steps are defined to checkout repository _product-a_ and _component-a_ respectively.
  # Visit [repository setting of productA|http://demo.pmease.com/settings/59/repositories]. There are two repositories defined: _component-a_ and _product-a_. Repository _product-a_ is used to retrieve source code of productA from SCM, while repository _component-a_ is used to retrieve build result of componentA. Repository _component-a_ is defined to retrieve all published jars from latest build of componentA.
 # Visit [step setting of productA|http://demo.pmease.com/settings/59/steps]. Two checkout steps are defined to checkout repository _product-a_ and _component-a_ respectively.