[ 
https://issues.apache.org/jira/browse/HADOOP-12479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14958977#comment-14958977
 ] 

Chris Nauroth commented on HADOOP-12479:
----------------------------------------

bq. That change to exec() doesn't break anything does it?

No, it's fine.  The only other caller is the {{VersionInfoMojo}}.  I chose to 
do the {{Exec}} change in a way that would be backward-compatible for 
{{VersionInfoMojo}}.  It's a new overload of the {{run}} method that captures 
stderr in a separate in/out variable.  Only {{ProtocMojo}} calls the new 
overload.  {{VersionInfoMojo}} still calls the old one.

An alternative would have been just to dump both stdout and stderr into the 
same in/out variable used by the existing {{run}} method.  That could have been 
dangerous, because {{VersionInfoMojo}} has specific expectations about the 
output, and dumping stderr on top of that could have harmed that logic.

Thanks for the review.  I'll commit later today.

> ProtocMojo does not log the reason for a protoc compilation failure.
> --------------------------------------------------------------------
>
>                 Key: HADOOP-12479
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12479
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: build
>            Reporter: Chris Nauroth
>            Assignee: Chris Nauroth
>            Priority: Minor
>         Attachments: HADOOP-12479.001.patch
>
>
> If protoc fails with a compilation error in the proto files, our Maven plugin 
> won't print the details.  The only way to figure it out is to repeat running 
> the {{protoc}} command manually from outside the Hadoop build.  This is 
> because our {{ProtocMojo}} only captures stdout from the {{protoc}} command, 
> and compilation errors get written to {{stderr}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to