diff --git a/rosco-core/rosco-core.gradle b/rosco-core/rosco-core.gradle index 8df286d943..d8e5e6c536 100644 --- a/rosco-core/rosco-core.gradle +++ b/rosco-core/rosco-core.gradle @@ -11,7 +11,7 @@ dependencies { implementation "io.spinnaker.kork:kork-web" implementation "com.squareup.retrofit2:converter-jackson" implementation "com.squareup.retrofit2:retrofit" - implementation "io.reactivex:rxjava" + implementation "io.reactivex.rxjava3:rxjava" implementation "org.apache.commons:commons-exec" implementation "org.apache.groovy:groovy" implementation "org.springframework.boot:spring-boot-starter-web" diff --git a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/executor/BakePoller.groovy b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/executor/BakePoller.groovy index 446f8aec15..7eb8369d01 100644 --- a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/executor/BakePoller.groovy +++ b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/executor/BakePoller.groovy @@ -31,8 +31,9 @@ import org.springframework.beans.factory.annotation.Value import org.springframework.context.ApplicationListener import org.springframework.context.event.ContextRefreshedEvent import org.springframework.stereotype.Component -import rx.functions.Action0 -import rx.schedulers.Schedulers +import io.reactivex.rxjava3.functions.Action +import io.reactivex.rxjava3.schedulers.Schedulers +import io.reactivex.rxjava3.core.Observable import java.util.concurrent.TimeUnit @@ -79,7 +80,7 @@ class BakePoller implements ApplicationListener { Schedulers.io().createWorker().schedulePeriodically( { try { - rx.Observable.from(bakeStore.thisInstanceIncompleteBakeIds) + Observable.fromIterable(bakeStore.thisInstanceIncompleteBakeIds) .subscribe( { String incompleteBakeId -> try { @@ -91,19 +92,19 @@ class BakePoller implements ApplicationListener { { log.error("Update Error: ${it.message}") }, - {} as Action0 + {} as Action ) } catch (Exception e) { log.error("Update Polling Error:", e) } - } as Action0, 0, pollingIntervalSeconds, TimeUnit.SECONDS + } as Runnable, 0, pollingIntervalSeconds, TimeUnit.SECONDS ) // Check _all_ rosco instances' incomplete bakes for staleness. Schedulers.io().createWorker().schedulePeriodically( { try { - rx.Observable.from(bakeStore.allIncompleteBakeIds.entrySet()) + Observable.fromIterable(bakeStore.allIncompleteBakeIds.entrySet()) .subscribe( { Map.Entry> entry -> String roscoInstanceId = entry.key @@ -111,7 +112,7 @@ class BakePoller implements ApplicationListener { if (roscoInstanceId != this.roscoInstanceId) { try { - rx.Observable.from(incompleteBakeIds) + Observable.fromIterable(incompleteBakeIds) .subscribe( { String statusId -> BakeStatus bakeStatus = bakeStore.retrieveBakeStatusById(statusId) @@ -148,7 +149,7 @@ class BakePoller implements ApplicationListener { { log.error("Error: ${it.message}") }, - {} as Action0 + {} as Action ) } catch (Exception e) { log.error("Zombie Killer Polling Error:", e) @@ -158,12 +159,12 @@ class BakePoller implements ApplicationListener { { log.error("Zombie Killer Error: ${it.message}") }, - {} as Action0 + {} as Action ) } catch (Exception e) { log.error("Zombie Killer Polling Error:", e) } - } as Action0, 0, orphanedJobPollingIntervalSeconds, TimeUnit.SECONDS + } as Runnable, 0, orphanedJobPollingIntervalSeconds, TimeUnit.SECONDS ) } diff --git a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/jobs/local/JobExecutorLocal.groovy b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/jobs/local/JobExecutorLocal.groovy index 3450b322fe..8692d649b4 100644 --- a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/jobs/local/JobExecutorLocal.groovy +++ b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/jobs/local/JobExecutorLocal.groovy @@ -30,11 +30,9 @@ import org.apache.commons.exec.PumpStreamHandler import org.apache.commons.exec.Watchdog import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.annotation.Value -import rx.Scheduler -import rx.functions.Action0 -import rx.schedulers.Schedulers - -import javax.annotation.PostConstruct +import io.reactivex.rxjava3.schedulers.Schedulers +import io.reactivex.rxjava3.core.Scheduler +import jakarta.annotation.PostConstruct import java.util.concurrent.ConcurrentHashMap import java.util.function.ToDoubleFunction @@ -56,9 +54,9 @@ class JobExecutorLocal implements JobExecutor { String jobId = jobRequest.jobId scheduler.createWorker().schedule( - new Action0() { + new Runnable() { @Override - public void call() { + void run() { PumpStreamHandler pumpStreamHandler ByteArrayOutputStream stdOut ByteArrayOutputStream stdErr diff --git a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/alicloud/config/RoscoAliCloudConfiguration.java b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/alicloud/config/RoscoAliCloudConfiguration.java index f902907a68..e33340ef82 100644 --- a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/alicloud/config/RoscoAliCloudConfiguration.java +++ b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/alicloud/config/RoscoAliCloudConfiguration.java @@ -20,9 +20,9 @@ import com.netflix.spinnaker.rosco.api.BakeRequest; import com.netflix.spinnaker.rosco.providers.alicloud.AliCloudBakeHandler; import com.netflix.spinnaker.rosco.providers.registry.CloudProviderBakeHandlerRegistry; +import jakarta.annotation.PostConstruct; import java.util.ArrayList; import java.util.List; -import javax.annotation.PostConstruct; import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; diff --git a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/aws/config/RoscoAWSConfiguration.groovy b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/aws/config/RoscoAWSConfiguration.groovy index 9a67044d1b..4b897aea85 100644 --- a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/aws/config/RoscoAWSConfiguration.groovy +++ b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/aws/config/RoscoAWSConfiguration.groovy @@ -30,7 +30,7 @@ import org.springframework.context.annotation.Bean import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration -import javax.annotation.PostConstruct +import jakarta.annotation.PostConstruct @Configuration @ConditionalOnProperty('aws.enabled') diff --git a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/azure/config/RoscoAzureConfiguration.groovy b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/azure/config/RoscoAzureConfiguration.groovy index c1e9a7f1c8..651eaa6e9b 100644 --- a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/azure/config/RoscoAzureConfiguration.groovy +++ b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/azure/config/RoscoAzureConfiguration.groovy @@ -27,7 +27,7 @@ import org.springframework.context.annotation.Bean import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration -import javax.annotation.PostConstruct +import jakarta.annotation.PostConstruct @Configuration @ConditionalOnProperty('azure.enabled') diff --git a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/docker/config/RoscoDockerConfiguration.groovy b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/docker/config/RoscoDockerConfiguration.groovy index 6f77be9327..4ee2a7c1f5 100644 --- a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/docker/config/RoscoDockerConfiguration.groovy +++ b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/docker/config/RoscoDockerConfiguration.groovy @@ -29,7 +29,7 @@ import org.springframework.context.annotation.Bean import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration -import javax.annotation.PostConstruct +import jakarta.annotation.PostConstruct @Configuration @ConditionalOnProperty('docker.enabled') diff --git a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/google/config/RoscoGoogleConfiguration.groovy b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/google/config/RoscoGoogleConfiguration.groovy index 004888a6ff..47ec769e43 100644 --- a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/google/config/RoscoGoogleConfiguration.groovy +++ b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/google/config/RoscoGoogleConfiguration.groovy @@ -30,7 +30,7 @@ import org.springframework.context.annotation.Bean import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration -import javax.annotation.PostConstruct +import jakarta.annotation.PostConstruct @Configuration @ConditionalOnProperty('google.enabled') diff --git a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/huaweicloud/config/RoscoHuaweiCloudConfiguration.java b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/huaweicloud/config/RoscoHuaweiCloudConfiguration.java index c35685962c..ed6f9a8212 100644 --- a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/huaweicloud/config/RoscoHuaweiCloudConfiguration.java +++ b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/huaweicloud/config/RoscoHuaweiCloudConfiguration.java @@ -20,9 +20,9 @@ import com.netflix.spinnaker.rosco.api.BakeRequest; import com.netflix.spinnaker.rosco.providers.huaweicloud.HuaweiCloudBakeHandler; import com.netflix.spinnaker.rosco.providers.registry.CloudProviderBakeHandlerRegistry; +import jakarta.annotation.PostConstruct; import java.util.ArrayList; import java.util.List; -import javax.annotation.PostConstruct; import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; diff --git a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/oracle/config/RoscoOracleConfiguration.java b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/oracle/config/RoscoOracleConfiguration.java index 7f92f870e7..dec85d3c88 100644 --- a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/oracle/config/RoscoOracleConfiguration.java +++ b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/oracle/config/RoscoOracleConfiguration.java @@ -12,7 +12,7 @@ import com.netflix.spinnaker.rosco.api.BakeRequest; import com.netflix.spinnaker.rosco.providers.oracle.OCIBakeHandler; import com.netflix.spinnaker.rosco.providers.registry.CloudProviderBakeHandlerRegistry; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.ComponentScan; diff --git a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/tencentcloud/config/RoscoTencentCloudConfiguration.java b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/tencentcloud/config/RoscoTencentCloudConfiguration.java index e9b37f7ec3..661dd65934 100644 --- a/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/tencentcloud/config/RoscoTencentCloudConfiguration.java +++ b/rosco-core/src/main/groovy/com/netflix/spinnaker/rosco/providers/tencentcloud/config/RoscoTencentCloudConfiguration.java @@ -20,9 +20,9 @@ import com.netflix.spinnaker.rosco.api.BakeRequest.CloudProviderType; import com.netflix.spinnaker.rosco.providers.registry.CloudProviderBakeHandlerRegistry; import com.netflix.spinnaker.rosco.providers.tencentcloud.TencentCloudBakeHandler; +import jakarta.annotation.PostConstruct; import java.util.ArrayList; import java.util.List; -import javax.annotation.PostConstruct; import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; diff --git a/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/BakeManifestRequest.java b/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/BakeManifestRequest.java index 783569bfea..45c3910754 100644 --- a/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/BakeManifestRequest.java +++ b/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/BakeManifestRequest.java @@ -1,8 +1,8 @@ package com.netflix.spinnaker.rosco.manifests; import com.fasterxml.jackson.annotation.JsonCreator; +import jakarta.annotation.Nullable; import java.util.Map; -import javax.annotation.Nullable; import lombok.Data; @Data diff --git a/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/helm/HelmBakeManifestRequest.java b/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/helm/HelmBakeManifestRequest.java index 0e874f9014..1156d4ce1e 100644 --- a/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/helm/HelmBakeManifestRequest.java +++ b/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/helm/HelmBakeManifestRequest.java @@ -2,8 +2,8 @@ import com.netflix.spinnaker.kork.artifacts.model.Artifact; import com.netflix.spinnaker.rosco.manifests.BakeManifestRequest; +import jakarta.annotation.Nullable; import java.util.List; -import javax.annotation.Nullable; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/Main.groovy b/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/Main.groovy index 2cfa29a03f..1b3fa3cf5a 100644 --- a/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/Main.groovy +++ b/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/Main.groovy @@ -50,7 +50,7 @@ import org.springframework.scheduling.annotation.EnableScheduling import org.springframework.web.filter.ShallowEtagHeaderFilter import com.netflix.spinnaker.kork.boot.DefaultPropertiesBuilder -import javax.servlet.Filter +import jakarta.servlet.Filter @Configuration @ComponentScan([ diff --git a/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/WebConfig.groovy b/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/WebConfig.groovy index 534b98b2e0..1636373fa1 100644 --- a/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/WebConfig.groovy +++ b/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/WebConfig.groovy @@ -1,4 +1,4 @@ -/* + /* * Copyright 2016 Google, Inc. * * Licensed under the Apache License, Version 2.0 (the "License") @@ -26,11 +26,11 @@ import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.core.Ordered import org.springframework.web.servlet.config.annotation.InterceptorRegistry -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer @Configuration @CompileStatic -public class WebConfig extends WebMvcConfigurerAdapter { +public class WebConfig implements WebMvcConfigurer { @Autowired Registry registry diff --git a/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/filters/SimpleCORSFilter.groovy b/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/filters/SimpleCORSFilter.groovy index 67d006db46..e0fd67ba09 100644 --- a/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/filters/SimpleCORSFilter.groovy +++ b/rosco-web/src/main/groovy/com/netflix/spinnaker/rosco/filters/SimpleCORSFilter.groovy @@ -18,8 +18,8 @@ package com.netflix.spinnaker.rosco.filters import org.springframework.stereotype.Component -import javax.servlet.* -import javax.servlet.http.HttpServletResponse +import jakarta.servlet.* +import jakarta.servlet.http.HttpServletResponse @Component public class SimpleCORSFilter implements Filter {