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

release:prepare requires all modules to be SNAPSHOTS

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0-beta-4
    • 2.0-beta-5
    • None
    • None

    Description

      The biggest need for the maven-release-plugin is in complex projects with a lot of modules (that may again have modules). If I do not get it wrong, the current released version forces all modules to be snapshots and releases them individually. This is completely useless in my situation because in the end this forces me to release alle modules together for every change that is to be released and more or less causes that all modules have the same version number. When I call mvn replease:prepare on my toplevel project this is no snapshot, it fails with this error:
      The project <groupId>:<artifactId> isn't a snapshot (<version>).

      I would expect release:prepare to leave non SNAPSHOT modules untouched (and only verify that they do not have SNAPSHOT dependencies, what should never be the case if the version is no snapshot).
      All reactor projects that have a "-SNAPHSOT" version should be released and theier project-internal dependencies should also be set to the acording released version (and later be set to the new SNAPSHOT).
      Additionally I want to have the complete project to be tagged as a whole instead of each module. This could potentially be configureable (especially which directory is actually tagged, e.g. if the toplevel project is not in trunk/ but somewhere deeper say trunk/develop because other directories in trunk are huge but do not need to be checked out by every developer but need to be tagged).

      I personally think that the best flexibility and final freedom would be to split off the release:prepare goal into 3 goals:
      -create release version(s)
      -create tag(s)
      -update to snapshot version(s)

      These goals could be used individually and one could add some custom steps or replace one with something else.

      For creating the snapshot versions there is also the problem, that you do not know right away which project will be modified when in the future. The coolest thing would be if this would happen automatically when the first change is commited to the module. But this is of cause not praticable in reality (maybe if all commits would be done with maven).

      Attachments

        Activity

          People

            evenisse Emmanuel Venisse
            joerg.hohwiller@sdm.de Jörg Hohwiller
            Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: