From b4b0accdfe85ba99c5005e90854cb69aa8841547 Mon Sep 17 00:00:00 2001 From: Tomasz Pasternak Date: Mon, 23 Sep 2024 19:08:12 +0200 Subject: [PATCH] chore: Prepare for 243 bump: move addListeners to SDK compat --- .../libraries/ExternalLibraryManager.java | 8 +++-- .../AsyncVfsEventsPostProcessorCompat.java | 33 +++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 +++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 +++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 +++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 +++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 +++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 +++++++++++++++++++ 8 files changed, 236 insertions(+), 3 deletions(-) create mode 100644 sdkcompat/v223/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java create mode 100644 sdkcompat/v231/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java create mode 100644 sdkcompat/v232/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java create mode 100644 sdkcompat/v233/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java create mode 100644 sdkcompat/v241/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java create mode 100644 sdkcompat/v242/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java create mode 100644 sdkcompat/v243/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java diff --git a/base/src/com/google/idea/blaze/base/sync/libraries/ExternalLibraryManager.java b/base/src/com/google/idea/blaze/base/sync/libraries/ExternalLibraryManager.java index 0d1dcb217de..1912fcd4b34 100644 --- a/base/src/com/google/idea/blaze/base/sync/libraries/ExternalLibraryManager.java +++ b/base/src/com/google/idea/blaze/base/sync/libraries/ExternalLibraryManager.java @@ -31,7 +31,9 @@ import com.google.idea.blaze.base.sync.data.BlazeProjectDataManager; import com.google.idea.blaze.base.vcs.VcsSyncListener; import com.google.idea.common.util.Transactions; +import com.google.idea.sdkcompat.general.AsyncVfsEventsPostProcessorCompat; import com.intellij.openapi.Disposable; +import com.intellij.openapi.components.ComponentManagerEx; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.AdditionalLibraryRootsProvider; @@ -66,8 +68,7 @@ public static ExternalLibraryManager getInstance(Project project) { this.project = project; this.duringBlazeSync = false; this.libraries = ImmutableMap.of(); - AsyncVfsEventsPostProcessor.getInstance() - .addListener( + AsyncVfsEventsPostProcessorCompat.addListener( events -> { if (duringBlazeSync || libraries.isEmpty()) { return; @@ -81,7 +82,8 @@ public static ExternalLibraryManager getInstance(Project project) { libraries.values().forEach(library -> library.removeInvalidFiles(deletedFiles)); } }, - this); + this, + ((ComponentManagerEx)project).getCoroutineScope()); } @Nullable diff --git a/sdkcompat/v223/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java b/sdkcompat/v223/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java new file mode 100644 index 00000000000..6b7ec1df615 --- /dev/null +++ b/sdkcompat/v223/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java @@ -0,0 +1,33 @@ +/* + * Copyright 2024 The Bazel Authors. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.idea.sdkcompat.general; + +import com.intellij.openapi.Disposable; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; +import kotlinx.coroutines.CoroutineScope; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, CoroutineScope coroutineScope) { + AsyncVfsEventsPostProcessor.getInstance().addListener(listener, disposable); + } +} diff --git a/sdkcompat/v231/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java b/sdkcompat/v231/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java new file mode 100644 index 00000000000..6b7ec1df615 --- /dev/null +++ b/sdkcompat/v231/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java @@ -0,0 +1,33 @@ +/* + * Copyright 2024 The Bazel Authors. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.idea.sdkcompat.general; + +import com.intellij.openapi.Disposable; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; +import kotlinx.coroutines.CoroutineScope; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, CoroutineScope coroutineScope) { + AsyncVfsEventsPostProcessor.getInstance().addListener(listener, disposable); + } +} diff --git a/sdkcompat/v232/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java b/sdkcompat/v232/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java new file mode 100644 index 00000000000..6b7ec1df615 --- /dev/null +++ b/sdkcompat/v232/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java @@ -0,0 +1,33 @@ +/* + * Copyright 2024 The Bazel Authors. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.idea.sdkcompat.general; + +import com.intellij.openapi.Disposable; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; +import kotlinx.coroutines.CoroutineScope; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, CoroutineScope coroutineScope) { + AsyncVfsEventsPostProcessor.getInstance().addListener(listener, disposable); + } +} diff --git a/sdkcompat/v233/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java b/sdkcompat/v233/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java new file mode 100644 index 00000000000..6b7ec1df615 --- /dev/null +++ b/sdkcompat/v233/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java @@ -0,0 +1,33 @@ +/* + * Copyright 2024 The Bazel Authors. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.idea.sdkcompat.general; + +import com.intellij.openapi.Disposable; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; +import kotlinx.coroutines.CoroutineScope; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, CoroutineScope coroutineScope) { + AsyncVfsEventsPostProcessor.getInstance().addListener(listener, disposable); + } +} diff --git a/sdkcompat/v241/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java b/sdkcompat/v241/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java new file mode 100644 index 00000000000..6b7ec1df615 --- /dev/null +++ b/sdkcompat/v241/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java @@ -0,0 +1,33 @@ +/* + * Copyright 2024 The Bazel Authors. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.idea.sdkcompat.general; + +import com.intellij.openapi.Disposable; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; +import kotlinx.coroutines.CoroutineScope; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, CoroutineScope coroutineScope) { + AsyncVfsEventsPostProcessor.getInstance().addListener(listener, disposable); + } +} diff --git a/sdkcompat/v242/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java b/sdkcompat/v242/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java new file mode 100644 index 00000000000..6b7ec1df615 --- /dev/null +++ b/sdkcompat/v242/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java @@ -0,0 +1,33 @@ +/* + * Copyright 2024 The Bazel Authors. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.idea.sdkcompat.general; + +import com.intellij.openapi.Disposable; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; +import kotlinx.coroutines.CoroutineScope; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, CoroutineScope coroutineScope) { + AsyncVfsEventsPostProcessor.getInstance().addListener(listener, disposable); + } +} diff --git a/sdkcompat/v243/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java b/sdkcompat/v243/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java new file mode 100644 index 00000000000..30cbe38c509 --- /dev/null +++ b/sdkcompat/v243/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java @@ -0,0 +1,33 @@ +/* + * Copyright 2024 The Bazel Authors. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.idea.sdkcompat.general; + +import com.intellij.openapi.Disposable; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; +import kotlinx.coroutines.CoroutineScope; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, CoroutineScope coroutineScope) { + AsyncVfsEventsPostProcessor.getInstance().addListener(listener, coroutineScope); + } +}