Re: Version management in a Maven CI environment
Manfred Moser wrote: > > What about using dependency management in a parent pom? > I'm not sure I understand what you're suggesting. Do you mean all dependency versions are provided by a common parent POM? Doesn't that present the problem of needing to constantly release the parent POM which would in turn force all projects to update their referenced parent version? This would be compounded if you have deep POM inheritance. Manfred Moser wrote: > > Depending on your scm strategy e.g. trunk moves straight to the next > snapshot, release branch gets separate CI setup.. > > Of course depending on your CI server and SCM things around this idea > might vary.. > We have tried a few approaches here, including branch and then release from branch, while trunk maintains Snapshot. While this works, it still requires updating of the snapshot dependency versions. I was hoping to find the "Maven-way" documented somewhere. One of the main strengths of Maven is its predictable process but it's lighter on details than I would like when it comes to fitting it into a typical CI release cycle. In other words, it's not as simple as "mvn release:prepare", "mvn release:perform". Since it's not that simple, documentation of a real SCM-integrated, CI process seems to be necessary. -- View this message in context: http://maven.40175.n5.nabble.com/Version-management-in-a-Maven-CI-environment-tp4694136p4702766.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Version management in a Maven CI environment
My organization has been using Maven and CI for a few years now. Although we have a process in place that works for us, it has always been difficult to come up with a successful approach to dependency version management in Maven at release-time. We use the release plugin extensively, are familiar with the version plugin and use them both in an attempt to automate the process as much as possible but I feel that our approach may not be a "best-practice". The Sonatype CI best practices blog post was very helpful but I think it was light on details regarding dependency version handling. The two areas I feel we have the clunkiest processes are: 1. When a component is released, we don't have a good way to automatically update dependent projects that need a corresponding snapshot version reference update. What is the recommended Maven best practice for synchronizing snapshot dependencies in a complex dependency tree? For us this requires an awareness of the dependencies and manual notification and maintenance. 2. Just prior to release time, we have snapshot dependencies. What is the recommended Maven best practice for transitioning those references to released versions while still maintaining proper continuous integration of trunk source changes to the dependencies? In other words where does CI go when we fix our dependency references around release time? We want to avoid any concept of code-freeze around these times. -- View this message in context: http://maven.40175.n5.nabble.com/Version-management-in-a-Maven-CI-environment-tp4694136p4694136.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Dependency analysis through wars
For now, my plan is to : 1. Build the DependencyNode tree with the maven DependencyTreeBuilder for the top-level POM 2. Traverse the tree and find each war Node 3. Serialize the node tree to disk 4. Separately run the dependency node serializer on each of the war projects found in step 2. 5. Deserialize all of the separate trees and assemble an aggregate dependency node tree. I'll wait to see if I'm missing some sort of filter configuration that's simply chucking out war dependency results, but I have a suspicion that Maven just doesn't resolve transitive war dependencies and that it would take a lot of work to make it do so. -- View this message in context: http://old.nabble.com/Dependency-analysis-through-wars-tp28672012p28674916.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Dependency analysis through wars
I don't think I can do that easily since that would require rebuilding and redeploying the modified projects as the new packaging type. Maybe I could fetch all of the dependency POMs with something like go-offline and modify them in my local repository? Yuck. I hope there is a nicer way, but I'll consider this if there are no alternatives. I'm thinking that modifying the existing dependency plugin tree builder code might be a better solution. Wayne Fay wrote: > >> at various levels are war type projects. The dependency plugin appears >> to >> stop at war projects as if they have no dependencies of their own. Does >> anyone have suggestions as to how I can build a full dependency tree, > > Could you temporarily change the packaging to "jar" for those war > projects, just to get past the issue so you could complete your > analysis, and then change them back? > > Wayne > > - > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > > > -- View this message in context: http://old.nabble.com/Dependency-analysis-through-wars-tp28672012p28672240.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Dependency analysis through wars
I'm trying to perform an analysis of the entire dependency tree for a large set of projects with deep transitive dependencies. Some of the dependencies at various levels are war type projects. The dependency plugin appears to stop at war projects as if they have no dependencies of their own. Does anyone have suggestions as to how I can build a full dependency tree, including war dependencies and their transitive dependencies? I'm not opposed to building a custom plugin, but advice regarding how it should be done would be very welcome. Thanks. -- View this message in context: http://old.nabble.com/Dependency-analysis-through-wars-tp28672012p28672012.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org