Key: |
QB-1156
|
Type: |
New Feature
|
Status: |
Resolved
|
Resolution: |
Fixed
|
Priority: |
Major
|
Assignee: |
Unassigned
|
Reporter: |
Robin Shen
|
Votes: |
2
|
Watchers: |
2
|
If you were logged in you would be able to see more operations.
|
|
|
QuickBuild
Created: 01/Dec/11 11:53 PM
Updated: 27/Feb/13 01:03 PM
|
|
Component/s: |
None
|
Affects Version/s: |
4.0.17
|
Fix Version/s: |
5.0.8
|
|
Original Estimate:
|
Unknown
|
Remaining Estimate:
|
Unknown
|
Time Spent:
|
Unknown
|
|
Do I understand it correctly, that any pom.xml analysis has been dropped and has never got resurrected? Is there a chance to have it back? Otherwise the whole CI idea stops making sense for our maven-pom-based-huge-dependency-tree projects, as if an updated library snapshot does not trigger re-building all the gazillion applications which depend on this snapshot, automatic CI just stops working, as one needs to 1) know, which apps depend on which lib, 2) go through all of them and click "run" to trigger re-building. And, "no", referencing repositories to watch and trigger the build on commit won't work either. Neither does scheduled builds, just because of too many projects and interdependencies. Jenkins has this very proper pom-based dependency analysis which works very well. Having this in QB would be amazing too.
|
Description
|
Do I understand it correctly, that any pom.xml analysis has been dropped and has never got resurrected? Is there a chance to have it back? Otherwise the whole CI idea stops making sense for our maven-pom-based-huge-dependency-tree projects, as if an updated library snapshot does not trigger re-building all the gazillion applications which depend on this snapshot, automatic CI just stops working, as one needs to 1) know, which apps depend on which lib, 2) go through all of them and click "run" to trigger re-building. And, "no", referencing repositories to watch and trigger the build on commit won't work either. Neither does scheduled builds, just because of too many projects and interdependencies. Jenkins has this very proper pom-based dependency analysis which works very well. Having this in QB would be amazing too. |
Show » |
|
Or, a similar but even simplier way: when project A is built, by inspecting the POM we know the set of maven dependencies it have, e.g. groupB:projB:1.0-SNAPSHOT. For each configuration built by Maven, we stored the last "GAV"s contained in that configuration. We simply make project A depends on configurations with matching GAVs of its dependencies, and wait until all dependent configuration finish building. Of course, once project B is built, we should also allow trigger build of all projects that depends on GAVs of project B. (Compared to previous suggest it may be not as smart in detecting version change but it will still work)
One more thing is to provide some "profile" or "maven space", so that dependencies are checked only for configurations assigned in the same "maven space".
Of course it is just something very very rough and need a lot of further polishing, but at least it looks like something fit with design of QB and is feasible.