Ok, I thought I had this working, but it turns out I didn't. What I want to know is how do you share Maven artifacts between plans.
Here's my setup:
Project A
- has a single stage, with a single task, a Maven 3.x task with the goal "clean verify --batch-mode".
- produces a Maven artifact - projectA.jar. This is not explictly shared by any action on my part.
Project B
- the top-level pom declares a dependencyManagement on projectA; a submodule has the actual dependency
- has the "Automatic dependency management" flag enabled on the Dependencies tab
- has a single stage
- which has a Maven Dependencies Processor task
- and a Maven 3.x task with the goal "clean verify --batch-mode"
- the Maven Dependencies Tab for the project does indeed declare that there is a dependency.
But - when I go to build project B, it doesn't do anything with that dependency. I was expecting it to download the projectA jar (for the appropriate branch), but there's nothing, so the build fails.
I can make it pass by making Project A do an 'install' instead of a 'verify' - but that only passes until the next time the ElasticBamboo restarts. Also, it doesn't work for branches - the install is a "last in wins" approach.
So here's the question:
* Is it possible to automatically share the maven-produced artifacts, without relying on the results of the install task?
* If so, what am I doing wrong with the above?