From cb0995f037cc5a26041e010f2947619198778e1a Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Wed, 11 Mar 2020 11:20:21 +0100 Subject: [PATCH] project: Update to RxJava 3 --- build.gradle.kts | 1 + buildSrc/src/main/kotlin/Dependencies.kt | 8 ++++---- .../http/api/account/AccountClient.java | 2 +- .../net/runelite/http/api/item/ItemClient.java | 2 +- .../api/osbuddy/OSBGrandExchangeClient.java | 2 +- .../runelite/client/ClientSessionManager.java | 2 +- .../java/net/runelite/client/RuneLite.java | 4 ++-- .../net/runelite/client/SessionClient.java | 4 ++-- .../client/account/SessionManager.java | 2 +- .../runelite/client/callback/ClientThread.java | 4 ++-- .../client/eventbus/AccessorGenerator.java | 2 +- .../net/runelite/client/eventbus/EventBus.java | 18 +++++++++--------- .../client/eventbus/EventBusInterface.java | 4 ++-- .../client/eventbus/EventScheduler.java | 18 +++++++++++++----- .../runelite/client/eventbus/Subscription.java | 2 +- .../net/runelite/client/game/ItemManager.java | 4 ++-- .../net/runelite/client/game/NPCManager.java | 4 ++-- .../net/runelite/client/plugins/Plugin.java | 2 +- .../runelite/client/util/DeferredEventBus.java | 2 +- 19 files changed, 48 insertions(+), 39 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 63a24c8588..95f345c1a9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -90,6 +90,7 @@ subprojects { } filter { includeModule("net.runelite", "fernflower") + includeModule("com.openosrs.rxrelay3", "rxrelay") } } } diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 6314dd1a11..c6d8e7809c 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -82,8 +82,8 @@ object Libraries { const val pf4j = "3.2.0" const val pf4jUpdate = "2.3.0" const val radiance = "2.5.1" - const val rxjava = "2.2.18" - const val rxrelay = "2.1.1" + const val rxjava = "3.0.0" + const val rxrelay = "3.0.0-SNAPSHOT" const val sisu = "0.3.4" const val sentry = "1.7.30" const val semver = "0.9.0" @@ -141,8 +141,8 @@ object Libraries { const val petitparser = "com.github.petitparser:java-petitparser:${Versions.petitparser}" const val pf4j = "org.pf4j:pf4j:${Versions.pf4j}" const val pf4jUpdate = "org.pf4j:pf4j-update:${Versions.pf4jUpdate}" - const val rxjava = "io.reactivex.rxjava2:rxjava:${Versions.rxjava}" - const val rxrelay = "com.jakewharton.rxrelay2:rxrelay:${Versions.rxrelay}" + const val rxjava = "io.reactivex.rxjava3:rxjava:${Versions.rxjava}" + const val rxrelay = "com.openosrs.rxrelay3:rxrelay:${Versions.rxrelay}" const val sisu = "org.eclipse.sisu:org.eclipse.sisu.inject:${Versions.sisu}" const val slf4jApi = "org.slf4j:slf4j-api:${Versions.slf4j}" const val slf4jNop = "org.slf4j:slf4j-nop:${Versions.slf4j}" diff --git a/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java b/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java index f2cf7b560a..b68933c63e 100644 --- a/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java +++ b/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java @@ -25,7 +25,7 @@ package net.runelite.http.api.account; import com.google.gson.JsonParseException; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; diff --git a/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java b/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java index 7e7997d445..23656fa74f 100644 --- a/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java +++ b/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java @@ -27,7 +27,7 @@ package net.runelite.http.api.item; import com.google.common.collect.ImmutableMap; import com.google.gson.JsonParseException; import com.google.gson.stream.JsonReader; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.InputStream; diff --git a/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java b/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java index 1739125f8c..96a6bb4324 100644 --- a/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java +++ b/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java @@ -25,7 +25,7 @@ package net.runelite.http.api.osbuddy; import com.google.gson.JsonParseException; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Observable; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; diff --git a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java index 3d7edcd37a..7ec8e5ecfa 100644 --- a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java @@ -24,7 +24,7 @@ */ package net.runelite.client; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.schedulers.Schedulers; import java.time.temporal.ChronoUnit; import java.util.UUID; import javax.inject.Inject; diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 8053bf9b36..0e1037209a 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -30,8 +30,8 @@ import com.google.common.annotations.VisibleForTesting; import com.google.inject.Guice; import com.google.inject.Inject; import com.google.inject.Injector; -import io.reactivex.Completable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.schedulers.Schedulers; import io.sentry.Sentry; import io.sentry.SentryClient; import java.io.File; diff --git a/runelite-client/src/main/java/net/runelite/client/SessionClient.java b/runelite-client/src/main/java/net/runelite/client/SessionClient.java index 909e284be4..79245c8c31 100644 --- a/runelite-client/src/main/java/net/runelite/client/SessionClient.java +++ b/runelite-client/src/main/java/net/runelite/client/SessionClient.java @@ -24,8 +24,8 @@ */ package net.runelite.client; -import io.reactivex.Completable; -import io.reactivex.Observable; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Observable; import java.io.IOException; import java.util.UUID; import net.runelite.http.api.RuneLiteAPI; diff --git a/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java b/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java index b1aa719d08..4fd8760d59 100644 --- a/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java +++ b/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java @@ -25,7 +25,7 @@ package net.runelite.client.account; import com.google.gson.Gson; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.schedulers.Schedulers; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; diff --git a/runelite-client/src/main/java/net/runelite/client/callback/ClientThread.java b/runelite-client/src/main/java/net/runelite/client/callback/ClientThread.java index 68378ebbea..441b5c6507 100644 --- a/runelite-client/src/main/java/net/runelite/client/callback/ClientThread.java +++ b/runelite-client/src/main/java/net/runelite/client/callback/ClientThread.java @@ -25,8 +25,8 @@ package net.runelite.client.callback; import com.google.inject.Inject; -import io.reactivex.plugins.RxJavaPlugins; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.plugins.RxJavaPlugins; +import io.reactivex.rxjava3.schedulers.Schedulers; import java.util.Iterator; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.Executor; diff --git a/runelite-client/src/main/java/net/runelite/client/eventbus/AccessorGenerator.java b/runelite-client/src/main/java/net/runelite/client/eventbus/AccessorGenerator.java index a87f9cd191..2a1240179b 100644 --- a/runelite-client/src/main/java/net/runelite/client/eventbus/AccessorGenerator.java +++ b/runelite-client/src/main/java/net/runelite/client/eventbus/AccessorGenerator.java @@ -1,7 +1,7 @@ package net.runelite.client.eventbus; import com.google.common.collect.ImmutableSet; -import io.reactivex.functions.Consumer; +import io.reactivex.rxjava3.functions.Consumer; import java.lang.invoke.CallSite; import java.lang.invoke.LambdaMetafactory; import java.lang.invoke.MethodHandle; diff --git a/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java b/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java index 2bcde713dd..a17db204fe 100644 --- a/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java +++ b/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java @@ -1,18 +1,18 @@ package net.runelite.client.eventbus; -import com.jakewharton.rxrelay2.PublishRelay; -import com.jakewharton.rxrelay2.Relay; -import io.reactivex.ObservableTransformer; -import io.reactivex.Scheduler; -import io.reactivex.annotations.NonNull; -import io.reactivex.annotations.Nullable; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Consumer; +import com.jakewharton.rxrelay3.PublishRelay; +import com.jakewharton.rxrelay3.Relay; +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.core.ObservableTransformer; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Consumer; import io.sentry.Sentry; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import javax.annotation.Nullable; import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; diff --git a/runelite-client/src/main/java/net/runelite/client/eventbus/EventBusInterface.java b/runelite-client/src/main/java/net/runelite/client/eventbus/EventBusInterface.java index 9b6d66f51a..0e6cbfbd36 100644 --- a/runelite-client/src/main/java/net/runelite/client/eventbus/EventBusInterface.java +++ b/runelite-client/src/main/java/net/runelite/client/eventbus/EventBusInterface.java @@ -1,7 +1,7 @@ package net.runelite.client.eventbus; -import io.reactivex.annotations.NonNull; -import io.reactivex.functions.Consumer; +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.functions.Consumer; import net.runelite.api.events.Event; public interface EventBusInterface diff --git a/runelite-client/src/main/java/net/runelite/client/eventbus/EventScheduler.java b/runelite-client/src/main/java/net/runelite/client/eventbus/EventScheduler.java index 5a0278ae50..fb84f9ef75 100644 --- a/runelite-client/src/main/java/net/runelite/client/eventbus/EventScheduler.java +++ b/runelite-client/src/main/java/net/runelite/client/eventbus/EventScheduler.java @@ -1,9 +1,9 @@ package net.runelite.client.eventbus; -import io.reactivex.Scheduler; -import io.reactivex.annotations.Nullable; -import io.reactivex.schedulers.Schedulers; -import java.util.function.Supplier; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.functions.Supplier; +import io.reactivex.rxjava3.schedulers.Schedulers; +import javax.annotation.Nullable; import lombok.AllArgsConstructor; @AllArgsConstructor @@ -22,6 +22,14 @@ public enum EventScheduler @Nullable public Scheduler get() { - return scheduler.get(); + try + { + return scheduler.get(); + } + catch (Throwable ignored) + { + } + + return null; } } diff --git a/runelite-client/src/main/java/net/runelite/client/eventbus/Subscription.java b/runelite-client/src/main/java/net/runelite/client/eventbus/Subscription.java index 22acf41126..1b9fbbaa77 100644 --- a/runelite-client/src/main/java/net/runelite/client/eventbus/Subscription.java +++ b/runelite-client/src/main/java/net/runelite/client/eventbus/Subscription.java @@ -1,6 +1,6 @@ package net.runelite.client.eventbus; -import io.reactivex.functions.Consumer; +import io.reactivex.rxjava3.functions.Consumer; import lombok.Value; @Value diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java index 9e2f2ed8a5..adcb21ffb9 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java @@ -28,8 +28,8 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableMap; -import io.reactivex.Completable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.schedulers.Schedulers; import java.awt.Color; import java.awt.image.BufferedImage; import java.util.ArrayList; diff --git a/runelite-client/src/main/java/net/runelite/client/game/NPCManager.java b/runelite-client/src/main/java/net/runelite/client/game/NPCManager.java index 4c2ae76d8c..673bce7de7 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/NPCManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/NPCManager.java @@ -27,8 +27,8 @@ package net.runelite.client.game; import com.google.common.collect.ImmutableMap; import com.google.gson.stream.JsonReader; -import io.reactivex.Completable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.schedulers.Schedulers; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/Plugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/Plugin.java index ec405dbfa7..29867c27e0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/Plugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/Plugin.java @@ -28,7 +28,7 @@ import com.google.common.collect.ImmutableSet; import com.google.inject.Binder; import com.google.inject.Injector; import com.google.inject.Module; -import io.reactivex.functions.Consumer; +import io.reactivex.rxjava3.functions.Consumer; import java.lang.reflect.Method; import java.util.Set; import lombok.AccessLevel; diff --git a/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java b/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java index 71827808ce..176a4a36ef 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java +++ b/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java @@ -24,7 +24,7 @@ */ package net.runelite.client.util; -import io.reactivex.annotations.NonNull; +import io.reactivex.rxjava3.annotations.NonNull; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; import javax.inject.Inject;