public static void main()

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);
            }
        }
    }