Skip to content

Conversation

@marcusdacoregio
Copy link
Contributor

Closes gh-10902

@marcusdacoregio marcusdacoregio added in: config An issue in spring-security-config type: enhancement A general enhancement type: breaks-passivity A change that breaks passivity with the previous release labels Sep 29, 2022
@marcusdacoregio marcusdacoregio added this to the 6.0.0-RC1 milestone Sep 29, 2022
@marcusdacoregio marcusdacoregio self-assigned this Sep 29, 2022
@marcusdacoregio
Copy link
Contributor Author

marcusdacoregio commented Sep 30, 2022

I've updated the PR based on @sjohnr comment. I have also run the Spring Security Samples test against the current artifact and the build passes.

@marcusdacoregio marcusdacoregio force-pushed the gh-10902 branch 6 times, most recently from e061095 to 54ec96d Compare October 3, 2022 15:05
@marcusdacoregio marcusdacoregio merged commit 35f7e46 into spring-projects:main Oct 4, 2022
@donhuvy
Copy link
Contributor

donhuvy commented Dec 3, 2022

j-sandy added a commit to j-sandy/fiat that referenced this pull request Jan 3, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
j-sandy added a commit to j-sandy/fiat that referenced this pull request Jan 31, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
j-sandy added a commit to j-sandy/halyard that referenced this pull request Mar 10, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
j-sandy added a commit to j-sandy/halyard that referenced this pull request Mar 10, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri pushed a commit to j-sandy/fiat that referenced this pull request Apr 29, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Aug 11, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Sep 15, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Sep 15, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Sep 15, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 14, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 14, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 14, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 14, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 14, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 14, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 14, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 14, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 15, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 15, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 15, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 16, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 16, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 16, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 21, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 21, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 21, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 24, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 24, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 24, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 27, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 27, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Oct 27, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Nov 2, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Nov 2, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Nov 2, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Nov 8, 2025
….x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
rahul-chekuri pushed a commit to rahul-chekuri/spinnaker that referenced this pull request Nov 8, 2025
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

===============================================================================================

refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

===============================================================================================

refactor(dependency): migrate rxjava to rxjava3 during upgrade of spring boot 3.0.x

Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

And refactored the code to accomodate changes required by rxjava2 and rxjava3 following the changelogs.
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-3.0

================================================================================================

refactor(util): replace SocketUtils with TestSocketUtils during upgrade of spring boot 3.0.x

`org.springframework.util.SocketUtils` has been deprecated in spring framework 5.3.x and removed from 6.0.
`org.springframework.test.util.TestSocketUtils` has been introduced as a replacement of `SocketUtils`.

spring-projects/spring-framework#28052
spring-projects/spring-framework#28210
rahul-chekuri added a commit to rahul-chekuri/spinnaker that referenced this pull request Nov 8, 2025
…m javax to jakarta packages for SpringBoot 3 compatibility

