Uploaded image for project: 'Maven Release Plugin'
  1. Maven Release Plugin
  2. MRELEASE-209

Snapshot versions are not restored correctly on next development version

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 2.0-beta-4, 2.0-beta-5
    • 2.0-beta-5
    • None
    • None

    Description

      On a multiproject build, snapshot version are not restored correctly in a multiproject build.

      for example if module1 depends on module2-1.0-SNAPSHOT (both modules are part of the same reactor build) this is the initial dependency:

      <dependency>
      <groupId>test</groupId>
      <artifactId>module2</artifactId>
      <version>1.0-SNAPSHOT</version>
      </dependency>

      during the rewrite pom for release phase the dependency will be correctly updated to module2-2.0

      <dependency>
      <groupId>test</groupId>
      <artifactId>module2</artifactId>
      <version>2.0</version>
      </dependency>

      but after updating poms for the next development version the version stay as is.

      <dependency>
      <groupId>test</groupId>
      <artifactId>module2</artifactId>
      <version>2.0</version>
      </dependency>

      while it should be upgraded to 2.0-SNAPSHOT

      The problem is still in the current svn version, although all the tests for RewritePomsForDevelopmentPhase work correctly: the problem is that RewritePomsForDevelopmentPhase expects to update version from <release version> to snapshot, but the RewritePomsForReleasePhase DON'T change the versions in the loaded projects. Poms are updated as described, but at the end of the "rewrite for release" phase the version seen by the plugin is still the original one (1.0-SNAPSHOT for the example above).

      This means that rewrite works correctly if phases are tested alone (and, in a real scenario, if you kill maven in between of the release steps and restart it, so that it can re-read poms), but it don't work correctly when poms are rewritten more than once in the same run.

      The problem can be verified by looking at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase:updateDomVersion()
      where the check
      if ( version.equals( originalVersion ) )
      fails on a full run of the release plugin

      Attachments

        Activity

          People

            evenisse Emmanuel Venisse
            fgiust Fabrizio Giustina
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: