You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Benson Margulies (JIRA)" <ji...@codehaus.org> on 2014/03/05 02:34:01 UTC
[jira] (MRELEASE-263) Interactive plugins cannot work in forked
executions
[ https://jira.codehaus.org/browse/MRELEASE-263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benson Margulies updated MRELEASE-263:
--------------------------------------
Fix Version/s: (was: 2.5)
Backlog
> Interactive plugins cannot work in forked executions
> ----------------------------------------------------
>
> Key: MRELEASE-263
> URL: https://jira.codehaus.org/browse/MRELEASE-263
> Project: Maven Release Plugin
> Issue Type: Bug
> Components: prepare
> Affects Versions: 2.0-beta-6
> Reporter: Daniel Kulp
> Priority: Critical
> Fix For: Backlog
>
>
> 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 was sent by Atlassian JIRA
(v6.1.6#6162)