@Cli(name = "cli", description = "Test CLI", commands = { Args1.class, EmptyCommand.class }, includeDefaultRestrictions = false, restrictions = { CommandRequiredRestriction.class }) private class CommandRequiredCli { }
if (!cliConfig.defaultCommand().equals(com.github.rvesse.airline.annotations.Cli.NO_DEFAULT.class)) { defaultCommand = loadCommand(cliConfig.defaultCommand(), new HashMap<>(baseHelpSections)); for (Class<?> cls : cliConfig.commands()) { defaultGroupCommands.add(loadCommand(cls, new HashMap<>(baseHelpSections))); : (cliConfig.parserConfiguration() != null ? MetadataLoader.<C> loadParser(cliConfig.parserConfiguration()) : MetadataLoader.<C> loadParser(cliClass)); restrictions.add(restriction); for (Class<? extends GlobalRestriction> cls : cliConfig.restrictions()) { restrictions.add(ParserUtil.createInstance(cls)); if (cliConfig.includeDefaultRestrictions()) { restrictions.addAll(Arrays.asList(GlobalRestriction.DEFAULTS)); new StringHierarchyComparator()); List<CommandGroupMetadata> groups = new ArrayList<CommandGroupMetadata>(); for (Group groupAnno : cliConfig.groups()) { String groupName = groupAnno.name(); String subGroupPath = null; return loadGlobal(cliConfig.name(), cliConfig.description(), defaultCommand, defaultGroupCommands, groups, restrictions, baseHelpSections.values(), parserConfig);
@Cli(name = "cli", description = "Test CLI", commands = { Args1.class, EmptyCommand.class }, includeDefaultRestrictions = false, restrictions = { NoUnexpectedArgumentsRestriction.class }) private class NoUnexpectedArgumentsCli { }
@Cli(name = "cli", description = "Test CLI", commands = { Args1.class, EmptyCommand.class }, includeDefaultRestrictions = false, restrictions = { NoMissingOptionValuesRestriction.class }) private class NoMissingOptionValuesCli { }
@Cli(name = "cli", description = "Test CLI", commands = { Args1.class, EmptyCommand.class }, includeDefaultRestrictions = false) private class UnrestrictedCli { }
@Cli(name = "mirror", description = "two-way, real-time sync of files across machines", commands = { MirrorClientCommand.class, MirrorServerCommand.class,
@Cli(name = "cli", description = "Test CLI", commands = { Args1.class, EmptyCommand.class }, includeDefaultRestrictions = false) @CommandRequired private class CommandRequiredAnnotationCli { }
@Cli(name = "cli", description = "Test CLI", commands = { Args1.class, EmptyCommand.class }, includeDefaultRestrictions = false) @NoUnexpectedArguments private class NoUnexpectedArgumentsAnnotationCli { }
@Cli(name = "cli", description = "Test CLI", commands = { Args1.class, EmptyCommand.class }, includeDefaultRestrictions = false) @NoMissingOptionValues private class NoMissingOptionValuesAnnotationCli { }
@Cli(defaultCommand = Help.class, commands = { Help.class, Args1.class, CommandRemove.class }, name = "test") @Discussion(paragraphs = { "Foo", "Bar" }) public class CliWithSections { }
@com.github.rvesse.airline.annotations.Cli(name = "test", groups = { @Group(name = "foo bar", defaultCommand = Help.class, commands = { Help.class }) }) private static class SubGroupsCli01 { }
@Cli( name = "test", commands = { Logs.class }, parserConfiguration = @Parser( userAliasesFile = "test.config", userAliasesSearchLocation = { "target/" }, aliasesForceBuiltInPrefix = '@', aliasesMayChain = true, aliasesOverrideBuiltIns = true ) ) //@formatter:on public class LogsWithParser extends Logs { }
@Cli(name = "git", description = "the stupid content tracker", defaultCommand = Help.class, commands = { Help.class, Add.class }, groups = { @Group(name = "remote", description = "Manage set of tracked repositories", defaultCommand = RemoteShow.class, commands = { RemoteShow.class, RemoteAdd.class }) } ) //@formatter:on public class GitWithCliAnnotation extends Git { public static void run(String[] args) { com.github.rvesse.airline.Cli<Runnable> gitParser = new com.github.rvesse.airline.Cli<Runnable>( GitWithCliAnnotation.class); gitParser.parse(args).run(); } }
@Test @com.github.rvesse.airline.annotations.Cli( name = "galaxy", description = "cloud management system",
@com.github.rvesse.airline.annotations.Cli(name = "test", groups = { @Group(name = "foo bar", defaultCommand = Help.class, commands = { Help.class }), @Group(name = "foo baz") }) private static class SubGroupsCli02 { }
@Cli(name = "git", description = "the stupid content tracker", defaultCommand = Help.class, commands = { Help.class, Add.class }, groups = { @Group(name = "remote", description = "Manage set of tracked repositories", defaultCommand = RemoteShow.class, commands = { RemoteShow.class, RemoteAdd.class }) }, parserConfiguration = @Parser( aliases = { @Alias( name = "foo", arguments = { "remote", "show" } ) }) ) //@formatter:on public class GitWithCliAnnotation2 extends Git { public static void run(String[] args) { com.github.rvesse.airline.Cli<Runnable> gitParser = new com.github.rvesse.airline.Cli<Runnable>( GitWithCliAnnotation2.class); gitParser.parse(args).run(); } }