From: <rya...@jb...> - 2005-05-19 16:24:36
|
Ok, so let me try to make this concrete to see if I understand. 1. Only direct dependencies are stored in the toplevel build (eg. jms1.1) 2. A developer can call the "materialize" target to traverse all the component-infos and generate a materialized-versions.xml. If there are conflicts, they will need to be resolved manually. This file is not source controlled, it is a product of the build. 3. Once conflicts are resolved, this file can then be copied to a source controlled file, versions.xml. This file effectively pegs components at specific versions. So usually, a developer will just check out this file and not worry about the above process. 4. We have an additional target "versions-report" which compares the materialized versions to the pegged versions. Cruisecontrol calls this at the end of each build and includes the results in the build email: Error: log4j is pegged at 1.2.8, but aop (1.0.2) is compatable with log4j 1.2.6, 1.2.7 or 1.2.9. Warning: log4j is pegged at 1.2.8, but cache (1.2.30), remoting (1.1.3) are also compatible with 1.2.9. So this emailed report would trigger the discussion and would then be resolved by a developer starting with step #1. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3878406#3878406 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3878406 |