/*******************************************************************************
*
* Copyright (c) 2004-2010, Oracle Corporation.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*
*
*
*
*******************************************************************************/
package hudson.tasks._ant;
import hudson.Extension;
import hudson.MarkupText;
import hudson.console.ConsoleNote;
import hudson.console.ConsoleAnnotationDescriptor;
import hudson.console.ConsoleAnnotator;
import java.util.regex.Pattern;
/**
* Marks the log line "TARGET:" that Ant uses to mark the beginning of the new
* target.
*
* @sine 1.349
*/
public final class AntTargetNote extends ConsoleNote {
public AntTargetNote() {
}
@Override
public ConsoleAnnotator annotate(Object context, MarkupText text, int charPos) {
// still under development. too early to put into production
if (!ENABLED) {
return null;
}
MarkupText.SubText t = text.findToken(Pattern.compile(".*(?=:)"));
if (t != null) {
t.addMarkup(0, t.length(), "<b class=ant-target>", "</b>");
}
return null;
}
@Extension
public static final class DescriptorImpl extends ConsoleAnnotationDescriptor {
public String getDisplayName() {
return "Ant targets";
}
}
public static boolean ENABLED = !Boolean.getBoolean(AntTargetNote.class.getName() + ".disabled");
}