JDK-5011295 : (apt doc) Messager always writes to standard error
  • Type: Bug
  • Component: tools
  • Sub-Component: apt
  • Affected Version: 5.0
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic
  • CPU: generic
  • Submitted: 2004-03-10
  • Updated: 2009-09-22
  • Resolved: 2009-09-22
Related Reports
Relates :  
Description
Seems like printNotice would not, but if they are meant to, then they can be a doc bug and maybe this fact can be noted.

Comments
EVALUATION The apt tool and its API have been deprecated as of JDK 7 (6381698). By default, issues with annotation processing will only be fixed in the standardized JSR 269 processing in javac as of JDK 6. In standardized annotation processing, the out parameter of JavaCompiler.getTask can be used to set the output to a user-defined Writer. Closing as will not fix.
22-09-2009

EVALUATION It's not the Messanger API that writes to stderr, it's the tool. The Messager API is used to transmit messages to the tool. It doesn't "know or care" which stream, if any, the tool sends them to. So... The correct places to document this information are both of: - the apt man page, which shouldn't mention the Messager API but should probably say that diagnostic messages go to stderr, and - the guide to writing annotation processors for apt. As to whether the tool should be using stderr instead of stdout for notices... Errors, warnings, and notices are of a kind and should all wind up in the same place by default. The programmatic interface to apt allows one to choose the particular writer to use. Finer control (errors here, warning there, ...) at the programmatic level might also be nice, but probably that should wait for JSR 199. ###@###.### 2004-03-10, updated 2004-04-23
10-03-2004