Use @AutoConfiguration

- Replace from @Configuration to @AutoConfiguration as that is now
  recommended by boot.
- Fixes #565
This commit is contained in:
Janne Valkealahti
2022-11-15 08:30:17 +00:00
parent d39276908d
commit 217b9b7079
16 changed files with 49 additions and 32 deletions

View File

@@ -17,15 +17,15 @@ package org.springframework.shell.boot;
import java.util.List;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.DefaultShellApplicationRunner;
import org.springframework.shell.ShellApplicationRunner;
import org.springframework.shell.ShellRunner;
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
@EnableConfigurationProperties(SpringShellProperties.class)
public class ApplicationRunnerAutoConfiguration {

View File

@@ -19,16 +19,16 @@ import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.MethodTargetRegistrar;
import org.springframework.shell.command.CommandCatalog;
import org.springframework.shell.command.CommandCatalogCustomizer;
import org.springframework.shell.command.CommandRegistration;
import org.springframework.shell.command.CommandResolver;
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
public class CommandCatalogAutoConfiguration {
@Bean

View File

@@ -24,14 +24,14 @@ import org.jline.reader.LineReader;
import org.jline.reader.ParsedLine;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.CompletingParsedLine;
import org.springframework.shell.CompletionContext;
import org.springframework.shell.CompletionProposal;
import org.springframework.shell.Shell;
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
public class CompleterAutoConfiguration {
@Autowired

View File

@@ -18,6 +18,7 @@ package org.springframework.shell.boot;
import org.jline.terminal.Terminal;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -35,7 +36,7 @@ import org.springframework.shell.style.TemplateExecutor;
*
* @author Janne Valkealahti
*/
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
@ConditionalOnClass(ComponentFlow.class)
public class ComponentFlowAutoConfiguration {

View File

@@ -21,10 +21,10 @@ import java.util.function.Function;
import org.springframework.boot.ExitCodeExceptionMapper;
import org.springframework.boot.ExitCodeGenerator;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.command.CommandExecution;
import org.springframework.shell.exit.ExitCodeExceptionProvider;
import org.springframework.shell.exit.ExitCodeMappings;
@@ -34,7 +34,7 @@ import org.springframework.shell.exit.ExitCodeMappings;
*
* @author Janne Valkealahti
*/
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
public class ExitCodeAutoConfiguration {
@Bean

View File

@@ -17,11 +17,12 @@ package org.springframework.shell.boot;
import org.jline.reader.impl.history.DefaultHistory;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
public class JLineAutoConfiguration {
@Configuration

View File

@@ -25,9 +25,9 @@ import org.jline.utils.AttributedString;
import org.jline.utils.AttributedStyle;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.jline.ExtendedDefaultParser;
import org.springframework.shell.jline.PromptProvider;
@@ -37,7 +37,7 @@ import org.springframework.shell.jline.PromptProvider;
* @author Eric Bottard
* @author Florent Biville
*/
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
public class JLineShellAutoConfiguration {
@Bean(destroyMethod = "close")

View File

@@ -33,16 +33,16 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.event.ContextClosedEvent;
import org.springframework.context.event.EventListener;
import org.springframework.shell.command.CommandCatalog;
import org.springframework.shell.config.UserConfigPathProvider;
import org.springframework.util.StringUtils;
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
@EnableConfigurationProperties(SpringShellProperties.class)
public class LineReaderAutoConfiguration {

View File

@@ -18,8 +18,8 @@ package org.springframework.shell.boot;
import java.util.ArrayList;
import java.util.List;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.handler.annotation.support.HeadersMethodArgumentResolver;
import org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver;
import org.springframework.shell.command.ArgumentHeaderMethodArgumentResolver;
@@ -30,7 +30,7 @@ import org.springframework.shell.completion.RegistrationOptionsCompletionResolve
import org.springframework.shell.config.ShellConversionServiceSupplier;
import org.springframework.shell.standard.ShellOptionMethodArgumentResolver;
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
public class ParameterResolverAutoConfiguration {
@Bean

View File

@@ -1,11 +1,26 @@
/*
* Copyright 2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.shell.boot;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.context.DefaultShellContext;
import org.springframework.shell.context.ShellContext;
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
public class ShellContextAutoConfiguration {
@Bean

View File

@@ -19,9 +19,9 @@ import org.jline.reader.LineReader;
import org.jline.reader.Parser;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.Shell;
import org.springframework.shell.context.ShellContext;
import org.springframework.shell.jline.InteractiveShellRunner;
@@ -29,7 +29,7 @@ import org.springframework.shell.jline.NonInteractiveShellRunner;
import org.springframework.shell.jline.PromptProvider;
import org.springframework.shell.jline.ScriptShellRunner;
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
public class ShellRunnerAutoConfiguration {
private Shell shell;

View File

@@ -20,11 +20,11 @@ import java.util.Set;
import org.jline.terminal.Terminal;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.core.convert.support.DefaultConversionService;
import org.springframework.format.support.FormattingConversionService;
@@ -41,7 +41,7 @@ import org.springframework.shell.result.ResultHandlerConfig;
/**
* Creates supporting beans for running the Shell
*/
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
@Import(ResultHandlerConfig.class)
public class SpringShellAutoConfiguration {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2017 the original author or authors.
* Copyright 2017-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,8 +16,8 @@
package org.springframework.shell.boot;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.MethodTargetRegistrar;
import org.springframework.shell.command.CommandCatalog;
import org.springframework.shell.standard.CommandValueProvider;
@@ -31,7 +31,7 @@ import org.springframework.shell.standard.ValueProvider;
*
* @author Eric Bottard
*/
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
public class StandardAPIAutoConfiguration {
@Bean

View File

@@ -19,6 +19,7 @@ package org.springframework.shell.boot;
import org.jline.reader.Parser;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -27,9 +28,8 @@ import org.springframework.boot.info.BuildProperties;
import org.springframework.boot.info.GitProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.boot.SpringShellProperties.VersionCommand;
import org.springframework.shell.boot.SpringShellProperties.HelpCommand.GroupingMode;
import org.springframework.shell.boot.SpringShellProperties.VersionCommand;
import org.springframework.shell.boot.condition.OnCompletionCommandCondition;
import org.springframework.shell.result.ThrowableResultHandler;
import org.springframework.shell.standard.commands.Clear;
@@ -47,7 +47,7 @@ import org.springframework.shell.style.TemplateExecutor;
*
* @author Eric Bottard
*/
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
@ConditionalOnClass({ Help.Command.class })
@EnableConfigurationProperties(SpringShellProperties.class)
public class StandardCommandsAutoConfiguration {

View File

@@ -16,10 +16,10 @@
package org.springframework.shell.boot;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.style.TemplateExecutor;
import org.springframework.shell.style.Theme;
import org.springframework.shell.style.ThemeActive;
@@ -28,7 +28,7 @@ import org.springframework.shell.style.ThemeResolver;
import org.springframework.shell.style.ThemeSettings;
import org.springframework.util.StringUtils;
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
@EnableConfigurationProperties(SpringShellProperties.class)
public class ThemingAutoConfiguration {

View File

@@ -19,14 +19,14 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.function.Function;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.shell.config.UserConfigPathProvider;
import org.springframework.util.StringUtils;
@Configuration(proxyBeanMethods = false)
@AutoConfiguration
@EnableConfigurationProperties(SpringShellProperties.class)
public class UserConfigAutoConfiguration {