From fafd2d20e177d56b5d08dfa630b920d7095877da Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Wed, 1 Feb 2017 17:02:52 -0500 Subject: [PATCH] Rename spring-web-reactive to spring-webflux Issue: SPR-15190 --- build.gradle | 4 +- settings.gradle | 2 +- .../web/reactive/BindingContext.java | 0 .../web/reactive/DispatcherHandler.java | 0 .../web/reactive/HandlerAdapter.java | 0 .../web/reactive/HandlerMapping.java | 0 .../web/reactive/HandlerResult.java | 0 .../web/reactive/HandlerResultHandler.java | 0 .../AbstractMappingContentTypeResolver.java | 0 .../accept/CompositeContentTypeResolver.java | 0 .../accept/FixedContentTypeResolver.java | 0 .../accept/HeaderContentTypeResolver.java | 0 .../accept/MappingContentTypeResolver.java | 0 .../accept/ParameterContentTypeResolver.java | 0 .../PathExtensionContentTypeResolver.java | 0 .../accept/RequestedContentTypeResolver.java | 0 .../RequestedContentTypeResolverBuilder.java | 0 .../web/reactive/accept/package-info.java | 0 .../web/reactive/config/CorsRegistration.java | 0 .../web/reactive/config/CorsRegistry.java | 0 .../DelegatingWebReactiveConfiguration.java | 0 .../reactive/config/EnableWebReactive.java | 0 .../reactive/config/PathMatchConfigurer.java | 0 .../config/ResourceChainRegistration.java | 0 .../config/ResourceHandlerRegistration.java | 0 .../config/ResourceHandlerRegistry.java | 0 .../UrlBasedViewResolverRegistration.java | 0 .../reactive/config/ViewResolverRegistry.java | 0 .../WebReactiveConfigurationSupport.java | 0 .../config/WebReactiveConfigurer.java | 0 .../WebReactiveConfigurerComposite.java | 0 .../web/reactive/config/package-info.java | 0 .../web/reactive/function/BodyExtractor.java | 0 .../web/reactive/function/BodyExtractors.java | 0 .../web/reactive/function/BodyInserter.java | 0 .../web/reactive/function/BodyInserters.java | 0 .../UnsupportedMediaTypeException.java | 0 .../function/client/ClientRequest.java | 0 .../function/client/ClientResponse.java | 0 .../client/DefaultClientRequestBuilder.java | 0 .../client/DefaultClientResponse.java | 0 .../DefaultExchangeStrategiesBuilder.java | 0 .../function/client/DefaultWebClient.java | 0 .../client/DefaultWebClientBuilder.java | 0 .../client/ExchangeFilterFunction.java | 0 .../client/ExchangeFilterFunctions.java | 0 .../function/client/ExchangeFunction.java | 0 .../function/client/ExchangeFunctions.java | 0 .../function/client/ExchangeStrategies.java | 0 .../reactive/function/client/WebClient.java | 0 .../function/client/WebClientException.java | 0 .../function/client/package-info.java | 0 .../web/reactive/function/package-info.java | 0 .../DefaultHandlerStrategiesBuilder.java | 0 .../function/server/DefaultServerRequest.java | 0 .../server/DefaultServerResponseBuilder.java | 0 .../server/HandlerFilterFunction.java | 0 .../function/server/HandlerFunction.java | 0 .../function/server/HandlerStrategies.java | 0 .../server/PathResourceLookupFunction.java | 0 .../function/server/RequestPredicate.java | 0 .../function/server/RequestPredicates.java | 0 .../server/ResourceHandlerFunction.java | 0 .../function/server/RouterFunction.java | 0 .../function/server/RouterFunctions.java | 0 .../function/server/ServerRequest.java | 0 .../function/server/ServerResponse.java | 0 .../function/server/package-info.java | 0 .../support/HandlerFunctionAdapter.java | 0 .../server/support/ServerRequestWrapper.java | 0 .../support/ServerResponseResultHandler.java | 0 .../function/server/support/package-info.java | 0 .../handler/AbstractHandlerMapping.java | 0 .../handler/AbstractUrlHandlerMapping.java | 0 .../handler/SimpleUrlHandlerMapping.java | 0 .../web/reactive/handler/package-info.java | 0 .../web/reactive/package-info.java | 0 .../resource/AbstractResourceResolver.java | 0 .../resource/AbstractVersionStrategy.java | 0 .../resource/AppCacheManifestTransformer.java | 0 .../resource/CachingResourceResolver.java | 0 .../resource/CachingResourceTransformer.java | 0 .../resource/ContentVersionStrategy.java | 0 .../resource/CssLinkResourceTransformer.java | 0 .../DefaultResourceResolverChain.java | 0 .../DefaultResourceTransformerChain.java | 0 .../resource/FixedVersionStrategy.java | 0 .../resource/GzipResourceResolver.java | 0 .../web/reactive/resource/HttpResource.java | 0 .../resource/PathResourceResolver.java | 0 .../reactive/resource/ResourceResolver.java | 0 .../resource/ResourceResolverChain.java | 0 .../resource/ResourceTransformer.java | 0 .../resource/ResourceTransformerChain.java | 0 .../resource/ResourceTransformerSupport.java | 0 .../resource/ResourceUrlProvider.java | 0 .../reactive/resource/ResourceWebHandler.java | 0 .../resource/TransformedResource.java | 0 .../resource/VersionPathStrategy.java | 0 .../resource/VersionResourceResolver.java | 0 .../reactive/resource/VersionStrategy.java | 0 .../resource/WebJarsResourceResolver.java | 0 .../web/reactive/resource/package-info.java | 0 .../result/AbstractHandlerResultHandler.java | 0 .../reactive/result/SimpleHandlerAdapter.java | 0 .../AbstractMediaTypeExpression.java | 0 .../AbstractNameValueExpression.java | 0 .../condition/AbstractRequestCondition.java | 0 .../condition/CompositeRequestCondition.java | 0 .../condition/ConsumesRequestCondition.java | 0 .../condition/HeadersRequestCondition.java | 0 .../result/condition/MediaTypeExpression.java | 0 .../result/condition/NameValueExpression.java | 0 .../condition/ParamsRequestCondition.java | 0 .../condition/PatternsRequestCondition.java | 0 .../condition/ProducesRequestCondition.java | 0 .../result/condition/RequestCondition.java | 0 .../condition/RequestConditionHolder.java | 0 .../RequestMethodsRequestCondition.java | 0 .../result/condition/package-info.java | 0 .../method/AbstractHandlerMethodMapping.java | 0 .../method/HandlerMethodArgumentResolver.java | 0 .../result/method/InvocableHandlerMethod.java | 0 .../result/method/RequestMappingInfo.java | 0 .../RequestMappingInfoHandlerMapping.java | 0 .../SyncHandlerMethodArgumentResolver.java | 0 .../method/SyncInvocableHandlerMethod.java | 0 ...AbstractMessageReaderArgumentResolver.java | 0 .../AbstractMessageWriterResultHandler.java | 0 .../AbstractNamedValueArgumentResolver.java | 0 ...bstractNamedValueSyncArgumentResolver.java | 0 .../annotation/BindingContextFactory.java | 0 .../CookieValueMethodArgumentResolver.java | 0 .../ErrorsMethodArgumentResolver.java | 0 ...ExpressionValueMethodArgumentResolver.java | 0 .../HttpEntityArgumentResolver.java | 0 .../annotation/InitBinderBindingContext.java | 0 .../annotation/ModelArgumentResolver.java | 0 .../ModelAttributeMethodArgumentResolver.java | 0 ...PathVariableMapMethodArgumentResolver.java | 0 .../PathVariableMethodArgumentResolver.java | 0 .../annotation/PrincipalArgumentResolver.java | 0 ...equestAttributeMethodArgumentResolver.java | 0 .../RequestBodyArgumentResolver.java | 0 ...equestHeaderMapMethodArgumentResolver.java | 0 .../RequestHeaderMethodArgumentResolver.java | 0 .../RequestMappingHandlerAdapter.java | 0 .../RequestMappingHandlerMapping.java | 0 ...RequestParamMapMethodArgumentResolver.java | 0 .../RequestParamMethodArgumentResolver.java | 0 .../annotation/ResponseBodyResultHandler.java | 0 .../ResponseEntityResultHandler.java | 0 .../ServerWebExchangeArgumentResolver.java | 0 ...essionAttributeMethodArgumentResolver.java | 0 .../WebSessionArgumentResolver.java | 0 .../method/annotation/package-info.java | 0 .../reactive/result/method/package-info.java | 0 .../web/reactive/result/package-info.java | 0 .../result/view/AbstractUrlBasedView.java | 0 .../reactive/result/view/AbstractView.java | 0 .../web/reactive/result/view/BindStatus.java | 0 .../result/view/HttpMessageWriterView.java | 0 .../reactive/result/view/RedirectView.java | 0 .../reactive/result/view/RequestContext.java | 0 .../view/RequestDataValueProcessor.java | 0 .../result/view/UrlBasedViewResolver.java | 0 .../web/reactive/result/view/View.java | 0 .../view/ViewResolutionResultHandler.java | 0 .../reactive/result/view/ViewResolver.java | 0 .../result/view/ViewResolverSupport.java | 0 .../view/freemarker/FreeMarkerConfig.java | 0 .../view/freemarker/FreeMarkerConfigurer.java | 0 .../view/freemarker/FreeMarkerView.java | 0 .../freemarker/FreeMarkerViewResolver.java | 0 .../reactive/result/view/package-info.java | 0 .../result/view/script/RenderingContext.java | 0 .../view/script/ScriptTemplateConfig.java | 0 .../view/script/ScriptTemplateConfigurer.java | 0 .../view/script/ScriptTemplateView.java | 0 .../script/ScriptTemplateViewResolver.java | 0 .../result/view/script/package-info.java | 0 .../web/reactive/socket/CloseStatus.java | 0 .../web/reactive/socket/HandshakeInfo.java | 0 .../web/reactive/socket/WebSocketHandler.java | 0 .../web/reactive/socket/WebSocketMessage.java | 0 .../web/reactive/socket/WebSocketSession.java | 0 .../AbstractListenerWebSocketSession.java | 0 .../adapter/AbstractWebSocketSession.java | 0 .../adapter/JettyWebSocketHandlerAdapter.java | 0 .../socket/adapter/JettyWebSocketSession.java | 0 .../adapter/NettyWebSocketSessionSupport.java | 0 .../adapter/ReactorNettyWebSocketSession.java | 0 .../adapter/RxNettyWebSocketSession.java | 0 .../StandardWebSocketHandlerAdapter.java | 0 .../adapter/StandardWebSocketSession.java | 0 .../UndertowWebSocketHandlerAdapter.java | 0 .../adapter/UndertowWebSocketSession.java | 0 .../reactive/socket/adapter/package-info.java | 0 .../socket/client/JettyWebSocketClient.java | 0 .../client/ReactorNettyWebSocketClient.java | 0 .../socket/client/RxNettyWebSocketClient.java | 0 .../client/StandardWebSocketClient.java | 0 .../client/UndertowWebSocketClient.java | 0 .../socket/client/WebSocketClient.java | 0 .../socket/client/WebSocketClientSupport.java | 0 .../reactive/socket/client/package-info.java | 0 .../web/reactive/socket/package-info.java | 0 .../socket/server/RequestUpgradeStrategy.java | 0 .../socket/server/WebSocketService.java | 0 .../reactive/socket/server/package-info.java | 0 .../support/HandshakeWebSocketService.java | 0 .../support/WebSocketHandlerAdapter.java | 0 .../socket/server/support/package-info.java | 0 .../upgrade/DefaultServerEndpointConfig.java | 0 .../upgrade/JettyRequestUpgradeStrategy.java | 0 .../ReactorNettyRequestUpgradeStrategy.java | 0 .../RxNettyRequestUpgradeStrategy.java | 0 .../upgrade/TomcatRequestUpgradeStrategy.java | 0 .../UndertowRequestUpgradeStrategy.java | 0 .../socket/server/upgrade/package-info.java | 0 ...ionConfigDispatcherHandlerInitializer.java | 0 .../AbstractDispatcherHandlerInitializer.java | 0 ...tServletHttpHandlerAdapterInitializer.java | 0 .../web/reactive/support/package-info.java | 0 .../function/BodyExtractorsExtensions.kt | 0 .../function/BodyInsertersExtensions.kt | 0 .../client/ClientResponseExtensions.kt | 0 .../function/client/WebClientExtensions.kt | 0 .../server/RouterFunctionExtensions.kt | 0 .../server/ServerRequestExtensions.kt | 0 .../reactive/DispatcherHandlerErrorTests.java | 0 .../reactive/FlushingIntegrationTests.java | 0 ...positeContentTypeResolverBuilderTests.java | 0 .../HeaderContentTypeResolverTests.java | 0 .../MappingContentTypeResolverTests.java | 0 ...PathExtensionContentTypeResolverTests.java | 0 .../reactive/config/CorsRegistryTests.java | 0 ...legatingWebReactiveConfigurationTests.java | 0 .../config/ResourceHandlerRegistryTests.java | 0 .../config/ViewResolverRegistryTests.java | 0 .../WebReactiveConfigurationSupportTests.java | 0 .../function/BodyExtractorsTests.java | 0 .../reactive/function/BodyInsertersTests.java | 0 .../DefaultClientRequestBuilderTests.java | 0 .../client/DefaultClientResponseTests.java | 0 .../client/DefaultWebClientTests.java | 0 .../client/ExchangeFilterFunctionsTests.java | 0 .../client/ExchangeStrategiesTests.java | 0 .../client/WebClientIntegrationTests.java | 0 ...bstractRouterFunctionIntegrationTests.java | 0 .../server/DefaultServerRequestTests.java | 0 .../DefaultServerResponseBuilderTests.java | 0 .../DispatcherHandlerIntegrationTests.java | 0 .../server/HandlerStrategiesTests.java | 0 .../function/server/HeadersWrapperTest.java | 0 .../function/server/MockServerRequest.java | 0 .../PathResourceLookupFunctionTests.java | 0 ...lisherHandlerFunctionIntegrationTests.java | 0 .../server/RequestPredicateTests.java | 0 .../server/RequestPredicatesTests.java | 0 .../server/ResourceHandlerFunctionTests.java | 0 .../function/server/RouterFunctionTests.java | 0 .../function/server/RouterFunctionsTests.java | 0 .../SseHandlerFunctionIntegrationTests.java | 0 .../support/ServerRequestWrapperTests.java | 0 .../handler/CorsUrlHandlerMappingTests.java | 0 .../handler/SimpleUrlHandlerMappingTests.java | 0 .../AppCacheManifestTransformerTests.java | 0 .../CachingResourceResolverTests.java | 0 .../ContentBasedVersionStrategyTests.java | 0 .../CssLinkResourceTransformerTests.java | 0 .../resource/FixedVersionStrategyTests.java | 0 .../resource/GzipResourceResolverTests.java | 0 .../resource/PathResourceResolverTests.java | 0 .../ResourceTransformerSupportTests.java | 0 .../resource/ResourceUrlProviderTests.java | 0 .../resource/ResourceWebHandlerTests.java | 0 .../VersionResourceResolverTests.java | 0 .../WebJarsResourceResolverTests.java | 0 .../result/HandlerResultHandlerTests.java | 0 .../web/reactive/result/ResolvableMethod.java | 0 ...mpleUrlHandlerMappingIntegrationTests.java | 0 .../CompositeRequestConditionTests.java | 0 .../ConsumesRequestConditionTests.java | 0 .../HeadersRequestConditionTests.java | 0 .../ParamsRequestConditionTests.java | 0 .../PatternsRequestConditionTests.java | 0 .../ProducesRequestConditionTests.java | 0 .../RequestConditionHolderTests.java | 0 .../condition/RequestMappingInfoTests.java | 0 .../RequestMethodsRequestConditionTests.java | 0 .../method/HandlerMethodMappingTests.java | 0 .../method/InvocableHandlerMethodTests.java | 0 ...RequestMappingInfoHandlerMappingTests.java | 0 ...bstractRequestMappingIntegrationTests.java | 0 .../BindingContextFactoryTests.java | 0 .../ContextPathIntegrationTests.java | 0 ...ookieValueMethodArgumentResolverTests.java | 0 ...CrossOriginAnnotationIntegrationTests.java | 0 .../ErrorsArgumentResolverTests.java | 0 ...ssionValueMethodArgumentResolverTests.java | 0 .../GlobalCorsConfigIntegrationTests.java | 0 .../HttpEntityArgumentResolverTests.java | 0 .../InitBinderBindingContextTests.java | 0 .../JacksonHintsIntegrationTests.java | 0 .../MessageReaderArgumentResolverTests.java | 0 .../MessageWriterResultHandlerTests.java | 0 ...lAttributeMethodArgumentResolverTests.java | 0 ...ariableMapMethodArgumentResolverTests.java | 0 ...thVariableMethodArgumentResolverTests.java | 0 ...tAttributeMethodArgumentResolverTests.java | 0 .../RequestBodyArgumentResolverTests.java | 0 ...tHeaderMapMethodArgumentResolverTests.java | 0 ...uestHeaderMethodArgumentResolverTests.java | 0 ...estMappingDataBindingIntegrationTests.java | 0 ...pingExceptionHandlingIntegrationTests.java | 0 .../RequestMappingHandlerMappingTests.java | 0 .../RequestMappingIntegrationTests.java | 0 ...pingMessageConversionIntegrationTests.java | 0 ...MappingViewResolutionIntegrationTests.java | 0 ...stParamMapMethodArgumentResolverTests.java | 0 ...questParamMethodArgumentResolverTests.java | 0 .../ResponseBodyResultHandlerTests.java | 0 .../ResponseEntityResultHandlerTests.java | 0 ...erverWebExchangeArgumentResolverTests.java | 0 ...nAttributeMethodArgumentResolverTests.java | 0 .../annotation/SseIntegrationTests.java | 0 .../view/HttpMessageWriterViewTests.java | 0 .../result/view/RedirectViewTests.java | 0 .../result/view/RequestContextTests.java | 0 .../view/UrlBasedViewResolverTests.java | 0 .../ViewResolutionResultHandlerTests.java | 0 .../view/freemarker/FreeMarkerViewTests.java | 0 .../view/script/JRubyScriptTemplateTests.java | 0 .../script/JythonScriptTemplateTests.java | 0 .../script/KotlinScriptTemplateTests.java | 0 .../script/NashornScriptTemplateTests.java | 0 .../ScriptTemplateViewResolverTests.java | 0 .../view/script/ScriptTemplateViewTests.java | 0 .../AbstractWebSocketIntegrationTests.java | 0 .../socket/WebSocketIntegrationTests.java | 0 .../server/RouterFunctionExtensionsTests.kt | 0 ...tParamMethodArgumentResolverKotlinTests.kt | 0 .../ScriptTemplateWithBindingsExtensions.kt | 0 .../services/javax.script.ScriptEngineFactory | 0 .../src/test/resources/log4j2-test.xml | 0 .../web/reactive/config/testStylesheet.css | 0 .../web/reactive/function/response.txt | 0 .../function/server/child/response.txt | 0 .../web/reactive/function/server/response.txt | 0 .../web/reactive/handler/map.xml | 0 .../web/reactive/resource/test/bar.css | 0 .../web/reactive/resource/test/error.appcache | 0 .../web/reactive/resource/test/external.css | 0 .../foo-e36d2e05253c6c7085a91522ce43a0b4.css | 0 .../web/reactive/resource/test/foo.css | 0 .../web/reactive/resource/test/foo.html | 0 .../web/reactive/resource/test/foo.txt | 0 .../reactive/resource/test/images/image.png | Bin .../web/reactive/resource/test/js/bar.js | 0 .../web/reactive/resource/test/js/foo.js | 0 .../web/reactive/resource/test/main.css | 0 .../web/reactive/resource/test/test.appcache | 0 .../resource/testalternatepath/bar.css | 0 .../resource/testalternatepath/baz.css | 0 .../resource/testalternatepath/js/baz.js | 0 .../reactive/resource/testsecret/secret.txt | 0 .../result/method/annotation/logo.png | Bin .../reactive/result/view/freemarker/test.ftl | 0 .../web/reactive/result/view/script/empty.txt | 0 .../result/view/script/jruby/render.rb | 0 .../result/view/script/jruby/template.erb | 0 .../result/view/script/jython/render.py | 0 .../result/view/script/jython/template.html | 0 .../result/view/script/kotlin/footer.html | 0 .../result/view/script/kotlin/header.html | 0 .../result/view/script/kotlin/render.kts | 0 .../result/view/script/kotlin/template.kts | 0 .../result/view/script/messages_en.properties | 0 .../result/view/script/messages_fr.properties | 0 .../result/view/script/nashorn/render.js | 0 .../result/view/script/nashorn/template.html | 0 src/asciidoc/images/web-reactive-overview.png | Bin 73418 -> 0 bytes src/asciidoc/images/webflux-overview.png | Bin 0 -> 71929 bytes .../{web-reactive.adoc => web-flux.adoc} | 39 ++++++++---------- src/asciidoc/web.adoc | 2 +- 386 files changed, 22 insertions(+), 25 deletions(-) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/BindingContext.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/DispatcherHandler.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/HandlerAdapter.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/HandlerMapping.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/HandlerResult.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/HandlerResultHandler.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/accept/AbstractMappingContentTypeResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/accept/CompositeContentTypeResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/accept/FixedContentTypeResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/accept/HeaderContentTypeResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/accept/MappingContentTypeResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/accept/ParameterContentTypeResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/accept/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/CorsRegistration.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/CorsRegistry.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/DelegatingWebReactiveConfiguration.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/EnableWebReactive.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/PathMatchConfigurer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/ResourceChainRegistration.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/ResourceHandlerRegistration.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/ResourceHandlerRegistry.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/UrlBasedViewResolverRegistration.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/ViewResolverRegistry.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurationSupport.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurerComposite.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/config/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/BodyExtractor.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/BodyInserter.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/BodyInserters.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/UnsupportedMediaTypeException.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/ClientRequest.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/ClientResponse.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilder.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/DefaultClientResponse.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/DefaultExchangeStrategiesBuilder.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunction.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctions.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/ExchangeFunction.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/ExchangeFunctions.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/ExchangeStrategies.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/WebClient.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/WebClientException.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/client/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/DefaultHandlerStrategiesBuilder.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/DefaultServerRequest.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilder.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/HandlerFilterFunction.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/HandlerFunction.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/HandlerStrategies.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/PathResourceLookupFunction.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/RequestPredicate.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/RequestPredicates.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/ResourceHandlerFunction.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/RouterFunction.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/RouterFunctions.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/ServerRequest.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/ServerResponse.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/support/HandlerFunctionAdapter.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/support/ServerRequestWrapper.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/support/ServerResponseResultHandler.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/function/server/support/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/handler/AbstractHandlerMapping.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/handler/AbstractUrlHandlerMapping.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMapping.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/handler/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/AbstractResourceResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/AbstractVersionStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/AppCacheManifestTransformer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/CachingResourceResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/CachingResourceTransformer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/ContentVersionStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/DefaultResourceResolverChain.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/DefaultResourceTransformerChain.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/FixedVersionStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/GzipResourceResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/HttpResource.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/PathResourceResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/ResourceResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/ResourceResolverChain.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/ResourceTransformer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/ResourceTransformerChain.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/ResourceTransformerSupport.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/ResourceWebHandler.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/TransformedResource.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/VersionPathStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/VersionStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/WebJarsResourceResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/resource/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/AbstractHandlerResultHandler.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/SimpleHandlerAdapter.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/AbstractMediaTypeExpression.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/AbstractNameValueExpression.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/AbstractRequestCondition.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/CompositeRequestCondition.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/ConsumesRequestCondition.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/HeadersRequestCondition.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/MediaTypeExpression.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/NameValueExpression.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/ParamsRequestCondition.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/PatternsRequestCondition.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/ProducesRequestCondition.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/RequestCondition.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/RequestConditionHolder.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestCondition.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/condition/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/HandlerMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfo.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/SyncHandlerMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/SyncInvocableHandlerMethod.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageReaderArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueSyncArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/BindingContextFactory.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/ErrorsMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContext.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/PrincipalArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMapping.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandler.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/WebSessionArgumentResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/annotation/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/method/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/AbstractUrlBasedView.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/AbstractView.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/BindStatus.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/HttpMessageWriterView.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/RequestContext.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/RequestDataValueProcessor.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/UrlBasedViewResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/View.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/ViewResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/ViewResolverSupport.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfig.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfigurer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerView.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/script/RenderingContext.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateConfig.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateConfigurer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateView.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewResolver.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/result/view/script/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/CloseStatus.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/HandshakeInfo.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/WebSocketHandler.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/WebSocketMessage.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/WebSocketSession.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/AbstractListenerWebSocketSession.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/AbstractWebSocketSession.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketHandlerAdapter.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketSession.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/NettyWebSocketSessionSupport.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/ReactorNettyWebSocketSession.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/RxNettyWebSocketSession.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/StandardWebSocketHandlerAdapter.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/StandardWebSocketSession.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/UndertowWebSocketHandlerAdapter.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/UndertowWebSocketSession.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/adapter/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/client/JettyWebSocketClient.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/client/ReactorNettyWebSocketClient.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/client/RxNettyWebSocketClient.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/client/StandardWebSocketClient.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/client/UndertowWebSocketClient.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/client/WebSocketClient.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/client/WebSocketClientSupport.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/client/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/RequestUpgradeStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/WebSocketService.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/support/HandshakeWebSocketService.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/support/WebSocketHandlerAdapter.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/support/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/upgrade/DefaultServerEndpointConfig.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/upgrade/JettyRequestUpgradeStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/upgrade/ReactorNettyRequestUpgradeStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/upgrade/RxNettyRequestUpgradeStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/upgrade/TomcatRequestUpgradeStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/upgrade/UndertowRequestUpgradeStrategy.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/socket/server/upgrade/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/support/AbstractAnnotationConfigDispatcherHandlerInitializer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/support/AbstractDispatcherHandlerInitializer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/support/AbstractServletHttpHandlerAdapterInitializer.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/java/org/springframework/web/reactive/support/package-info.java (100%) rename {spring-web-reactive => spring-webflux}/src/main/kotlin/org/springframework/web/reactive/function/BodyExtractorsExtensions.kt (100%) rename {spring-web-reactive => spring-webflux}/src/main/kotlin/org/springframework/web/reactive/function/BodyInsertersExtensions.kt (100%) rename {spring-web-reactive => spring-webflux}/src/main/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensions.kt (100%) rename {spring-web-reactive => spring-webflux}/src/main/kotlin/org/springframework/web/reactive/function/client/WebClientExtensions.kt (100%) rename {spring-web-reactive => spring-webflux}/src/main/kotlin/org/springframework/web/reactive/function/server/RouterFunctionExtensions.kt (100%) rename {spring-web-reactive => spring-webflux}/src/main/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensions.kt (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/FlushingIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/accept/CompositeContentTypeResolverBuilderTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/accept/HeaderContentTypeResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/accept/MappingContentTypeResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/config/CorsRegistryTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/config/DelegatingWebReactiveConfigurationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/config/ResourceHandlerRegistryTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/config/ViewResolverRegistryTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/config/WebReactiveConfigurationSupportTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/BodyExtractorsTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/BodyInsertersTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilderTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/client/DefaultClientResponseTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/client/DefaultWebClientTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctionsTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/client/ExchangeStrategiesTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/AbstractRouterFunctionIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/DefaultServerRequestTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilderTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/DispatcherHandlerIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/HandlerStrategiesTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/HeadersWrapperTest.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/MockServerRequest.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/PathResourceLookupFunctionTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/PublisherHandlerFunctionIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/RequestPredicateTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/RequestPredicatesTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/ResourceHandlerFunctionTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionsTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/SseHandlerFunctionIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/function/server/support/ServerRequestWrapperTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/handler/CorsUrlHandlerMappingTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/AppCacheManifestTransformerTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/CachingResourceResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/ContentBasedVersionStrategyTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/CssLinkResourceTransformerTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/FixedVersionStrategyTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/GzipResourceResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/PathResourceResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/ResourceTransformerSupportTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/ResourceUrlProviderTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/ResourceWebHandlerTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/VersionResourceResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/resource/WebJarsResourceResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/HandlerResultHandlerTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/ResolvableMethod.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/SimpleUrlHandlerMappingIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/condition/CompositeRequestConditionTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/condition/ConsumesRequestConditionTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/condition/HeadersRequestConditionTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/condition/ParamsRequestConditionTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/condition/ProducesRequestConditionTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/condition/RequestConditionHolderTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/condition/RequestMappingInfoTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestConditionTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/InvocableHandlerMethodTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMappingTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/AbstractRequestMappingIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/BindingContextFactoryTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/ContextPathIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/CrossOriginAnnotationIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/ErrorsArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/GlobalCorsConfigIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContextTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/JacksonHintsIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageReaderArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageWriterResultHandlerTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingDataBindingIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingExceptionHandlingIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMappingTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingMessageConversionIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingViewResolutionIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandlerTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/HttpMessageWriterViewTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/RedirectViewTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/RequestContextTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/UrlBasedViewResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandlerTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/script/JRubyScriptTemplateTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/script/JythonScriptTemplateTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/script/KotlinScriptTemplateTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/script/NashornScriptTemplateTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewResolverTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/socket/AbstractWebSocketIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/java/org/springframework/web/reactive/socket/WebSocketIntegrationTests.java (100%) rename {spring-web-reactive => spring-webflux}/src/test/kotlin/org/springframework/web/reactive/function/server/RouterFunctionExtensionsTests.kt (100%) rename {spring-web-reactive => spring-webflux}/src/test/kotlin/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt (100%) rename {spring-web-reactive => spring-webflux}/src/test/kotlin/org/springframework/web/reactive/result/view/script/ScriptTemplateWithBindingsExtensions.kt (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/META-INF/services/javax.script.ScriptEngineFactory (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/log4j2-test.xml (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/config/testStylesheet.css (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/function/response.txt (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/function/server/child/response.txt (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/function/server/response.txt (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/handler/map.xml (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/bar.css (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/error.appcache (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/external.css (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/foo-e36d2e05253c6c7085a91522ce43a0b4.css (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/foo.css (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/foo.html (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/foo.txt (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/images/image.png (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/js/bar.js (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/js/foo.js (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/main.css (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/test/test.appcache (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/bar.css (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/baz.css (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/js/baz.js (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/resource/testsecret/secret.txt (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/method/annotation/logo.png (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/freemarker/test.ftl (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/empty.txt (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/jruby/render.rb (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/jruby/template.erb (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/jython/render.py (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/jython/template.html (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/footer.html (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/header.html (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/render.kts (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/template.kts (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/messages_en.properties (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/messages_fr.properties (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/nashorn/render.js (100%) rename {spring-web-reactive => spring-webflux}/src/test/resources/org/springframework/web/reactive/result/view/script/nashorn/template.html (100%) delete mode 100644 src/asciidoc/images/web-reactive-overview.png create mode 100644 src/asciidoc/images/webflux-overview.png rename src/asciidoc/{web-reactive.adoc => web-flux.adoc} (91%) diff --git a/build.gradle b/build.gradle index e2e0cfab28..001020410b 100644 --- a/build.gradle +++ b/build.gradle @@ -811,8 +811,8 @@ project("spring-web") { } } -project("spring-web-reactive") { - description = "Spring Web Reactive" +project("spring-webflux") { + description = "Spring WebFlux" dependencies { compile(project(":spring-core")) diff --git a/settings.gradle b/settings.gradle index 316022a704..d62c833cc6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -19,7 +19,7 @@ include "spring-test" include "spring-tx" include "spring-web" include "spring-webmvc" -include "spring-web-reactive" +include "spring-webflux" include "spring-websocket" include "spring-framework-bom" diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/BindingContext.java b/spring-webflux/src/main/java/org/springframework/web/reactive/BindingContext.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/BindingContext.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/BindingContext.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/DispatcherHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/DispatcherHandler.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/DispatcherHandler.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/DispatcherHandler.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/HandlerAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/HandlerAdapter.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/HandlerAdapter.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/HandlerAdapter.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/HandlerMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/HandlerMapping.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/HandlerMapping.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/HandlerMapping.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/HandlerResult.java b/spring-webflux/src/main/java/org/springframework/web/reactive/HandlerResult.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/HandlerResult.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/HandlerResult.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/HandlerResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/HandlerResultHandler.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/HandlerResultHandler.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/HandlerResultHandler.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/AbstractMappingContentTypeResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/AbstractMappingContentTypeResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/AbstractMappingContentTypeResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/accept/AbstractMappingContentTypeResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/CompositeContentTypeResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/CompositeContentTypeResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/CompositeContentTypeResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/accept/CompositeContentTypeResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/FixedContentTypeResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/FixedContentTypeResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/FixedContentTypeResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/accept/FixedContentTypeResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/HeaderContentTypeResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/HeaderContentTypeResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/HeaderContentTypeResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/accept/HeaderContentTypeResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/MappingContentTypeResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/MappingContentTypeResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/MappingContentTypeResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/accept/MappingContentTypeResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/ParameterContentTypeResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/ParameterContentTypeResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/ParameterContentTypeResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/accept/ParameterContentTypeResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/accept/RequestedContentTypeResolverBuilder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/accept/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/accept/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/CorsRegistration.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/CorsRegistration.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/CorsRegistration.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/CorsRegistration.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/CorsRegistry.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/CorsRegistry.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/CorsRegistry.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/CorsRegistry.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/DelegatingWebReactiveConfiguration.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/DelegatingWebReactiveConfiguration.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/DelegatingWebReactiveConfiguration.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/DelegatingWebReactiveConfiguration.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/EnableWebReactive.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/EnableWebReactive.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/EnableWebReactive.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/EnableWebReactive.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/PathMatchConfigurer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/PathMatchConfigurer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/PathMatchConfigurer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/PathMatchConfigurer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/ResourceChainRegistration.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/ResourceChainRegistration.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/ResourceChainRegistration.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/ResourceChainRegistration.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/ResourceHandlerRegistration.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/ResourceHandlerRegistration.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/ResourceHandlerRegistration.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/ResourceHandlerRegistration.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/ResourceHandlerRegistry.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/ResourceHandlerRegistry.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/ResourceHandlerRegistry.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/ResourceHandlerRegistry.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/UrlBasedViewResolverRegistration.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/UrlBasedViewResolverRegistration.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/UrlBasedViewResolverRegistration.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/UrlBasedViewResolverRegistration.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/ViewResolverRegistry.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/ViewResolverRegistry.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/ViewResolverRegistry.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/ViewResolverRegistry.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurationSupport.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurationSupport.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurationSupport.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurationSupport.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurerComposite.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurerComposite.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurerComposite.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/WebReactiveConfigurerComposite.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/config/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/config/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/config/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyExtractor.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyExtractor.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyExtractor.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyExtractor.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyInserter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyInserter.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyInserter.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyInserter.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyInserters.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyInserters.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyInserters.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/BodyInserters.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/UnsupportedMediaTypeException.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/UnsupportedMediaTypeException.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/UnsupportedMediaTypeException.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/UnsupportedMediaTypeException.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ClientRequest.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientRequest.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ClientRequest.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientRequest.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ClientResponse.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientResponse.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ClientResponse.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientResponse.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilder.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/DefaultClientResponse.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultClientResponse.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/DefaultClientResponse.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultClientResponse.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/DefaultExchangeStrategiesBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultExchangeStrategiesBuilder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/DefaultExchangeStrategiesBuilder.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultExchangeStrategiesBuilder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunction.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunction.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunction.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunction.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctions.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctions.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctions.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctions.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ExchangeFunction.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFunction.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ExchangeFunction.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFunction.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ExchangeFunctions.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFunctions.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ExchangeFunctions.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeFunctions.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ExchangeStrategies.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeStrategies.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/ExchangeStrategies.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ExchangeStrategies.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/WebClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/WebClient.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/WebClientException.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClientException.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/WebClientException.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClientException.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/client/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/client/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/DefaultHandlerStrategiesBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultHandlerStrategiesBuilder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/DefaultHandlerStrategiesBuilder.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultHandlerStrategiesBuilder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/DefaultServerRequest.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerRequest.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/DefaultServerRequest.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerRequest.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilder.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/HandlerFilterFunction.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/HandlerFilterFunction.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/HandlerFilterFunction.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/HandlerFilterFunction.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/HandlerFunction.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/HandlerFunction.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/HandlerFunction.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/HandlerFunction.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/HandlerStrategies.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/HandlerStrategies.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/HandlerStrategies.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/HandlerStrategies.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/PathResourceLookupFunction.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/PathResourceLookupFunction.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/PathResourceLookupFunction.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/PathResourceLookupFunction.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/RequestPredicate.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/RequestPredicate.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/RequestPredicate.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/RequestPredicate.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/RequestPredicates.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/RequestPredicates.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/RequestPredicates.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/RequestPredicates.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/ResourceHandlerFunction.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ResourceHandlerFunction.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/ResourceHandlerFunction.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ResourceHandlerFunction.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/RouterFunction.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/RouterFunction.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/RouterFunction.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/RouterFunction.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/RouterFunctions.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/RouterFunctions.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/RouterFunctions.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/RouterFunctions.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/ServerRequest.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ServerRequest.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/ServerRequest.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ServerRequest.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/ServerResponse.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ServerResponse.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/ServerResponse.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ServerResponse.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/support/HandlerFunctionAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/support/HandlerFunctionAdapter.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/support/HandlerFunctionAdapter.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/support/HandlerFunctionAdapter.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/support/ServerRequestWrapper.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/support/ServerRequestWrapper.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/support/ServerRequestWrapper.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/support/ServerRequestWrapper.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/support/ServerResponseResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/support/ServerResponseResultHandler.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/support/ServerResponseResultHandler.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/support/ServerResponseResultHandler.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/support/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/support/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/function/server/support/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/function/server/support/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/handler/AbstractHandlerMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/handler/AbstractHandlerMapping.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/handler/AbstractHandlerMapping.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/handler/AbstractHandlerMapping.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/handler/AbstractUrlHandlerMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/handler/AbstractUrlHandlerMapping.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/handler/AbstractUrlHandlerMapping.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/handler/AbstractUrlHandlerMapping.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMapping.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMapping.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMapping.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/handler/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/handler/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/handler/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/handler/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/AbstractResourceResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/AbstractResourceResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/AbstractResourceResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/AbstractResourceResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/AbstractVersionStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/AbstractVersionStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/AbstractVersionStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/AbstractVersionStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/AppCacheManifestTransformer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/AppCacheManifestTransformer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/AppCacheManifestTransformer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/AppCacheManifestTransformer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/CachingResourceResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CachingResourceResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/CachingResourceResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/CachingResourceResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/CachingResourceTransformer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CachingResourceTransformer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/CachingResourceTransformer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/CachingResourceTransformer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ContentVersionStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ContentVersionStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ContentVersionStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/ContentVersionStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/DefaultResourceResolverChain.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/DefaultResourceResolverChain.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/DefaultResourceResolverChain.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/DefaultResourceResolverChain.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/DefaultResourceTransformerChain.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/DefaultResourceTransformerChain.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/DefaultResourceTransformerChain.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/DefaultResourceTransformerChain.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/FixedVersionStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/FixedVersionStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/FixedVersionStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/FixedVersionStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/GzipResourceResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/GzipResourceResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/GzipResourceResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/GzipResourceResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/HttpResource.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/HttpResource.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/HttpResource.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/HttpResource.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/PathResourceResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/PathResourceResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/PathResourceResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/PathResourceResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceResolverChain.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceResolverChain.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceResolverChain.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceResolverChain.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceTransformer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceTransformer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceTransformer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceTransformer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceTransformerChain.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceTransformerChain.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceTransformerChain.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceTransformerChain.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceTransformerSupport.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceTransformerSupport.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceTransformerSupport.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceTransformerSupport.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceWebHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceWebHandler.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/ResourceWebHandler.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceWebHandler.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/TransformedResource.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/TransformedResource.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/TransformedResource.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/TransformedResource.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/VersionPathStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionPathStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/VersionPathStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionPathStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/VersionStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/VersionStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/WebJarsResourceResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/WebJarsResourceResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/WebJarsResourceResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/WebJarsResourceResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/resource/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/resource/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/AbstractHandlerResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/AbstractHandlerResultHandler.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/AbstractHandlerResultHandler.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/AbstractHandlerResultHandler.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/SimpleHandlerAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/SimpleHandlerAdapter.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/SimpleHandlerAdapter.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/SimpleHandlerAdapter.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/AbstractMediaTypeExpression.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/AbstractMediaTypeExpression.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/AbstractMediaTypeExpression.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/AbstractMediaTypeExpression.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/AbstractNameValueExpression.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/AbstractNameValueExpression.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/AbstractNameValueExpression.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/AbstractNameValueExpression.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/AbstractRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/AbstractRequestCondition.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/AbstractRequestCondition.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/AbstractRequestCondition.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/CompositeRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/CompositeRequestCondition.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/CompositeRequestCondition.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/CompositeRequestCondition.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/ConsumesRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ConsumesRequestCondition.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/ConsumesRequestCondition.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ConsumesRequestCondition.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/HeadersRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/HeadersRequestCondition.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/HeadersRequestCondition.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/HeadersRequestCondition.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/MediaTypeExpression.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/MediaTypeExpression.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/MediaTypeExpression.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/MediaTypeExpression.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/NameValueExpression.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/NameValueExpression.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/NameValueExpression.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/NameValueExpression.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/ParamsRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ParamsRequestCondition.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/ParamsRequestCondition.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ParamsRequestCondition.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/PatternsRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/PatternsRequestCondition.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/PatternsRequestCondition.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/PatternsRequestCondition.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/ProducesRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ProducesRequestCondition.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/ProducesRequestCondition.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ProducesRequestCondition.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/RequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/RequestCondition.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/RequestCondition.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/RequestCondition.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/RequestConditionHolder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/RequestConditionHolder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/RequestConditionHolder.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/RequestConditionHolder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestCondition.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestCondition.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestCondition.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/condition/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/HandlerMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/HandlerMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/HandlerMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/HandlerMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfo.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfo.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfo.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfo.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/SyncHandlerMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/SyncHandlerMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/SyncHandlerMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/SyncHandlerMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/SyncInvocableHandlerMethod.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/SyncInvocableHandlerMethod.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/SyncInvocableHandlerMethod.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/SyncInvocableHandlerMethod.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageReaderArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageReaderArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageReaderArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageReaderArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueSyncArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueSyncArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueSyncArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueSyncArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/BindingContextFactory.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/BindingContextFactory.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/BindingContextFactory.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/BindingContextFactory.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ErrorsMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ErrorsMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ErrorsMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ErrorsMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContext.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContext.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContext.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContext.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/PrincipalArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/PrincipalArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/PrincipalArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/PrincipalArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMapping.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMapping.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMapping.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandler.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandler.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandler.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/WebSessionArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/WebSessionArgumentResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/WebSessionArgumentResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/WebSessionArgumentResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/method/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/AbstractUrlBasedView.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/AbstractUrlBasedView.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/AbstractUrlBasedView.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/AbstractUrlBasedView.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/AbstractView.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/AbstractView.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/AbstractView.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/AbstractView.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/BindStatus.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/BindStatus.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/BindStatus.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/BindStatus.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/HttpMessageWriterView.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/HttpMessageWriterView.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/HttpMessageWriterView.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/HttpMessageWriterView.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/RequestContext.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RequestContext.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/RequestContext.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RequestContext.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/RequestDataValueProcessor.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RequestDataValueProcessor.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/RequestDataValueProcessor.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RequestDataValueProcessor.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/UrlBasedViewResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/UrlBasedViewResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/UrlBasedViewResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/UrlBasedViewResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/View.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/View.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/View.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/View.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolverSupport.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolverSupport.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolverSupport.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolverSupport.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfig.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfig.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfig.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfig.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfigurer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfigurer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfigurer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfigurer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerView.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerView.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerView.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerView.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/RenderingContext.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/RenderingContext.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/RenderingContext.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/RenderingContext.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateConfig.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateConfig.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateConfig.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateConfig.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateConfigurer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateConfigurer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateConfigurer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateConfigurer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateView.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateView.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateView.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateView.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewResolver.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewResolver.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewResolver.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/script/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/result/view/script/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/CloseStatus.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/CloseStatus.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/CloseStatus.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/CloseStatus.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/HandshakeInfo.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/HandshakeInfo.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/HandshakeInfo.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/HandshakeInfo.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/WebSocketHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/WebSocketHandler.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/WebSocketHandler.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/WebSocketHandler.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/WebSocketMessage.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/WebSocketMessage.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/WebSocketMessage.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/WebSocketMessage.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/WebSocketSession.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/WebSocketSession.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/WebSocketSession.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/WebSocketSession.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/AbstractListenerWebSocketSession.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/AbstractListenerWebSocketSession.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/AbstractListenerWebSocketSession.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/AbstractListenerWebSocketSession.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/AbstractWebSocketSession.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/AbstractWebSocketSession.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/AbstractWebSocketSession.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/AbstractWebSocketSession.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketHandlerAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketHandlerAdapter.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketHandlerAdapter.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketHandlerAdapter.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketSession.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketSession.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketSession.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketSession.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/NettyWebSocketSessionSupport.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/NettyWebSocketSessionSupport.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/NettyWebSocketSessionSupport.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/NettyWebSocketSessionSupport.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/ReactorNettyWebSocketSession.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/ReactorNettyWebSocketSession.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/ReactorNettyWebSocketSession.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/ReactorNettyWebSocketSession.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/RxNettyWebSocketSession.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/RxNettyWebSocketSession.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/RxNettyWebSocketSession.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/RxNettyWebSocketSession.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/StandardWebSocketHandlerAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/StandardWebSocketHandlerAdapter.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/StandardWebSocketHandlerAdapter.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/StandardWebSocketHandlerAdapter.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/StandardWebSocketSession.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/StandardWebSocketSession.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/StandardWebSocketSession.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/StandardWebSocketSession.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/UndertowWebSocketHandlerAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/UndertowWebSocketHandlerAdapter.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/UndertowWebSocketHandlerAdapter.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/UndertowWebSocketHandlerAdapter.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/UndertowWebSocketSession.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/UndertowWebSocketSession.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/UndertowWebSocketSession.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/UndertowWebSocketSession.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/adapter/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/JettyWebSocketClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/JettyWebSocketClient.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/JettyWebSocketClient.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/JettyWebSocketClient.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/ReactorNettyWebSocketClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/ReactorNettyWebSocketClient.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/ReactorNettyWebSocketClient.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/ReactorNettyWebSocketClient.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/RxNettyWebSocketClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/RxNettyWebSocketClient.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/RxNettyWebSocketClient.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/RxNettyWebSocketClient.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/StandardWebSocketClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/StandardWebSocketClient.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/StandardWebSocketClient.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/StandardWebSocketClient.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/UndertowWebSocketClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/UndertowWebSocketClient.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/UndertowWebSocketClient.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/UndertowWebSocketClient.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/WebSocketClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/WebSocketClient.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/WebSocketClient.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/WebSocketClient.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/WebSocketClientSupport.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/WebSocketClientSupport.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/WebSocketClientSupport.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/WebSocketClientSupport.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/client/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/RequestUpgradeStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/RequestUpgradeStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/RequestUpgradeStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/RequestUpgradeStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/WebSocketService.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/WebSocketService.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/WebSocketService.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/WebSocketService.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/support/HandshakeWebSocketService.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/HandshakeWebSocketService.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/support/HandshakeWebSocketService.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/HandshakeWebSocketService.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/support/WebSocketHandlerAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/WebSocketHandlerAdapter.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/support/WebSocketHandlerAdapter.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/WebSocketHandlerAdapter.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/support/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/support/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/DefaultServerEndpointConfig.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/DefaultServerEndpointConfig.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/DefaultServerEndpointConfig.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/DefaultServerEndpointConfig.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/JettyRequestUpgradeStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/JettyRequestUpgradeStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/JettyRequestUpgradeStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/JettyRequestUpgradeStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/ReactorNettyRequestUpgradeStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/ReactorNettyRequestUpgradeStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/ReactorNettyRequestUpgradeStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/ReactorNettyRequestUpgradeStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/RxNettyRequestUpgradeStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/RxNettyRequestUpgradeStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/RxNettyRequestUpgradeStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/RxNettyRequestUpgradeStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/TomcatRequestUpgradeStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/TomcatRequestUpgradeStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/TomcatRequestUpgradeStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/TomcatRequestUpgradeStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/UndertowRequestUpgradeStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/UndertowRequestUpgradeStrategy.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/UndertowRequestUpgradeStrategy.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/UndertowRequestUpgradeStrategy.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/server/upgrade/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/support/AbstractAnnotationConfigDispatcherHandlerInitializer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/support/AbstractAnnotationConfigDispatcherHandlerInitializer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/support/AbstractAnnotationConfigDispatcherHandlerInitializer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/support/AbstractAnnotationConfigDispatcherHandlerInitializer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/support/AbstractDispatcherHandlerInitializer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/support/AbstractDispatcherHandlerInitializer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/support/AbstractDispatcherHandlerInitializer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/support/AbstractDispatcherHandlerInitializer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/support/AbstractServletHttpHandlerAdapterInitializer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/support/AbstractServletHttpHandlerAdapterInitializer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/support/AbstractServletHttpHandlerAdapterInitializer.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/support/AbstractServletHttpHandlerAdapterInitializer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/support/package-info.java b/spring-webflux/src/main/java/org/springframework/web/reactive/support/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/support/package-info.java rename to spring-webflux/src/main/java/org/springframework/web/reactive/support/package-info.java diff --git a/spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/BodyExtractorsExtensions.kt b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/BodyExtractorsExtensions.kt similarity index 100% rename from spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/BodyExtractorsExtensions.kt rename to spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/BodyExtractorsExtensions.kt diff --git a/spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/BodyInsertersExtensions.kt b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/BodyInsertersExtensions.kt similarity index 100% rename from spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/BodyInsertersExtensions.kt rename to spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/BodyInsertersExtensions.kt diff --git a/spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensions.kt b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensions.kt similarity index 100% rename from spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensions.kt rename to spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensions.kt diff --git a/spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/client/WebClientExtensions.kt b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/WebClientExtensions.kt similarity index 100% rename from spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/client/WebClientExtensions.kt rename to spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/WebClientExtensions.kt diff --git a/spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/server/RouterFunctionExtensions.kt b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/RouterFunctionExtensions.kt similarity index 100% rename from spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/server/RouterFunctionExtensions.kt rename to spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/RouterFunctionExtensions.kt diff --git a/spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensions.kt b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensions.kt similarity index 100% rename from spring-web-reactive/src/main/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensions.kt rename to spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensions.kt diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/FlushingIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/FlushingIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/FlushingIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/FlushingIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/accept/CompositeContentTypeResolverBuilderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/accept/CompositeContentTypeResolverBuilderTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/accept/CompositeContentTypeResolverBuilderTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/accept/CompositeContentTypeResolverBuilderTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/accept/HeaderContentTypeResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/accept/HeaderContentTypeResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/accept/HeaderContentTypeResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/accept/HeaderContentTypeResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/accept/MappingContentTypeResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/accept/MappingContentTypeResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/accept/MappingContentTypeResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/accept/MappingContentTypeResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/config/CorsRegistryTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/config/CorsRegistryTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/config/CorsRegistryTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/config/CorsRegistryTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/config/DelegatingWebReactiveConfigurationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/config/DelegatingWebReactiveConfigurationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/config/DelegatingWebReactiveConfigurationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/config/DelegatingWebReactiveConfigurationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/config/ResourceHandlerRegistryTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/config/ResourceHandlerRegistryTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/config/ResourceHandlerRegistryTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/config/ResourceHandlerRegistryTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/config/ViewResolverRegistryTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/config/ViewResolverRegistryTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/config/ViewResolverRegistryTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/config/ViewResolverRegistryTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/config/WebReactiveConfigurationSupportTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/config/WebReactiveConfigurationSupportTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/config/WebReactiveConfigurationSupportTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/config/WebReactiveConfigurationSupportTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/BodyExtractorsTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/BodyExtractorsTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/BodyExtractorsTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/BodyExtractorsTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/BodyInsertersTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/BodyInsertersTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/BodyInsertersTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/BodyInsertersTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilderTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilderTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilderTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/DefaultClientResponseTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientResponseTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/DefaultClientResponseTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientResponseTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/DefaultWebClientTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultWebClientTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/DefaultWebClientTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultWebClientTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctionsTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctionsTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctionsTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/client/ExchangeFilterFunctionsTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/ExchangeStrategiesTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/ExchangeStrategiesTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/ExchangeStrategiesTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/client/ExchangeStrategiesTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/AbstractRouterFunctionIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/AbstractRouterFunctionIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/AbstractRouterFunctionIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/AbstractRouterFunctionIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/DefaultServerRequestTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerRequestTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/DefaultServerRequestTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerRequestTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilderTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilderTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilderTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/DispatcherHandlerIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DispatcherHandlerIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/DispatcherHandlerIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DispatcherHandlerIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/HandlerStrategiesTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/HandlerStrategiesTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/HandlerStrategiesTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/HandlerStrategiesTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/HeadersWrapperTest.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/HeadersWrapperTest.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/HeadersWrapperTest.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/HeadersWrapperTest.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/MockServerRequest.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/MockServerRequest.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/MockServerRequest.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/MockServerRequest.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/PathResourceLookupFunctionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/PathResourceLookupFunctionTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/PathResourceLookupFunctionTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/PathResourceLookupFunctionTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/PublisherHandlerFunctionIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/PublisherHandlerFunctionIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/PublisherHandlerFunctionIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/PublisherHandlerFunctionIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/RequestPredicateTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RequestPredicateTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/RequestPredicateTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RequestPredicateTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/RequestPredicatesTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RequestPredicatesTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/RequestPredicatesTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RequestPredicatesTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/ResourceHandlerFunctionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/ResourceHandlerFunctionTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/ResourceHandlerFunctionTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/ResourceHandlerFunctionTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionsTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionsTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionsTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionsTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/SseHandlerFunctionIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/SseHandlerFunctionIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/SseHandlerFunctionIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/SseHandlerFunctionIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/support/ServerRequestWrapperTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/support/ServerRequestWrapperTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/function/server/support/ServerRequestWrapperTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/function/server/support/ServerRequestWrapperTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/handler/CorsUrlHandlerMappingTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/handler/CorsUrlHandlerMappingTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/handler/CorsUrlHandlerMappingTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/handler/CorsUrlHandlerMappingTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/handler/SimpleUrlHandlerMappingTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/AppCacheManifestTransformerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/AppCacheManifestTransformerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/AppCacheManifestTransformerTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/AppCacheManifestTransformerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/CachingResourceResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/CachingResourceResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/CachingResourceResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/CachingResourceResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/ContentBasedVersionStrategyTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ContentBasedVersionStrategyTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/ContentBasedVersionStrategyTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/ContentBasedVersionStrategyTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/CssLinkResourceTransformerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/CssLinkResourceTransformerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/CssLinkResourceTransformerTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/CssLinkResourceTransformerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/FixedVersionStrategyTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/FixedVersionStrategyTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/FixedVersionStrategyTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/FixedVersionStrategyTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/GzipResourceResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/GzipResourceResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/GzipResourceResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/GzipResourceResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/PathResourceResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/PathResourceResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/PathResourceResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/PathResourceResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/ResourceTransformerSupportTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceTransformerSupportTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/ResourceTransformerSupportTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceTransformerSupportTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/ResourceUrlProviderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceUrlProviderTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/ResourceUrlProviderTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceUrlProviderTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/ResourceWebHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceWebHandlerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/ResourceWebHandlerTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/ResourceWebHandlerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/VersionResourceResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/VersionResourceResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/VersionResourceResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/VersionResourceResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/WebJarsResourceResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/resource/WebJarsResourceResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/resource/WebJarsResourceResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/resource/WebJarsResourceResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/HandlerResultHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/HandlerResultHandlerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/HandlerResultHandlerTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/HandlerResultHandlerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/ResolvableMethod.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/ResolvableMethod.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/ResolvableMethod.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/ResolvableMethod.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/SimpleUrlHandlerMappingIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/SimpleUrlHandlerMappingIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/SimpleUrlHandlerMappingIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/SimpleUrlHandlerMappingIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/CompositeRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/CompositeRequestConditionTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/CompositeRequestConditionTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/CompositeRequestConditionTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/ConsumesRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ConsumesRequestConditionTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/ConsumesRequestConditionTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ConsumesRequestConditionTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/HeadersRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/HeadersRequestConditionTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/HeadersRequestConditionTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/HeadersRequestConditionTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/ParamsRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ParamsRequestConditionTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/ParamsRequestConditionTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ParamsRequestConditionTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/ProducesRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ProducesRequestConditionTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/ProducesRequestConditionTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/ProducesRequestConditionTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/RequestConditionHolderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestConditionHolderTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/RequestConditionHolderTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestConditionHolderTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/RequestMappingInfoTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMappingInfoTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/RequestMappingInfoTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMappingInfoTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestConditionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestConditionTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestConditionTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestConditionTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/InvocableHandlerMethodTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/InvocableHandlerMethodTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/InvocableHandlerMethodTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/InvocableHandlerMethodTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMappingTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMappingTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMappingTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMappingTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/AbstractRequestMappingIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/AbstractRequestMappingIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/AbstractRequestMappingIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/AbstractRequestMappingIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/BindingContextFactoryTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/BindingContextFactoryTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/BindingContextFactoryTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/BindingContextFactoryTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ContextPathIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ContextPathIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ContextPathIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ContextPathIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/CrossOriginAnnotationIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/CrossOriginAnnotationIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/CrossOriginAnnotationIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/CrossOriginAnnotationIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ErrorsArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ErrorsArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ErrorsArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ErrorsArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/GlobalCorsConfigIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/GlobalCorsConfigIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/GlobalCorsConfigIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/GlobalCorsConfigIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContextTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContextTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContextTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContextTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/JacksonHintsIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/JacksonHintsIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/JacksonHintsIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/JacksonHintsIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageReaderArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageReaderArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageReaderArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageReaderArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageWriterResultHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageWriterResultHandlerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageWriterResultHandlerTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageWriterResultHandlerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingDataBindingIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingDataBindingIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingDataBindingIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingDataBindingIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingExceptionHandlingIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingExceptionHandlingIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingExceptionHandlingIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingExceptionHandlingIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMappingTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMappingTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMappingTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerMappingTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingMessageConversionIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingMessageConversionIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingMessageConversionIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingMessageConversionIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingViewResolutionIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingViewResolutionIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingViewResolutionIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingViewResolutionIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandlerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandlerTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandlerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/HttpMessageWriterViewTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/HttpMessageWriterViewTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/HttpMessageWriterViewTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/HttpMessageWriterViewTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/RedirectViewTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/RedirectViewTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/RedirectViewTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/RedirectViewTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/RequestContextTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/RequestContextTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/RequestContextTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/RequestContextTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/UrlBasedViewResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/UrlBasedViewResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/UrlBasedViewResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/UrlBasedViewResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandlerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandlerTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandlerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/JRubyScriptTemplateTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/JRubyScriptTemplateTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/JRubyScriptTemplateTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/JRubyScriptTemplateTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/JythonScriptTemplateTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/JythonScriptTemplateTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/JythonScriptTemplateTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/JythonScriptTemplateTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/KotlinScriptTemplateTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/KotlinScriptTemplateTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/KotlinScriptTemplateTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/KotlinScriptTemplateTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/NashornScriptTemplateTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/NashornScriptTemplateTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/NashornScriptTemplateTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/NashornScriptTemplateTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewResolverTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewResolverTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewResolverTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/result/view/script/ScriptTemplateViewTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/socket/AbstractWebSocketIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/socket/AbstractWebSocketIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/socket/AbstractWebSocketIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/socket/AbstractWebSocketIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/socket/WebSocketIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/socket/WebSocketIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/socket/WebSocketIntegrationTests.java rename to spring-webflux/src/test/java/org/springframework/web/reactive/socket/WebSocketIntegrationTests.java diff --git a/spring-web-reactive/src/test/kotlin/org/springframework/web/reactive/function/server/RouterFunctionExtensionsTests.kt b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/server/RouterFunctionExtensionsTests.kt similarity index 100% rename from spring-web-reactive/src/test/kotlin/org/springframework/web/reactive/function/server/RouterFunctionExtensionsTests.kt rename to spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/server/RouterFunctionExtensionsTests.kt diff --git a/spring-web-reactive/src/test/kotlin/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt similarity index 100% rename from spring-web-reactive/src/test/kotlin/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt rename to spring-webflux/src/test/kotlin/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt diff --git a/spring-web-reactive/src/test/kotlin/org/springframework/web/reactive/result/view/script/ScriptTemplateWithBindingsExtensions.kt b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/result/view/script/ScriptTemplateWithBindingsExtensions.kt similarity index 100% rename from spring-web-reactive/src/test/kotlin/org/springframework/web/reactive/result/view/script/ScriptTemplateWithBindingsExtensions.kt rename to spring-webflux/src/test/kotlin/org/springframework/web/reactive/result/view/script/ScriptTemplateWithBindingsExtensions.kt diff --git a/spring-web-reactive/src/test/resources/META-INF/services/javax.script.ScriptEngineFactory b/spring-webflux/src/test/resources/META-INF/services/javax.script.ScriptEngineFactory similarity index 100% rename from spring-web-reactive/src/test/resources/META-INF/services/javax.script.ScriptEngineFactory rename to spring-webflux/src/test/resources/META-INF/services/javax.script.ScriptEngineFactory diff --git a/spring-web-reactive/src/test/resources/log4j2-test.xml b/spring-webflux/src/test/resources/log4j2-test.xml similarity index 100% rename from spring-web-reactive/src/test/resources/log4j2-test.xml rename to spring-webflux/src/test/resources/log4j2-test.xml diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/config/testStylesheet.css b/spring-webflux/src/test/resources/org/springframework/web/reactive/config/testStylesheet.css similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/config/testStylesheet.css rename to spring-webflux/src/test/resources/org/springframework/web/reactive/config/testStylesheet.css diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/function/response.txt b/spring-webflux/src/test/resources/org/springframework/web/reactive/function/response.txt similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/function/response.txt rename to spring-webflux/src/test/resources/org/springframework/web/reactive/function/response.txt diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/function/server/child/response.txt b/spring-webflux/src/test/resources/org/springframework/web/reactive/function/server/child/response.txt similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/function/server/child/response.txt rename to spring-webflux/src/test/resources/org/springframework/web/reactive/function/server/child/response.txt diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/function/server/response.txt b/spring-webflux/src/test/resources/org/springframework/web/reactive/function/server/response.txt similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/function/server/response.txt rename to spring-webflux/src/test/resources/org/springframework/web/reactive/function/server/response.txt diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/handler/map.xml b/spring-webflux/src/test/resources/org/springframework/web/reactive/handler/map.xml similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/handler/map.xml rename to spring-webflux/src/test/resources/org/springframework/web/reactive/handler/map.xml diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/bar.css b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/bar.css similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/bar.css rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/bar.css diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/error.appcache b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/error.appcache similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/error.appcache rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/error.appcache diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/external.css b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/external.css similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/external.css rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/external.css diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/foo-e36d2e05253c6c7085a91522ce43a0b4.css b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/foo-e36d2e05253c6c7085a91522ce43a0b4.css similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/foo-e36d2e05253c6c7085a91522ce43a0b4.css rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/foo-e36d2e05253c6c7085a91522ce43a0b4.css diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/foo.css b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/foo.css similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/foo.css rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/foo.css diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/foo.html b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/foo.html similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/foo.html rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/foo.html diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/foo.txt b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/foo.txt similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/foo.txt rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/foo.txt diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/images/image.png b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/images/image.png similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/images/image.png rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/images/image.png diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/js/bar.js b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/js/bar.js similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/js/bar.js rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/js/bar.js diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/js/foo.js b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/js/foo.js similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/js/foo.js rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/js/foo.js diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/main.css b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/main.css similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/main.css rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/main.css diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/test.appcache b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/test.appcache similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/test/test.appcache rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/test/test.appcache diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/bar.css b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/bar.css similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/bar.css rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/bar.css diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/baz.css b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/baz.css similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/baz.css rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/baz.css diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/js/baz.js b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/js/baz.js similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/js/baz.js rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/testalternatepath/js/baz.js diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/testsecret/secret.txt b/spring-webflux/src/test/resources/org/springframework/web/reactive/resource/testsecret/secret.txt similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/resource/testsecret/secret.txt rename to spring-webflux/src/test/resources/org/springframework/web/reactive/resource/testsecret/secret.txt diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/method/annotation/logo.png b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/method/annotation/logo.png similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/method/annotation/logo.png rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/method/annotation/logo.png diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/freemarker/test.ftl b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/freemarker/test.ftl similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/freemarker/test.ftl rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/freemarker/test.ftl diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/empty.txt b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/empty.txt similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/empty.txt rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/empty.txt diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/jruby/render.rb b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/jruby/render.rb similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/jruby/render.rb rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/jruby/render.rb diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/jruby/template.erb b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/jruby/template.erb similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/jruby/template.erb rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/jruby/template.erb diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/jython/render.py b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/jython/render.py similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/jython/render.py rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/jython/render.py diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/jython/template.html b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/jython/template.html similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/jython/template.html rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/jython/template.html diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/footer.html b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/footer.html similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/footer.html rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/footer.html diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/header.html b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/header.html similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/header.html rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/header.html diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/render.kts b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/render.kts similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/render.kts rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/render.kts diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/template.kts b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/template.kts similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/template.kts rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/kotlin/template.kts diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/messages_en.properties b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/messages_en.properties similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/messages_en.properties rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/messages_en.properties diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/messages_fr.properties b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/messages_fr.properties similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/messages_fr.properties rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/messages_fr.properties diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/nashorn/render.js b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/nashorn/render.js similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/nashorn/render.js rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/nashorn/render.js diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/nashorn/template.html b/spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/nashorn/template.html similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/script/nashorn/template.html rename to spring-webflux/src/test/resources/org/springframework/web/reactive/result/view/script/nashorn/template.html diff --git a/src/asciidoc/images/web-reactive-overview.png b/src/asciidoc/images/web-reactive-overview.png deleted file mode 100644 index adc7629cf6a2260a217c6dd127f6c71e697c07dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73418 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 diff --git a/src/asciidoc/images/webflux-overview.png b/src/asciidoc/images/webflux-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..62774d0c64ed177e79b9456a9d5a28c42f167685 GIT binary patch literal 71929 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, and so is HTML view rendering and Server-Sent Events. ==== Annotation-based Programming Model The same `@Controller` programming model and the same annotations used in Spring MVC -are also supported on the reactive side. The main difference is that the framework -contracts underneath -- i.e. `HandlerMapping`, `HandlerAdapter`, are +are also supported in WebFlux. The main difference is that the underlying core, +framework contracts -- i.e. `HandlerMapping`, `HandlerAdapter`, are non-blocking and operate on the reactive `ServerHttpRequest` and `ServerHttpResponse` rather than on the `HttpServletRequest` and `HttpServletResponse`. Below is an example with a reactive controller: @@ -157,7 +157,7 @@ https://spring.io/blog/2016/09/22/new-in-spring-5-functional-web-framework[M3 re [[web-reactive-client]] === Client Side -Spring Framework 5 includes a functional, reactive `WebClient` that offers a fully +WebFlux includes a functional, reactive `WebClient` that offers a fully non-blocking and reactive alternative to the `RestTemplate`. It exposes network input and output as a reactive `ClientHttpRequest` and `ClientHttpRespones` where the body of the request and response is a `Flux` rather than an @@ -169,14 +169,11 @@ implementation to plug in a specific HTTP client such as Reactor Netty: [source,java,indent=0] [subs="verbatim,quotes"] ---- -WebClient client = WebClient.create(new ReactorClientHttpConnector()); +WebClient client = WebClient.create("http://example.com"); -ClientRequest request = ClientRequest - .GET("http://example.com/accounts/{id}", 1L) +Mono account = client.get() + .url("/accounts/{id}", 1L) .accept(APPLICATION_JSON) - .build(); - -Mono account = client .exchange(request) .then(response -> response.bodyToMono(Account.class)); ---- @@ -224,8 +221,8 @@ when the method returns; implies a synchronous, non-blocking controller method. [[web-reactive-websocket-support]] === Reactive WebSocket Support -The Spring Framework 5 `spring-web-reactive` module includes reactive WebSocket -client and server support. Both client and server are supported on the Java WebSocket API +WebFlux includes reactive WebSocket client and server support. +Both client and server are supported on the Java WebSocket API (JSR-356), Jetty, Undertow, Reactor Netty, and RxNetty. On the server side, declare a `WebSocketHandlerAdapter` and then simply add @@ -291,7 +288,7 @@ it's very easy to try it out. See the next section on "Manual Bootstrapping". This section outlines the steps to get up and running manually. -For dependencies start with `spring-web-reactive` and `spring-context`. +For dependencies start with `spring-webflux` and `spring-context`. Then add `jackson-databind` and `io.netty:netty-buffer` (temporarily see https://jira.spring.io/browse/SPR-14528[SPR-14528]) for JSON support. Lastly add the dependencies for one of the supported runtimes: @@ -379,4 +376,4 @@ You will find code examples useful to build reactive Web application in the foll * https://github.com/thymeleaf/thymeleafsandbox-biglist-reactive[Reactive Thymeleaf Sandbox] * https://github.com/mix-it/mixit/[Mix-it 2017 website]: Kotlin + Reactive + Functional web and bean registration API application * https://github.com/simonbasle/reactor-by-example[Reactor by example]: code snippets coming from this https://www.infoq.com/articles/reactor-by-example[InfoQ article] -* https://github.com/spring-projects/spring-framework/tree/master/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation[Spring integration tests]: various features tested with Reactor https://projectreactor.io/docs/test/release/api/index.html?reactor/test/StepVerifier.html[`StepVerifier`] +* https://github.com/spring-projects/spring-framework/tree/master/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation[Spring integration tests]: various features tested with Reactor https://projectreactor.io/docs/test/release/api/index.html?reactor/test/StepVerifier.html[`StepVerifier`] diff --git a/src/asciidoc/web.adoc b/src/asciidoc/web.adoc index 8a7a56bda3..31139894ec 100644 --- a/src/asciidoc/web.adoc +++ b/src/asciidoc/web.adoc @@ -30,4 +30,4 @@ include::web-integration.adoc[leveloffset=+1] include::web-websocket.adoc[leveloffset=+1] -include::web-reactive.adoc[leveloffset=+1] +include::web-flux.adoc[leveloffset=+1]