You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Baerrach bonDierne (JIRA)" <ji...@codehaus.org> on 2007/01/02 06:05:10 UTC

[jira] Commented: (MRELEASE-145) release:prepare requires all modules to be SNAPSHOTS

    [ http://jira.codehaus.org/browse/MRELEASE-145?page=comments#action_83775 ] 
            
Baerrach bonDierne commented on MRELEASE-145:
---------------------------------------------

modules are a convenience so that you can issue the one maven command and have it applied to all module projects.

Once you use a module, you are saying "all these files must be released together".
If this is not correct, then you should not be using a module, just use a regular project with dependencies.

Therefore when you attempt to release your parent project it must be a snapshot version. Otherwise you would be overwriting an existing deployed version with the version you are about to release and this does not make sense.

> release:prepare requires all modules to be SNAPSHOTS
> ----------------------------------------------------
>
>                 Key: MRELEASE-145
>                 URL: http://jira.codehaus.org/browse/MRELEASE-145
>             Project: Maven 2.x Release Plugin
>          Issue Type: Improvement
>    Affects Versions: 2.0-beta-4
>            Reporter: Jörg Hohwiller
>
> 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).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira