Hi Jan,
The DITA Open Toolkit uses ANT to build docs. This is a question that comes up
occasionally on the DITA Users forum.
A number of document CMS products use the DITA Open Toolkit, so a large number
of Technical Authors can potentially see this message.
If it could be suppressed, I'm sure a lot of folks would be highly delighted.
Many thanks,
David
> I thought using a custom Logger could solve your problem.
> That logger would simply supress special messages.
>
> But after failing tests I searched for that message:
> Locator.getToolsJar() prints directly to SYSO:
>
> public static File getToolsJar() {
> ... try to find tools.jar
> if (!toolsJar.exists()) {
> System.out.println("Unable to locate tools.jar. "
> + "Expected to find it in " + toolsJar.getPath());
> return null;
> }
>
> This method is called by the Launcher very early in the startup process,
> where all logging goes directly to STDOUT because the logging framework is
> not initialized yet.
>
>
> With that finding these possibilities come to my mind:
> - pimp your Ant: overwrite the Locator class (copy and delete all syso-logs)
> and place that before the Ant jars.
> - filter STDOUT: instead using an AntLogger doing the filtering, you have to
> do it somewhere else between Ant and your tool.
> - enhance Ant: we introduce an additional if statement which evaluates System
> properties (e.g. "ant -Dsuppress-tools-warning=true")
> if (!toolsJar.exists()) {
> if (!aVerySpecialSystemPropertyIsSet()) {
> System.out.println("Unable to locate tools.jar. "
> + "Expected to find it in " + toolsJar.getPath());
> }
> return null;
> }
>
>
>
> Jan
>
>
>
>
>
>
>
> import org.apache.tools.ant.*;
>
> public class NoToolsWarningLogger extends DefaultLogger {
>
> public static final String IGNORE_MSG_PATTERN = "Unable to locate
> tools.jar.";
>
> public void messageLogged(BuildEvent event) {
> String msg = event.getMessage();
> if (!msg.contains(IGNORE_MSG_PATTERN)) {
> super.messageLogged(event);
> } else {
> System.out.println("tools-message suppressed");
> }
> }
>
> }
>
>> -----Ursprüngliche Nachricht-----
>> Von: Earl Hood [mailto:[email protected]]
>> Gesendet: Dienstag, 28. April 2015 07:38
>> An: Ant Users List
>> Betreff: Re: tools.jar not found
>>
>> On Tue, Apr 28, 2015 at 12:12 AM, Jan Matèrne (jhm) wrote:
>>
>>> Ant is a build tool. For some tasks (for example javac, javadoc) the
>>> tools from the Java _Development_ Kit are required.
>>> If you run with just a Java _Runtime_ Environment most of its tasks
>>> could be used, but not all - hence the warning.
>>
>> It would be really nice if that warning can be suppressed.
>>
>> I work on a project where Ant is used (under-the-hood), but only the
>> JRE is required. Ant tasks used do not require the JDK. We have to
>> include in the user documentation that the "tools.jar" message can be
>> ignored, but we still on occassion get a user asking about it.
>>
>> --ewh
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]