Witam,
mam olbrzymi problem z obsługą własnego Check. Najpierw pobrałem Checkstyle do Eclipse i potworzyłem kilka przykładowych konfiguracji w eclipse i wszystko działa. Ale teraz chciałbym napisać własny Check, a właściwie sprawić żeby zadziałał. Wiem że jest sporo tutoriali ale w żadnym nie jest wyjaśnione to krok po kroku.
Mamy klasę roszerzającą Check:
import com.puppycrawl.tools.checkstyle.api.*;
public class MethodLimitCheck extends Check
{
private static final int DEFAULT_MAX = 30;
private int max = DEFAULT_MAX;
@Override
public int[] getDefaultTokens()
{
return new int[]{TokenTypes.CLASS_DEF, TokenTypes.INTERFACE_DEF};
}
@Override
public void visitToken(DetailAST ast)
{
// find the OBJBLOCK node below the CLASS_DEF/INTERFACE_DEF
DetailAST objBlock = ast.findFirstToken(TokenTypes.OBJBLOCK);
// count the number of direct children of the OBJBLOCK
// that are METHOD_DEFS
int methodDefs = objBlock.getChildCount(TokenTypes.METHOD_DEF);
// report error if limit is reached
if (methodDefs > this.max) {
log(ast.getLineNo(),
"too many methods, only " + this.max + " are allowed");
}
}
}
i od razu błędy przy importowaniu. Jak mam zaimportować com.puppycrawl.tools.checkstyle.api.*; ???
Potem trzeba coś pozmieniać w jakimś xml'u. Gdzie jest ten xml na dysku?
Mógłby ktoś krok po kroku opisać jak należy uruchomić ten powyższy Check tak aby zadziałał?
Proszę o nie podawanie linków.