You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Stanislav Tyurikov (JIRA)" <ji...@codehaus.org> on 2012/08/08 15:30:21 UTC

[jira] (MNG-5323) Add ability to interrupt a build with SUCCESS status from maven plugins.

Stanislav Tyurikov created MNG-5323:
---------------------------------------

             Summary: Add ability to interrupt a build with SUCCESS status from maven plugins.
                 Key: MNG-5323
                 URL: https://jira.codehaus.org/browse/MNG-5323
             Project: Maven 2 & 3
          Issue Type: Improvement
          Components: General, Plugin API
    Affects Versions: 3.0.5
         Environment: any
            Reporter: Stanislav Tyurikov
            Priority: Critical


Add ability to successfully finish a build from maven plugin. It can help to create maven plugins for build optimization. Currently we can interrupt a build only to fail it (by throwing an exception from the execute method of a mojo).

This functionality can be easily implemented by adding BuildSuccessException to the maven core and modifying LifecycleModuleBuilder and DefaultBuildPluginManager to process this exception and finish the build as succeed. Any custom maven plugin can throw BuildSuccessException to indicate the build is OK and no further steps are needed to be executed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MNG-5323) Add ability to interrupt a build with SUCCESS status from maven plugins.

Posted by "Stanislav Tyurikov (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306606#comment-306606 ] 

Stanislav Tyurikov commented on MNG-5323:
-----------------------------------------

Hi Olivier,
There is a multi-module maven project with 30 modules. Each module's build takes about 2 min (with test execution, static code analysis and so on). Whole project build takes 1 hour - it is too long to produce "fast feedback". A commit usually modifies 2-3 modules in my case. So the best way is to rebuild only changed modules and modules that depends on them. I want to create a maven plug-in which checks source code and dependencies of a module for modifications using checksums (MD5, SHA, etc) to determine neediness of the module rebuild. If no sources were changed, no dependencies were changed and module artifact is already in the local repository, then no rebuild of the module required. It can dramatically reduce time of the total build in many cases. But it looks like there is no standard way to terminate module's build with SUCCESS status. 

                
> Add ability to interrupt a build with SUCCESS status from maven plugins.
> ------------------------------------------------------------------------
>
>                 Key: MNG-5323
>                 URL: https://jira.codehaus.org/browse/MNG-5323
>             Project: Maven 2 & 3
>          Issue Type: Improvement
>          Components: General, Plugin API
>    Affects Versions: 3.0.5
>         Environment: any
>            Reporter: Stanislav Tyurikov
>            Priority: Critical
>         Attachments: build_succeed_exception.patch
>
>
> Add ability to successfully finish a build from maven plugin. It can help to create maven plugins for build optimization. Currently we can interrupt a build only to fail it (by throwing an exception from the execute method of a mojo).
> This functionality can be easily implemented by adding BuildSuccessException to the maven core and modifying LifecycleModuleBuilder and DefaultBuildPluginManager to process this exception and finish the build as succeed. Any custom maven plugin can throw BuildSuccessException to indicate the build is OK and no further steps are needed to be executed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MNG-5323) Add ability to interrupt a build with SUCCESS status from maven plugins.

Posted by "Valentin Baranov (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316253#comment-316253 ] 

Valentin Baranov commented on MNG-5323:
---------------------------------------

Hello.
What status does this ticket have?
Can we expect it to be resolved?
                
> Add ability to interrupt a build with SUCCESS status from maven plugins.
> ------------------------------------------------------------------------
>
>                 Key: MNG-5323
>                 URL: https://jira.codehaus.org/browse/MNG-5323
>             Project: Maven 2 & 3
>          Issue Type: Improvement
>          Components: General, Plugin API
>    Affects Versions: 3.1.x
>         Environment: any
>            Reporter: Stanislav Tyurikov
>            Priority: Critical
>         Attachments: build_succeed_exception.patch
>
>
> Add ability to successfully finish a build from maven plugin. It can help to create maven plugins for build optimization. Currently we can interrupt a build only to fail it (by throwing an exception from the execute method of a mojo).
> This functionality can be easily implemented by adding BuildSuccessException to the maven core and modifying LifecycleModuleBuilder and DefaultBuildPluginManager to process this exception and finish the build as succeed. Any custom maven plugin can throw BuildSuccessException to indicate the build is OK and no further steps are needed to be executed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MNG-5323) Add ability to interrupt a build with SUCCESS status from maven plugins.

Posted by "Gregor B. Rosenauer (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=308079#comment-308079 ] 

Gregor B. Rosenauer commented on MNG-5323:
------------------------------------------

I thought maven would already do that if you don't supply the "clean" option..? Shouldn't this be handled by the Plexus container itself, instead of controlling the build process from the plugin? Seems like the tail wagging the dog to me...
                
