Skip to content
Andrei Pozolotin edited this page Mar 3, 2013 · 1 revision

Jeff Vincent

To release a given artifact, some things that need to happen:

  1. For each direct dependency having a "SNAPSHOT" version.
  2. Find the associated Jenkins Job matching Maven coordinates {groupId:artifactId:version}
  3. If no job exists - Halt process
  4. else recursively build list of jobs

Build Reactor:

  • Multi-tier
  • Top Tier : top-level project being released
  • 2nd Tier : Direct Dependencies
  • 3rd Tier : First level transitive dependencies
  • ...
  • Nth Tier : Nth level transitive dependencies.
  • Reactor standard Maven release process for artifacts starting at Nth Tier, then working up to Top Tier
  • Top Tier may be the only tier that requires new cascading release functionality
  • Trigger Jenkins Jobs for releases instead of simply invoking the maven command in the workspace.
  • ?? Should it wait for Tier N to complete before releasing Tier N-1 ??
  • I think it has to, so that tier N-1 can be updated with Tier N's newly released version - @jjongsma

Questions/comments:

  • How to query Jenkins for a list of jobs with Maven coordinate information?
  • How to programmatically trigger the Jenkins "M2 Release Plugin" for dependencies?
Clone this wiki locally