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