> Add ability to interrupt a build with SUCCESS status from maven plugins.
> ------------------------------------------------------------------------
>
>                 Key: MNG-5323
>                 URL: https://jira.codehaus.org/browse/MNG-5323
>             Project: Maven 2 & 3
>          Issue Type: Improvement
>          Components: General, Plugin API
>    Affects Versions: 3.0.5
>         Environment: any
>            Reporter: Stanislav Tyurikov
>            Priority: Critical
>         Attachments: build_succeed_exception.patch
>
>
> Add ability to successfully finish a build from maven plugin. It can help to create maven plugins for build optimization. Currently we can interrupt a build only to fail it (by throwing an exception from the execute method of a mojo).
> This functionality can be easily implemented by adding BuildSuccessException to the maven core and modifying LifecycleModuleBuilder and DefaultBuildPluginManager to process this exception and finish the build as succeed. Any custom maven plugin can throw BuildSuccessException to indicate the build is OK and no further steps are needed to be executed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MNG-5323) Add ability to interrupt a build with SUCCESS status from maven plugins.

Posted by "Stanislav Tyurikov (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=308082#comment-308082 ] 

Stanislav Tyurikov commented on MNG-5323:
-----------------------------------------

Gregor, thank you for reply.

>> I thought maven would already do that if you don't supply the "clean" option..?
If you have A.java and B.java on the first build, then you delete A.java and run the second build without "clean", A.class and B.class will be exist in result jar. A.class wouldn't be deleted because of no "clean" was performed. This is wrong. Only B.class must exist.

>> Shouldn't this be handled by the Plexus container itself, instead of controlling the build process from the plugin? 
May be... but isn't it looks as complete API to have ways to finish build with different results? I can interrupt a build from a my plugin to mark it as failed, why can't I do this to say "build is ok"?

                
> Add ability to interrupt a build with SUCCESS status from maven plugins.
> ------------------------------------------------------------------------
>
>                 Key: MNG-5323
>                 URL: https://jira.codehaus.org/browse/MNG-5323
>             Project: Maven 2 & 3
>          Issue Type: Improvement
>          Components: General, Plugin API
>    Affects Versions: 3.0.5
>         Environment: any
>            Reporter: Stanislav Tyurikov
>            Priority: Critical
>         Attachments: build_succeed_exception.patch
>
>
> Add ability to successfully finish a build from maven plugin. It can help to create maven plugins for build optimization. Currently we can interrupt a build only to fail it (by throwing an exception from the execute method of a mojo).
> This functionality can be easily implemented by adding BuildSuccessException to the maven core and modifying LifecycleModuleBuilder and DefaultBuildPluginManager to process this exception and finish the build as succeed. Any custom maven plugin can throw BuildSuccessException to indicate the build is OK and no further steps are needed to be executed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MNG-5323) Add ability to interrupt a build with SUCCESS status from maven plugins.

Posted by "Stanislav Tyurikov (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MNG-5323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stanislav Tyurikov updated MNG-5323:
------------------------------------

    Attachment: build_succeed_exception.patch

A whip up patch demonstrated the idea is attached. 
                
> Add ability to interrupt a build with SUCCESS status from maven plugins.
> ------------------------------------------------------------------------
>
>                 Key: MNG-5323
>                 URL: https://jira.codehaus.org/browse/MNG-5323
>             Project: Maven 2 & 3
>          Issue Type: Improvement
>          Components: General, Plugin API
>    Affects Versions: 3.0.5
>         Environment: any
>            Reporter: Stanislav Tyurikov
>            Priority: Critical
>         Attachments: build_succeed_exception.patch
>
>
> Add ability to successfully finish a build from maven plugin. It can help to create maven plugins for build optimization. Currently we can interrupt a build only to fail it (by throwing an exception from the execute method of a mojo).
> This functionality can be easily implemented by adding BuildSuccessException to the maven core and modifying LifecycleModuleBuilder and DefaultBuildPluginManager to process this exception and finish the build as succeed. Any custom maven plugin can throw BuildSuccessException to indicate the build is OK and no further steps are needed to be executed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MNG-5323) Add ability to interrupt a build with SUCCESS status from maven plugins.

Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306601#comment-306601 ] 

Olivier Lamy commented on MNG-5323:
-----------------------------------

what is your use case ?
                
> Add ability to interrupt a build with SUCCESS status from maven plugins.
> ------------------------------------------------------------------------
>
>                 Key: MNG-5323
>                 URL: https://jira.codehaus.org/browse/MNG-5323
>             Project: Maven 2 & 3
>          Issue Type: Improvement
>          Components: General, Plugin API
>    Affects Versions: 3.0.5
>         Environment: any
>            Reporter: Stanislav Tyurikov
>            Priority: Critical
>         Attachments: build_succeed_exception.patch
>
>
> Add ability to successfully finish a build from maven plugin. It can help to create maven plugins for build optimization. Currently we can interrupt a build only to fail it (by throwing an exception from the execute method of a mojo).
> This functionality can be easily implemented by adding BuildSuccessException to the maven core and modifying LifecycleModuleBuilder and DefaultBuildPluginManager to process this exception and finish the build as succeed. Any custom maven plugin can throw BuildSuccessException to indicate the build is OK and no further steps are needed to be executed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira