Transactions support
--------------------

                 Key: MNG-4539
                 URL: http://jira.codehaus.org/browse/MNG-4539
             Project: Maven 2 & 3
          Issue Type: New Feature
            Reporter: Johannes Schneider


In an ideal world, every action Maven takes had transaction support. 
Some problems I run into regularly:
- Deploying/installing a multi module project: 
   - But one module fails (of course one of the last) and I end up with an 
inconsistent repository.
   - Deployment takes ages: Inconsistent repository for a couple of minutes (or 
hours).
- Release: 
   - Tagging of the central source repository and upload of the artifacts are 
not done synchronously.
   - If anything fails (typically site generation/deployment), the source and 
artifacts repositories are inconsistent.
   - Cleaning up after a failed release is not easy (or not possible --> 
Subversion).

Of course a staging repository could solve some of the issues. But I suggest to 
go one step further:
Create some sort of transaction support where actions may be added to. Once the 
transaction is finished, it is commited and all the actions are executed (e.g. 
uploading to the repository / tagging).
If one of the actions fails, a rollback is executed.

I think this should be possible for many cases. Subversion repositories won't 
support a "perfect" rollback mechanism. But the distributed VCS (e.g. Git) 
would. 
Uploading to the repository could support rollback either through cheap 
delete-on-rollback or better some special handling in relation to repository 
managers like Nexus. Maybe WebDAV supports transactions?

--> For many use cases at least some sort of "cheap" transaction support with 
faked rollback stuff could work. But for other environments (DCVS + Nexus) 
there could be first class support...



-- 
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

        

Reply via email to