in apache-rat-tools/src/main/java/org/apache/rat/tools/Naming.java [92:160]
public static void main(final String[] args) throws IOException, ParseException {
if (args == null || args.length < 1) {
System.err.println("At least one argument is required: path to file is missing.");
return;
}
CommandLine cl = DefaultParser.builder().build().parse(OPTIONS, args);
int width = Math.max(cl.getParsedOptionValue(WIDTH, AbstractHelp.HELP_WIDTH), AbstractHelp.HELP_WIDTH);
boolean showMaven = cl.hasOption(MAVEN);
boolean showAnt = cl.hasOption(ANT);
boolean includeDeprecated = cl.hasOption(INCLUDE_DEPRECATED);
Predicate<Option> filter = o -> o.hasLongOpt() && (!o.isDeprecated() || includeDeprecated);
List<String> columns = new ArrayList<>();
if (cl.hasOption(CLI)) {
columns.add("CLI");
}
if (showAnt) {
columns.add("Ant");
}
if (showMaven) {
columns.add("Maven");
}
columns.add("Description");
columns.add("Argument Type");
Function<Option, String> descriptionFunction;
if (cl.hasOption(CLI) || !showAnt && !showMaven) {
descriptionFunction = o -> {
StringBuilder desc = new StringBuilder();
if (o.isDeprecated()) {
desc.append("[").append(o.getDeprecated().toString()).append("] ");
}
return desc.append(StringUtils.defaultIfEmpty(o.getDescription(), "")).toString();
};
} else if (showAnt) {
descriptionFunction = o -> {
StringBuilder desc = new StringBuilder();
AntOption antOption = new AntOption(o);
if (antOption.isDeprecated()) {
desc.append("[").append(antOption.getDeprecated()).append("] ");
}
return desc.append(StringUtils.defaultIfEmpty(antOption.getDescription(), "")).toString();
};
} else {
descriptionFunction = o -> {
StringBuilder desc = new StringBuilder();
MavenOption mavenOption = new MavenOption(o);
if (mavenOption.isDeprecated()) {
desc.append("[").append(mavenOption.getDeprecated()).append("] ");
}
return desc.append(StringUtils.defaultIfEmpty(mavenOption.getDescription(), "")).toString();
};
}
try (Writer underWriter = cl.getArgs().length != 0 ? new FileWriter(cl.getArgs()[0]) : new OutputStreamWriter(System.out, StandardCharsets.UTF_8)) {
if (cl.hasOption(CSV)) {
printCSV(columns, filter, cl.hasOption(CLI), showMaven, showAnt, descriptionFunction, underWriter);
}
else {
printText(columns, filter, cl.hasOption(CLI), showMaven, showAnt, descriptionFunction, underWriter, width);
}
}
}