[
https://jira.codehaus.org/browse/MRELEASE-263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Scholte updated MRELEASE-263:
------------------------------------
Fix Version/s: (was: 2.3)
2.4
Just to clearify this issue a bit:
The release plugin has 2 {{MavenExecutors}}: The {{ForkedMavenExecutor}} (with
id {{forked-path}} and the {{InvokerMavenExecutor}} (the default and with id
{{invoker}}). The first one seems to run fine, the latter can hang when it
requires input.
Although the title mentions a _forked_ execution, it doesn't refer to the
{{ForkedMavenExecutor}}, but to the {{InvokerMavenExecutor}}.
Pushing this forward to 2.4
> Interactive plugins cannot work in forked executions
> ----------------------------------------------------
>
> Key: MRELEASE-263
> URL: https://jira.codehaus.org/browse/MRELEASE-263
> Project: Maven 2.x Release Plugin
> Issue Type: Bug
> Components: prepare
> Affects Versions: 2.0-beta-6
> Reporter: Daniel Kulp
> Priority: Critical
> Fix For: 2.4
>
>
> I was looking into the problems with the GPG plugin when run from the
> release plugin and the problems seem to entirely be problems of the
> release plugin and Plexus utils. They are showing up in the gpg
> plugin, but any plugin that tries to do anything interactively would
> most likely run into the same problems.
> Issues:
> 1) System.in - the release manager doesn't feed anything from System.in
> into the forked process. I tried adding System.in to the
> CommandLineUtils.executeCommandLine call, but that just causes a hang.
> CommandLineUtils will wait until the "in" stream is completely consumed
> (returns -1) before returning. With System.in, that never will happen.
> 2) Buffered(line style) out - the StreamPumpers use
> BufferedInputStream.readLine() to pump from one stream to the other.
> This won't work. Anything that does something (like the release plugin
> itself) that prompts and then waits for a response on the same line will
> appear to just "hang" as the prompt will never make it to the screen.
> Basically, those two issues completely prevent us from being able to
> un-hard code GPG passphrases from build scripts and such. (unless you
> set gpg.useagent to true and use an agent)
> In anycase, MGPG-9 is really a release plugin bug although part of it is
> due to plexus-utils not providing the support it would need to work
> properly. Most likely, we'll need to add a method in CommandLineUtils
> that would just take the raw streams (in/out/err) and do straight byte
> copy reads without the line buffering. (and once the process
> completely, stop pumping the in stream) (of course, that would then
> require another plexus-utils release and then the release plugin would
> only work with Maven 2.0.6+ with the utils shaded, but that may be
> minor) I'll poke around more and see if I can come up with something.
--
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