public void parseArguments()

in extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMain.java [172:207]


    public void parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));
        List<String> unknownArgs = new ArrayList<>();

        boolean valid = true;
        while (!args.isEmpty()) {
            initOptions();
            String arg = args.removeFirst();
            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled && !failureRemedy.equals(FailureRemedy.ignore)) {
                if (arg.length() >= 100) {
                    // For long arguments, clean up formatting for console output
                    String truncatedArg = String.format("%s...", StringHelper.limitLength(arg, 97));
                    unknownArgs.add(truncatedArg);
                } else {
                    unknownArgs.add(arg);
                }
                valid = false;
            }
        }
        if (!valid) {
            System.out.println("Unknown option: " + String.join(" ", unknownArgs));
            System.out.println();
            showOptions();
            if (failureRemedy.equals(FailureRemedy.fail)) {
                completed();
                throw new RuntimeException("CamelMain encountered unknown arguments");
            }
        }
    }