From f3e3061580b8c6ff3005c138eecd53efb87c0e71 Mon Sep 17 00:00:00 2001 From: cachescrubber <5127753+cachescrubber@users.noreply.github.com> Date: Thu, 6 Apr 2023 10:08:09 +0200 Subject: [PATCH] Pass ShellContext to CommandCatalog.of in CommandCatalogAutoConfiguration (#693) - Backport #702 - Fixes #703 --- .../shell/boot/CommandCatalogAutoConfiguration.java | 6 ++++-- .../shell/boot/CommandCatalogAutoConfigurationTests.java | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/spring-shell-autoconfigure/src/main/java/org/springframework/shell/boot/CommandCatalogAutoConfiguration.java b/spring-shell-autoconfigure/src/main/java/org/springframework/shell/boot/CommandCatalogAutoConfiguration.java index b97803720..9a4dc738f 100644 --- a/spring-shell-autoconfigure/src/main/java/org/springframework/shell/boot/CommandCatalogAutoConfiguration.java +++ b/spring-shell-autoconfigure/src/main/java/org/springframework/shell/boot/CommandCatalogAutoConfiguration.java @@ -27,6 +27,7 @@ import org.springframework.shell.command.CommandCatalogCustomizer; import org.springframework.shell.command.CommandRegistration; import org.springframework.shell.command.CommandResolver; +import org.springframework.shell.context.ShellContext; @Configuration(proxyBeanMethods = false) public class CommandCatalogAutoConfiguration { @@ -35,9 +36,10 @@ public class CommandCatalogAutoConfiguration { @ConditionalOnMissingBean(CommandCatalog.class) public CommandCatalog commandCatalog(ObjectProvider methodTargetRegistrars, ObjectProvider commandResolvers, - ObjectProvider commandCatalogCustomizers) { + ObjectProvider commandCatalogCustomizers, + ShellContext shellContext) { List resolvers = commandResolvers.orderedStream().collect(Collectors.toList()); - CommandCatalog catalog = CommandCatalog.of(resolvers, null); + CommandCatalog catalog = CommandCatalog.of(resolvers, shellContext); methodTargetRegistrars.orderedStream().forEach(resolver -> { resolver.register(catalog); }); diff --git a/spring-shell-autoconfigure/src/test/java/org/springframework/shell/boot/CommandCatalogAutoConfigurationTests.java b/spring-shell-autoconfigure/src/test/java/org/springframework/shell/boot/CommandCatalogAutoConfigurationTests.java index d1b39ad4c..8a290d19e 100644 --- a/spring-shell-autoconfigure/src/test/java/org/springframework/shell/boot/CommandCatalogAutoConfigurationTests.java +++ b/spring-shell-autoconfigure/src/test/java/org/springframework/shell/boot/CommandCatalogAutoConfigurationTests.java @@ -33,7 +33,7 @@ public class CommandCatalogAutoConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(CommandCatalogAutoConfiguration.class)); + .withConfiguration(AutoConfigurations.of(CommandCatalogAutoConfiguration.class, ShellContextAutoConfiguration.class)); @Test void defaultCommandCatalog() {