Addressed build failure by replacing jakarta with javax. This issue arises as Spring Boot 3 now relies on Jakarta packages instead of javax.
Reference Links:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
spring-projects/spring-security#11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter
dbyron-sf pushed a commit to spinnaker/spinnaker that referenced this pull request Nov 10, 2025
… cloud from 2021.0.x to 2022.0.x (#7057)

* chore(dependency): upgrade spring boot from 2.7.x to 3.0.x and spring cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Unpinning okhttp and rest-assured, as spring boot [3.0.13](https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/3.0.13/spring-boot-dependencies-3.0.13.pom) brings okhttp 4.10.0 and rest-assured 5.2.1.

While upgrading the spring boot and spring cloud, encountered the below errors during build process of kork-jedis module:
```
> Task :kork-jedis:compileJava FAILED
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:23: error: cannot find symbol
import redis.clients.jedis.ScanParams;
                          ^
  symbol:   class ScanParams
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.ScanResult;
                          ^
  symbol:   class ScanResult
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:28: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:29: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:30: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:22: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:25: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:67: error: cannot find symbol
  public <R> R withMultiClient(Function<MultiKeyCommands, R> f) {
                                        ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:74: error: cannot find symbol
  public void withMultiClient(Consumer<MultiKeyCommands> f) {
                                       ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:81: error: cannot find symbol
  public <R> R withBinaryClient(Function<BinaryJedisCommands, R> f) {
                                         ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:88: error: cannot find symbol
  public void withBinaryClient(Consumer<BinaryJedisCommands> f) {
                                        ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:95: error: cannot find symbol
  public void withPipeline(Consumer<RedisPipeline> f) {
                                    ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:102: error: cannot find symbol
  public <R> R withPipeline(Function<RedisPipeline, R> f) {
                                     ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:109: error: cannot find symbol
  public void syncPipeline(RedisPipeline p) {
                           ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:162: error: cannot find symbol
  public void withScriptingClient(Consumer<ScriptingCommands> f) {
                                           ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:169: error: cannot find symbol
  public <R> R withScriptingClient(Function<ScriptingCommands, R> f) {
                                            ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:41: error: cannot find symbol
  <R> R withMultiClient(Function<MultiKeyCommands, R> f);
                                 ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:43: error: cannot find symbol
  void withMultiClient(Consumer<MultiKeyCommands> f);
                                ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:45: error: cannot find symbol
  <R> R withBinaryClient(Function<BinaryJedisCommands, R> f);
                                  ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:47: error: cannot find symbol
  void withBinaryClient(Consumer<BinaryJedisCommands> f);
                                 ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:49: error: cannot find symbol
  void withPipeline(Consumer<RedisPipeline> f);
                             ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:51: error: cannot find symbol
  <R> R withPipeline(Function<RedisPipeline, R> f);
                              ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:53: error: cannot find symbol
  void syncPipeline(RedisPipeline p);
                    ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:69: error: cannot find symbol
  void withScriptingClient(Consumer<ScriptingCommands> f);
                                    ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:71: error: cannot find symbol
  <R> R withScriptingClient(Function<ScriptingCommands, R> f);
                                     ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:107: error: cannot find symbol
  public void setClient(Client client) {
                        ^
  symbol:   class Client
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:386: error: cannot find symbol
  public Response<Long> sort(String key, SortingParams sortingParameters, String dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:392: error: cannot find symbol
  public Response<Long> sort(byte[] key, SortingParams sortingParameters, byte[] dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:458: error: cannot find symbol
  public Response<Long> zinterstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:464: error: cannot find symbol
  public Response<Long> zinterstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:482: error: cannot find symbol
  public Response<Long> zunionstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:488: error: cannot find symbol
  public Response<Long> zunionstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:626: error: cannot find symbol
  public Response<Long> bitop(BitOP op, byte[] destKey, byte[]... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:632: error: cannot find symbol
  public Response<Long> bitop(BitOP op, String destKey, String... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:916: error: cannot find symbol
  public Response<Long> bitpos(String key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:928: error: cannot find symbol
  public Response<Long> bitpos(byte[] key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1414: error: cannot find symbol
  public Response<List<String>> sort(String key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1420: error: cannot find symbol
  public Response<List<byte[]>> sort(byte[] key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1708: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1714: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, String min, String max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1720: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1726: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1732: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1740: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1748: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1756: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1816: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1822: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, String max, String min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1828: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1834: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1840: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1848: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1856: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1864: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1872: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1878: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1956: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1962: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2346: error: cannot find symbol
  public Response<Double> geodist(byte[] key, byte[] member1, byte[] member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2358: error: cannot find symbol
  public Response<Double> geodist(String key, String member1, String member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2389: error: cannot find symbol
      byte[] key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2388: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2400: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2395: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2409: error: cannot find symbol
      String key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2408: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2420: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2415: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2429: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2428: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2436: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2435: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2444: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2443: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2451: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2450: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:33: error: cannot find symbol
import redis.clients.jedis.util.Slowlog;
                               ^
  symbol:   class Slowlog
  location: package redis.clients.jedis.util
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:599: error: cannot find symbol
  public Set<Tuple> zrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:605: error: cannot find symbol
  public Set<Tuple> zrevrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:635: error: cannot find symbol
  public List<String> sort(String key, SortingParams sortingParameters) {
                                       ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:659: error: cannot find symbol
  public Long sort(String key, SortingParams sortingParameters, String dstkey) {
                               ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:713: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:719: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, String min, String max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:725: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:733: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:759: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:765: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:773: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:787: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, String max, String min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:817: error: cannot find symbol
  public Long zunionstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:829: error: cannot find symbol
  public Long zinterstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:902: error: cannot find symbol
      final String key, final ListPosition where, final String pivot, final String value) {
                              ^
  symbol:   class ListPosition
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:951: error: cannot find symbol
  public Long bitpos(String key, boolean value, BitPosParams params) {
                                                ^
  symbol:   class BitPosParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1044: error: cannot find symbol
  public List<Slowlog> slowlogGet() {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1050: error: cannot find symbol
  public List<Slowlog> slowlogGet(long entries) {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1086: error: cannot find symbol
  public Long bitop(BitOP op, String destKey, String... srcKeys) {
                    ^
  symbol:   class BitOP
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1195: error: cannot find symbol
  public ScanResult<String> scan(String cursor) {
         ^
  symbol:   class ScanResult
  location: class InstrumentedJedis
100 errors
only showing the first 100 errors, of 166 total; use -Xmaxerrs if you would like to see more
```
The root cause of these errors is upgrade of `redis.clients:jedis` from 3.8.0 to 4.3.2 with spring boot upgrade from 2.x to 3.x.
In order to fix these issues, migrated jedis from 3.x to 4.x by following the migration [document](https://github.com/redis/jedis/blob/master/docs/3to4.md)
And for further changelogs, please refer [here](https://github.com/redis/jedis/releases/tag/v4.0.0)

Removed the reflection logic to check the `internalPool` field from `JedisPool` object, as `internalPool` field has been removed from Jedis [4.3.2](https://javadoc.io/static/redis.clients/jedis/4.3.2/redis/clients/jedis/util/Pool.html#internalPool) and `JedisPool` is sub class of `GenericObjectPool` from Jedis [4.0.0](https://github.com/redis/jedis/pull/2521) onwards. So, refactoring the logic to check null value.

In Jedis 4.x, default constructor of `Pipeline` class has be removed in lieu of parameterised constructor to obtain `Connection` object either directly passing `Connection` or `Jedis`, as discussed [here](https://github.com/redis/jedis/pull/2693). So, updating the constructor by replacing the `Pipeline` with `Jedis`, and updated its usage in `InstrumentedJedis.pipelined()` method.

* refactor(dependency): replace javax with jakarta and HandlerInterceptorAdapter with HandlerInterceptor during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

Since `org.springframework.web.servlet.handler.HandlerInterceptorAdapter` has been deprecated in springframework 5.3.0. So, replacing it with `org.springframework.web.servlet.HandlerInterceptor`.
https://github.com/spring-projects/spring-framework/pull/25147
https://github.com/terasolunaorg/terasoluna-gfw/issues/991

* refactor(exception): replace NestedIOException with IOException during upgrade of spring boot 3.0.x

While upgrading the spring boot to 3.0.13 and spring cloud 2022.0.5, encountered the below errors during build process of kork-crypto module:
```
> Task :kork-crypto:compileJava FAILED
/kork/kork-crypto/src/main/java/com/netflix/spinnaker/kork/crypto/NestedSecurityIOException.java:20: error: cannot find symbol
import org.springframework.core.NestedIOException;
                               ^
  symbol:   class NestedIOException
  location: package org.springframework.core
/kork/kork-crypto/src/main/java/com/netflix/spinnaker/kork/crypto/NestedSecurityIOException.java:22: error: cannot find symbol
public class NestedSecurityIOException extends NestedIOException {
                                               ^
  symbol: class NestedIOException
2 errors
```
The root cause is the removal of `org.springframework.core.NestedIOException` from springframework 6.0, as mentioned in the below links:
https://github.com/spring-projects/spring-framework/issues/28198
https://github.com/spring-projects/spring-framework/issues/28929
So, replacing `org.springframework.core.NestedIOException` with `java.io.IOException`.

* refactor(eureka): removed deprecated client and refactor constructor code during upgrade of spring boot 3.0.x

While upgrading the spring boot to 3.0.13 and spring cloud 2022.0.5, encountered the below errors during build process of kork-eureka module:
```
> Task :kork-eureka:compileJava FAILED
/kork/kork-eureka/src/main/java/com/netflix/spinnaker/kork/eureka/EurekaAutoConfiguration.java:55: error: cannot find symbol
      DiscoveryClient.DiscoveryClientOptionalArgs optionalArgs) {
                     ^
  symbol:   class DiscoveryClientOptionalArgs
  location: class DiscoveryClient
/kork/kork-eureka/src/main/java/com/netflix/spinnaker/kork/eureka/EurekaAutoConfiguration.java:89: error: cannot find symbol
  DiscoveryClient.DiscoveryClientOptionalArgs optionalArgs(
                 ^
  symbol:   class DiscoveryClientOptionalArgs
  location: class DiscoveryClient
2 errors
```
Spring cloud upgrade from 2021.0.x to 2022.0.x also upgrades the eureka client transitively from [1.10.17](https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies/2021.0.8) to [2.0.1](https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies/2022.0.5)
Eureka client 2.0.x is not backward compatible with 1.0.x. The constructor has also introduced new parameter. So, update the code accordingly.
https://github.com/Netflix/eureka/releases/tag/v2.0.0

* refactor(telemetry): replace the deprecated method and constructor during upgrade of spring boot 3.0.x

While upgrading the spring boot to 3.0.13 and spring cloud 2022.0.5, encountered the below errors during build process of kork-telemetry module:
```
> Task :kork-telemetry:compileJava FAILED
/kork/kork-telemetry/src/main/java/com/netflix/spinnaker/kork/telemetry/caffeine/CaffeineStatsCounter.java:26: error: CaffeineStatsCounter is not abstract and does not override abstract method recordEviction(int,RemovalCause) in StatsCounter
public class CaffeineStatsCounter implements StatsCounter {
       ^
/kork/kork-telemetry/src/main/java/com/netflix/spinnaker/kork/telemetry/caffeine/CaffeineStatsCounter.java:73: error: method does not override or implement a method from a supertype
  @Override
  ^
/kork/kork-telemetry/src/main/java/com/netflix/spinnaker/kork/telemetry/caffeine/CaffeineStatsCounter.java:79: error: method does not override or implement a method from a supertype
  @Override
  ^
/kork/kork-telemetry/src/main/java/com/netflix/spinnaker/kork/telemetry/caffeine/CaffeineStatsCounter.java:87: error: CacheStats(long,long,long,long,long,long,long) has private access in CacheStats
    return new CacheStats(
           ^
4 errors
```
Spring boot upgrade brings the caffeine 3.1.8 transitively, that was 2.9.3 with spring boot 2.7.x.
In caffeine 3.x, `StatsCounter.recordEviction` method variation has been deprecated and `CacheStats` constructor. So, update the both of them.
https://github.com/ben-manes/caffeine/releases/tag/v3.0.0
https://javadoc.io/doc/com.github.ben-manes.caffeine/caffeine/latest/com.github.benmanes.caffeine/com/github/benmanes/caffeine/cache/stats/StatsCounter.html
https://javadoc.io/doc/com.github.ben-manes.caffeine/caffeine/2.9.3/com/github/benmanes/caffeine/cache/stats/StatsCounter.html

* refactor(dependency): replace rxjava with rxjava3 during upgrade of spring boot 3.0.x

While upgrading the spring boot to 3.0.13 and spring cloud 2022.0.5, encountered the below errors during build process of kork-stackdriver module:
```
> Task :kork-stackdriver:compileJava FAILED
/kork/kork-stackdriver/src/main/java/com/netflix/spinnaker/config/StackdriverConfig.java:41: error: package rx does not exist
import rx.Observable;
         ^
/kork/kork-stackdriver/src/main/java/com/netflix/spinnaker/config/StackdriverConfig.java:42: error: package rx does not exist
import rx.Scheduler;
         ^
/kork/kork-stackdriver/src/main/java/com/netflix/spinnaker/config/StackdriverConfig.java:43: error: package rx.schedulers does not exist
import rx.schedulers.Schedulers;
                    ^
3 errors
```
Spring boot 3.x deprecated and removed rxjava, and rxjava3 has been added. So, update the dependency.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#rxjava

* refactor(spring-security): refactor spring security  from 5.x to 6.x with spring boot upgrade to 3.x

While upgrading the spring boot to 3.0.13 and spring cloud 2022.0.5, encountered the below errors during build process of kork-actuator module:
```
> Task :kork-actuator:compileJava FAILED
/kork/kork-actuator/src/main/java/com/netflix/spinnaker/kork/actuator/ActuatorEndpointsConfiguration.java:26: error: cannot find symbol
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
                                                                       ^
  symbol:   class WebSecurityConfigurerAdapter
  location: package org.springframework.security.config.annotation.web.configuration
/kork/kork-actuator/src/main/java/com/netflix/spinnaker/kork/actuator/ActuatorEndpointsConfiguration.java:30: error: cannot find symbol
public class ActuatorEndpointsConfiguration extends WebSecurityConfigurerAdapter {
                                                    ^
  symbol: class WebSecurityConfigurerAdapter
2 errors
```
With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

```
> Task :kork-actuator:compileJava FAILED
/kork/kork-actuator/src/main/java/com/netflix/spinnaker/kork/actuator/endpoint/ResolvedEnvironmentEndpoint.java:45: error: invalid method reference
        .ifPresent(sanitizer::setKeysToSanitize);
                   ^
  cannot find symbol
    symbol:   method setKeysToSanitize(T)
    location: class Sanitizer
  where T is a type-variable:
    T extends Object declared in class Optional
/kork/kork-actuator/src/main/java/com/netflix/spinnaker/kork/actuator/endpoint/ResolvedEnvironmentEndpoint.java:56: error: incompatible types: String cannot be converted to SanitizableData
                    return sanitizer.sanitize(property, environment.getProperty(property));
                                              ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
2 errors
```
In spring boot 3, changes are introduced in sanitization of actuator [endpoints](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#actuator-endpoints-sanitization).
Default `Sanitizer` implementation has been removed and replaced with `SanitizingFunction`.
https://github.com/spring-projects/spring-boot/issues/33448
https://github.com/spring-projects/spring-boot/issues/39243
https://github.com/spring-projects/spring-boot/issues/32156
So, added the `ActuatorSanitizingFunction` class to provide the default implementation of `SanitizingFunction`.

* refactor(dependency): replace javax.inject with jakarta.inject and upgrade wiremock as part of spring boot 3.x upgrade

While upgrading the spring boot to 3.0.13 and spring cloud 2022.0.5, encountered the below errors:
```
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'javax.inject.Provider<com.netflix.spectator.api.Registry>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
	at app//org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1824)
	at app//org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1383)
	at app//org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1337)
	at app//org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:910)
	at app//org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788)
	... 175 more
```
The root cause is use of `javax.inject` that has been moved from present coordinate to `jakarta.inject`. So, updating the coordinates in kork-eureka, kork-plugins and kork-web modules.
https://github.com/google/guice/issues/1463
https://github.com/google/guice/issues/1383
https://docs.openrewrite.org/recipes/java/migrate/jakarta/javaxinjectmigrationtojakartainject

```
javax/servlet/DispatcherType
java.lang.NoClassDefFoundError: javax/servlet/DispatcherType
	at com.github.tomakehurst.wiremock.jetty9.JettyHttpServerFactory.buildHttpServer(JettyHttpServerFactory.java:31)
	at com.github.tomakehurst.wiremock.WireMockServer.<init>(WireMockServer.java:74)
	at com.netflix.spinnaker.kork.plugins.sdk.httpclient.Ok3HttpClientIntegrationTest$Fixture.<init>(Ok3HttpClientIntegrationTest.kt:78)
	at com.netflix.spinnaker.kork.plugins.sdk.httpclient.Ok3HttpClientIntegrationTest$test$1$1.invoke(Ok3HttpClientIntegrationTest.kt:40)
	at com.netflix.spinnaker.kork.plugins.sdk.httpclient.Ok3HttpClientIntegrationTest$test$1$1.invoke(Ok3HttpClientIntegrationTest.kt:40)
	at dev.minutest.TestContextBuilder$fixture$1.invoke(ContextBuilder.kt:48)
```
In order to fix this issue, upgrading wiremock dependency to 3.0.4 and updating its coordinates.
Wiremock [3.0.0](https://github.com/wiremock/wiremock/releases/tag/3.0.0) onwards 2 major breaking changes are introduced:
1. support for Java 17, dropping Java 8 support
2. Change the Maven repository groupID to org.wiremock
https://github.com/wiremock/wiremock/releases?page=3

* refactor(test): replace spring.profiles with spring.config.activate.on-profile as part of spring boot 3.x upgrade

While upgrading the spring boot to 3.0.13 and spring cloud 2022.0.5, encountered the below error:
```
Caused by: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property 'spring.profiles' imported from location 'class path resource [application-test.yml]' is invalid and should be replaced with 'spring.config.activate.on-profile' [origin: class path resource [application-test.yml] - 38:13]
	at app//org.springframework.boot.context.config.InvalidConfigDataPropertyException.lambda$throwIfPropertyFound$0(InvalidConfigDataPropertyException.java:113)
	at [email protected]/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721)
	at [email protected]/java.util.Collections$UnmodifiableMap.forEach(Collections.java:1553)
	at app//org.springframework.boot.context.config.InvalidConfigDataPropertyException.throwIfPropertyFound(InvalidConfigDataPropertyException.java:109)
	at app//org.springframework.boot.context.config.ConfigDataEnvironment.checkForInvalidProperties(ConfigDataEnvironment.java:364)
```
In order to fix this issue, replacing spring.profiles with spring.config.activate.on-profile in application-test.yml

* refactor(test): refactor the method getType() to getTableType() as part of spring boot 3.x upgrade

```
> Task :kork-sql-test:compileJava FAILED
/kork/kork-sql-test/src/main/java/com/netflix/spinnaker/kork/sql/test/SqlTestUtil.java:278: error: cannot find symbol
                table.getType().isTable()
                               ^
  symbol:   method isTable()
  location: class Class<CAP#1>
  where CAP#1 is a fresh type-variable:
    CAP#1 extends Record from capture of ?
1 error
```
The root cause is the change in method of `org.jooq.Table` class upgrading jooq transitively from 3.14.16 to 3.17.16 while spring boot 2.7.18 to 3.0.13 upgrade.
In order to fix this issue refactoring the `getTableType()` method.

* refactor(test): upgrade spockframework to fix issue during upgrade of spring security from 5.x to 6.x and ninja-squad upgrade with spring boot upgrade to 3.x

While upgrading spring security from 5.x to 6.x, encountered the below error:
```
Cannot invoke method getForEntity() on null object
java.lang.NullPointerException: Cannot invoke method getForEntity() on null object
	at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.ok request(GenericExceptionHandlersMvcSpec.groovy:42)

Cannot invoke method getForEntity() on null object
java.lang.NullPointerException: Cannot invoke method getForEntity() on null object
	at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.not found(GenericExceptionHandlersMvcSpec.groovy:50)

Cannot invoke method postForEntity() on null object
java.lang.NullPointerException: Cannot invoke method postForEntity() on null object
	at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.method not supported(GenericExceptionHandlersMvcSpec.groovy:58)

Cannot invoke method getForEntity() on null object
java.lang.NullPointerException: Cannot invoke method getForEntity() on null object
	at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.missing request param(GenericExceptionHandlersMvcSpec.groovy:66)

Cannot invoke method getForEntity() on null object
java.lang.NullPointerException: Cannot invoke method getForEntity() on null object
	at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.should map IllegalArgumentException as 400(GenericExceptionHandlersMvcSpec.groovy:74)

Cannot invoke method getForEntity() on null object
java.lang.NullPointerException: Cannot invoke method getForEntity() on null object
	at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.should handle IllegalStateException(GenericExceptionHandlersMvcSpec.groovy:82)
```
The root cause of this issue is a incompatibility bug in spockframework 2.3-groovy-4.0 version.
In order to fix this issue upgraded the spockframe to 2.4-M1-groovy-4.0
https://github.com/spring-projects/spring-boot/issues/33376
https://spockframework.org/spock/docs/2.4-M1/release_notes.html#_2_4_m1_2022_11_30

Also encountered below error during test execution of kork-plugins-tck module:
```
java.lang.NoClassDefFoundError: org/springframework/beans/factory/config/InstantiationAwareBeanPostProcessorAdapter
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	at com.ninjasquad.springmockk.MockkContextCustomizer.customizeContext(MockkContextCustomizer.kt:21)
	at org.springframework.boot.test.context.SpringBootContextLoader$ContextCustomizerAdapter.initialize(SpringBootContextLoader.java:435)
	at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:606)
	at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:386)
```
In order to fix this issue, upgraded the ninja-squad dependency from 2.0.3 to 4.0.2 for the compatibility with Spring boot 3.x and Java 17+.
https://github.com/Ninja-Squad/springmockk?tab=readme-ov-file#versions-compatibility

* refactor(dependency): unpin snakeyaml and upgrade logback with spring boot upgrade to 3.x

Spring boot 3.0.13 brings snakeyaml 1.33 and logback 1.4.11. So, upgrading and pinning logback to 1.4.14, till spring boot >=3.1.7, as more secure version.

* refactor(dependency): upgrade wiremock as part of spring boot 3.x and spring cloud 2022.0.x upgrade

Upgrading wiremock dependency to 3.0.4 and updating its coordinates.
Wiremock [3.0.0](https://github.com/wiremock/wiremock/releases/tag/3.0.0) onwards 2 major breaking changes are introduced:
1. support for Java 17, dropping Java 8 support
2. Change the Maven repository groupID to org.wiremock
https://github.com/wiremock/wiremock/releases?page=3
3. Change Artifact IDs of wiremock-jre8 and wiremock-jre8-standalone to wiremock and wiremock-standalone

* refactor(eureka): Unping eureka dependency to get updated version of it transitively from spring cloud libraries.

```

> Task :kork:kork-eureka:compileJava FAILED
spinnaker/kork/kork-eureka/src/main/java/com/netflix/spinnaker/kork/eureka/EurekaAutoConfiguration.java:56: error: no suitable constructor found for DiscoveryClient(ApplicationInfoManager,EurekaClientConfig,TransportClientFactories)
    return new DiscoveryClient(
           ^
    constructor DiscoveryClient.DiscoveryClient(InstanceInfo,EurekaClientConfig,DiscoveryClientOptionalArgs) is not applicable
      (argument mismatch; ApplicationInfoManager cannot be converted to InstanceInfo)
    constructor DiscoveryClient.DiscoveryClient(InstanceInfo,EurekaClientConfig,AbstractDiscoveryClientOptionalArgs) is not applicable
      (argument mismatch; ApplicationInfoManager cannot be converted to InstanceInfo)
    constructor DiscoveryClient.DiscoveryClient(ApplicationInfoManager,EurekaClientConfig,DiscoveryClientOptionalArgs) is not applicable
      (argument mismatch; TransportClientFactories cannot be converted to DiscoveryClientOptionalArgs)
    constructor DiscoveryClient.DiscoveryClient(ApplicationInfoManager,EurekaClientConfig,AbstractDiscoveryClientOptionalArgs) is not applicable
      (argument mismatch; TransportClientFactories cannot be converted to AbstractDiscoveryClientOptionalArgs)
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
1 error
```

Spring cloud upgrade from 2021.0.x to 2022.0.x also upgrades the eureka client transitively from [1.10.17](https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies/2021.0.8) to [2.0.1](https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies/2022.0.5)
Eureka client 2.0.x is not backward compatible with 1.0.x. The constructor has also introduced new parameter.

* fix(test): Add mvcHandlerMappingIntrospector bean to support MvcRequestMatcher in Spring Boot 3

Spring Boot 3 and Spring Security 6 no longer auto-register a HandlerMappingIntrospector
bean named `mvcHandlerMappingIntrospector` in test contexts. This bean is required for
MvcRequestMatcher to work properly.

Without this bean, the following error is thrown:
"No bean named 'mvcHandlerMappingIntrospector' available: A Bean named
mvcHandlerMappingIntrospector of type org.springframework.web.servlet.handler.HandlerMappingIntrospector
is required to use MvcRequestMatcher."

Added explicit bean definition in test configuration to restore compatibility.

References:
- Spring Security Docs (MVC integration):
  https://docs.spring.io/spring-security/reference/servlet/integrations/mvc.html
- Spring Security GitHub Issue (context):
  https://github.com/spring-projects/spring-security/issues/12310

* chore(dependency): upgrade spring boot from 2.7.x to 3.0.x and spring cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases
======================================================
refactor(dependency): replace javax with jakarta during upgrade of spring boot 3.0.x

Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes#third-party-library-upgrades
So, replacing the imports with `javax` to `jakarta`.

* refactor(jedis): migrate jedis from 3.x to 4.x during upgrade of spring boot 3.0.x

Spring boot upgrade from 2.7.18 to 3.0.13, upgrades `redis.clients:jedis` from 3.8.0 to 4.3.2.
So, migrating jedis from 3.x to 4.x by following the migration [document](https://github.com/redis/jedis/blob/master/docs/3to4.md)
And for further changelogs, please refer [here](https://github.com/redis/jedis/releases/tag/v4.0.0)

* refactor(spring-security): refactor spring security and spring from 5.x to 6.x with spring boot upgrade to 3.x

With spring boot upgrade, spring security also upgrades from 5.x to 6.x. As per the migration [steps](https://www.baeldung.com/spring-security-migrate-5-to-6), `WebSecurityConfigurerAdapter` has been removed. So, it is not required to be extended, instead bean can be registered.

`WebMvcConfigurerAdapter` class has been deprecated in Spring 5.0 and subsequently removed from spring 6.0. So, replacing it with `WebMvcConfigurer` interface for direct implementation.
https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

Removing bean of WebSecurityConfigurerAdapter, as in spring security 6.0 it is no more required.
https://github.com/spring-projects/spring-security/pull/11923
https://www.baeldung.com/spring-security-migrate-5-to-6#2-websecurityconfigureradapter

* refactor(test): remove trailing slash from mock url template with spring boot upgrade to 3.x

With spring boot upgrade, spring framework also upgrades from 5.x to 6.x. In spring framework 6.0, the trailing slash matching configuration option has been deprecated and its default value set to false.
https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-6.0-Release-Notes#web-applications

Due to this change, encountered the below test failure:
```
Condition failed with Exception:

mockMvc.perform(get("/authorize/")) .andExpect(status().isOk()) .andExpect(content().json(expected))
|       |       |                    |         |        |
|       |       |                    |         |        <org.springframework.test.web.servlet.result.StatusResultMatchers$$Lambda$1833/0x0000000801998000@1cadc7c1 arg$1=200 OK>
|       |       |                    |         <org.springframework.test.web.servlet.result.StatusResultMatchers@34106ddc>
|       |       |                    java.lang.AssertionError: Status expected:<200> but was:<404>
|       |       |                    	at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:59)
|       |       |                    	at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:122)
|       |       |                    	at org.springframework.test.web.servlet.result.StatusResultMatchers.lambda$matcher$9(StatusResultMatchers.java:637)
|       |       |                    	at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214)
|       |       |                    	at com.netflix.spinnaker.fiat.controllers.AuthorizeControllerSpec.should get user from repo via endpoint(AuthorizeControllerSpec.groovy:180)
|       |       <org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder@4c5c8926 method=GET url=/authorize/ contextPath= servletPath= pathInfo=/authorize/ secure=null principal=null session=null remoteAddress=null characterEncoding=null content=[] contentType=application/json headers=[:] parameters=[:] queryParams=[:] cookies=[] locales=[] requestAttributes=[:] sessionAttributes=[:] flashAttributes=[:] postProcessors=[]>
|       <org.springframework.test.web.servlet.MockMvc$1@6a230707 val$mvcResult=org.springframework.test.web.servlet.DefaultMvcResult@5ed59e7f this$0=org.springframework.test.web.servlet.MockMvc@27477eb7>
<org.springframework.test.web.servlet.MockMvc@27477eb7 servlet=org.springframework.test.web.servlet.TestDispatcherServlet@512efef4 filters=[] servletContext=org.springframework.boot.test.mock.web.SpringBootMockServletContext@1cf516fa defaultRequestBuilder=org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder@5b96272e defaultResponseCharacterEncoding=null defaultResultMatchers=[] defaultResultHandlers=[]>

Condition failed with Exception:

mockMvc.perform(get("/authorize/")) .andExpect(status().isOk()) .andExpect(content().json(expected))
|       |       |                    |         |        |
|       |       |                    |         |        <org.springframework.test.web.servlet.result.StatusResultMatchers$$Lambda$1833/0x0000000801998000@1cadc7c1 arg$1=200 OK>
|       |       |                    |         <org.springframework.test.web.servlet.result.StatusResultMatchers@34106ddc>
|       |       |                    java.lang.AssertionError: Status expected:<200> but was:<404>
|       |       |                    	at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:59)
|       |       |                    	at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:122)
|       |       |                    	at org.springframework.test.web.servlet.result.StatusResultMatchers.lambda$matcher$9(StatusResultMatchers.java:637)
|       |       |                    	at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214)
|       |       |                    	at com.netflix.spinnaker.fiat.controllers.AuthorizeControllerSpec.should get user from repo via endpoint(AuthorizeControllerSpec.groovy:180)
|       |       <org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder@4c5c8926 method=GET url=/authorize/ contextPath= servletPath= pathInfo=/authorize/ secure=null principal=null session=null remoteAddress=null characterEncoding=null content=[] contentType=application/json headers=[:] parameters=[:] queryParams=[:] cookies=[] locales=[] requestAttributes=[:] sessionAttributes=[:] flashAttributes=[:] postProcessors=[]>
|       <org.springframework.test.web.servlet.MockMvc$1@6a230707 val$mvcResult=org.springframework.test.web.servlet.DefaultMvcResult@5ed59e7f this$0=org.springframework.test.web.servlet.MockMvc@27477eb7>
<org.springframework.test.web.servlet.MockMvc@27477eb7 servlet=org.springframework.test.web.servlet.TestDispatcherServlet@512efef4 filters=[] servletContext=org.springframework.boot.test.mock.web.SpringBootMockServletContext@1cf516fa defaultRequestBuilder=org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder@5b96272e defaultResponseCharacterEncoding=null defaultResultMatchers=[] defaultResultHandlers=[]>

	at com.netflix.spinnaker.fiat.controllers.AuthorizeControllerSpec.should get user from repo via endpoint(AuthorizeControllerSpec.groovy:181)
Caused by: java.lang.AssertionError: Status expected:<200> but was:<404>
	at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:59)
	at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:122)
	at org.springframework.test.web.servlet.result.StatusResultMatchers.lambda$matcher$9(StatusResultMatchers.java:637)
	at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214)
	at com.netflix.spinnaker.fiat.controllers.AuthorizeControllerSpec.should get user from repo via endpoint(AuthorizeControllerSpec.groovy:180)
```
In order to fix this issue, removed the trailing slash from the mock url `/authorize`.

* refactor(dependency): add explicit resilience4j-vavr dependency with spring boot upgrade to 3.x

While upgrading the spring boot to 3.0.13 and spring cloud 2022.0.5, encountered the below error:
```
> Task :fiat-sql:compileKotlin FAILED
e: /fiat/fiat-sql/src/main/kotlin/com/netflix/spinnaker/fiat/permissions/SqlPermissionsRepository.kt: (36, 11): Unresolved reference: vavr
e: /fiat/fiat-sql/src/main/kotlin/com/netflix/spinnaker/fiat/permissions/SqlPermissionsRepository.kt: (49, 25): Unresolved reference: PreDestroy
e: /fiat/fiat-sql/src/main/kotlin/com/netflix/spinnaker/fiat/permissions/SqlPermissionsRepository.kt: (550, 13): Unresolved reference: Try
e: /fiat/fiat-sql/src/main/kotlin/com/netflix/spinnaker/fiat/permissions/SqlPermissionsRepository.kt: (561, 13): Unresolved reference: Try
e: /fiat/fiat-sql/src/main/kotlin/com/netflix/spinnaker/fiat/permissions/SqlPermissionsRepository.kt: (599, 6): Unresolved reference: PreDestroy

FAILURE: Build completed with 2 failures.
```
The root cause of this issue is removal of `io.vavr` dependency from resilience4j:2.0.2.
https://github.com/resilience4j/resilience4j/releases/tag/v2.0.0
Resilience4j comes as transitive dependency of spring-cloud-dependencies.
https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies/2022.0.5

Dependency insight before spring cloud upgrade:
```
$ ./gradlew fiat-sql:dI --dependency io.vavr:vavr:

> Task :fiat-sql:dependencyInsight
io.vavr:vavr:0.10.2
  Variant compile:
    | Attribute Name                     | Provided | Requested         |
    |------------------------------------|----------|-------------------|
    | org.gradle.status                  | release  |                   |
    | org.gradle.category                | library  | library           |
    | org.gradle.libraryelements         | jar      | classes+resources |
    | org.gradle.usage                   | java-api | java-api          |
    | org.gradle.dependency.bundling     |          | external          |
    | org.gradle.jvm.environment         |          | standard-jvm      |
    | org.gradle.jvm.version             |          | 17                |
    | org.jetbrains.kotlin.platform.type |          | jvm               |

io.vavr:vavr:0.10.2
+--- io.github.resilience4j:resilience4j-annotations:1.7.0
|    +--- io.spinnaker.kork:kork-bom:7.247.0
|    |    \--- compileClasspath
|    +--- io.spinnaker.kork:kork-core:7.247.0
|    |    +--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|    |    +--- io.spinnaker.kork:kork-sql:7.247.0
|    |    |    +--- compileClasspath (requested io.spinnaker.kork:kork-sql)
|    |    |    \--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|    |    \--- io.spinnaker.kork:kork-web:7.247.0
|    |         +--- compileClasspath (requested io.spinnaker.kork:kork-web)
|    |         \--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|    \--- io.github.resilience4j:resilience4j-spring:1.7.0
|         +--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|         \--- io.github.resilience4j:resilience4j-spring-boot2:1.7.0
|              +--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|              \--- io.spinnaker.kork:kork-core:7.247.0 (*)
+--- io.github.resilience4j:resilience4j-bulkhead:1.7.0
|    +--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|    \--- io.github.resilience4j:resilience4j-framework-common:1.7.0
|         \--- io.github.resilience4j:resilience4j-spring:1.7.0 (*)
+--- io.github.resilience4j:resilience4j-circuitbreaker:1.7.0
|    +--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|    \--- io.github.resilience4j:resilience4j-framework-common:1.7.0 (*)
+--- io.github.resilience4j:resilience4j-circularbuffer:1.7.0
|    +--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|    \--- io.github.resilience4j:resilience4j-consumer:1.7.0
|         +--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|         \--- io.github.resilience4j:resilience4j-spring:1.7.0 (*)
+--- io.github.resilience4j:resilience4j-consumer:1.7.0 (*)
+--- io.github.resilience4j:resilience4j-core:1.7.0
|    +--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|    +--- io.github.resilience4j:resilience4j-framework-common:1.7.0 (*)
|    +--- io.github.resilience4j:resilience4j-retry:1.7.0
|    |    +--- compileClasspath (requested io.github.resilience4j:resilience4j-retry)
|    |    +--- io.spinnaker.kork:kork-bom:7.247.0 (*)
|    |    +--- io.spinnaker.kork:kork-core:7.247.0 (*)
|    |    \--- io.github.resilience4j:resilience4j-framework-common:1.7.0 (*)
|    +--- io.github.resilience4j:resilience4j-consumer:…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in: config An issue in spring-security-config type: breaks-passivity A change that breaks passivity with the previous release type: enhancement A general enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove WebSecurityConfigurerAdapter

3 participants