@Provides @Singleton ApplicationMetadata provideApplicationMetadata( ApplicationDescription descriptionHolder, CommandManager commandManager, Set<OptionMetadata> options, Set<DeclaredVariable> declaredVars, ModulesMetadata modulesMetadata) { ApplicationMetadata.Builder builder = ApplicationMetadata .builder() .description(descriptionHolder.getDescription()) .addOptions(options); commandManager.getAllCommands().values().forEach(mc -> { if (!mc.isHidden() && !mc.isDefault()) { builder.addCommand(mc.getCommand().getMetadata()); } }); // merge default command options with top-level app options commandManager.getPublicDefaultCommand().ifPresent(c -> builder.addOptions(c.getMetadata().getOptions())); declaredVars.forEach(dv -> DeclaredVariableMetaCompiler .compileIfValid(dv, modulesMetadata) .ifPresent(builder::addVariable)); return builder.build(); }
@Provides @Singleton ApplicationMetadata provideApplicationMetadata( ApplicationDescription descriptionHolder, CommandManager commandManager, Set<OptionMetadata> options, Set<DeclaredVariable> declaredVars, ModulesMetadata modulesMetadata) { ApplicationMetadata.Builder builder = ApplicationMetadata .builder() .description(descriptionHolder.getDescription()) .addOptions(options); commandManager.getAllCommands().values().forEach(mc -> { if (!mc.isHidden() && !mc.isDefault()) { builder.addCommand(mc.getCommand().getMetadata()); } }); // merge default command options with top-level app options commandManager.getPublicDefaultCommand().ifPresent(c -> builder.addOptions(c.getMetadata().getOptions())); declaredVars.forEach(dv -> DeclaredVariableMetaCompiler .compileIfValid(dv, modulesMetadata) .ifPresent(builder::addVariable)); return builder.build(); }
public static Builder builder() { return new Builder().defaultName(); }
public ApplicationMetadata build() { checkNameDuplicates(application.options); return application; }
public static Builder builder(String name, String description) { return new Builder().name(name).description(description); }
public Builder defaultName() { return name(ApplicationIntrospector.appNameFromRuntime()); }
public static Builder builder(String name, String description) { return new Builder().name(name).description(description); }
public Builder defaultName() { return name(ApplicationIntrospector.appNameFromRuntime()); }
public static Builder builder() { return new Builder().defaultName(); }
public ApplicationMetadata build() { checkNameDuplicates(application.options); return application; }