.metavar("COMMAND") .title("commands");
.metavar("COMMAND") .title("commands"); ServiceLoader<Command> loader = ServiceLoader.load(Command.class);
public static Set<ClassPath.ClassInfo> findSubcommands(ArgumentParser parser) throws IOException { Subparsers subparsers = parser.addSubparsers() .dest(Constants.COMMAND) .help("FEATURE") .title("subcommands") .description("Specify which feature to perform") .metavar("COMMAND"); Set<ClassPath.ClassInfo> allClasses = new TreeSet<>(Comparator.comparing(ClassPath.ClassInfo::getName)); ClassPath classpath = ClassPath.from(CommandLine.class.getClassLoader()); allClasses.addAll(classpath.getTopLevelClasses("com.salesforce.dockerfileimageupdate.subcommands.impl")); allClasses = allClasses.stream() .filter(classInfo -> !classInfo.getName().endsWith("Test")) .collect(Collectors.toSet()); for (ClassPath.ClassInfo classInfo : allClasses) { handleAnnotations(classInfo, subparsers); } return allClasses; }
public static Set<ClassPath.ClassInfo> findSubcommands(ArgumentParser parser) throws IOException { Subparsers subparsers = parser.addSubparsers() .dest(Constants.COMMAND) .help("FEATURE") .title("subcommands") .description("Specify which feature to perform") .metavar("COMMAND"); Set<ClassPath.ClassInfo> allClasses = new TreeSet<>(Comparator.comparing(ClassPath.ClassInfo::getName)); ClassPath classpath = ClassPath.from(CommandLine.class.getClassLoader()); allClasses.addAll(classpath.getTopLevelClasses("com.salesforce.dockerfileimageupdate.subcommands.impl")); allClasses = allClasses.stream() .filter(classInfo -> !classInfo.getName().endsWith("Test")) .collect(Collectors.toSet()); for (ClassPath.ClassInfo classInfo : allClasses) { handleAnnotations(classInfo, subparsers); } return allClasses; }
.metavar("COMMAND") .title("commands");