From 46277d1187eaf7d3a7f2f594280b3d8391243bd9 Mon Sep 17 00:00:00 2001 From: Tomasz Pasternak Date: Mon, 23 Sep 2024 22:07:36 +0200 Subject: [PATCH] chore: Prepare for 243 bump: move addListeners to SDK compat (#6781) --- .../libraries/ExternalLibraryManager.java | 8 +++-- .../AsyncVfsEventsPostProcessorCompat.java | 33 ++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 ++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 ++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 ++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 ++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 33 ++++++++++++++++++ .../AsyncVfsEventsPostProcessorCompat.java | 34 +++++++++++++++++++ 8 files changed, 237 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..86b2c92a8c4 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, + project); } @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..35f9db6c9eb --- /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.openapi.project.Project; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, Project project) { + 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..35f9db6c9eb --- /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.openapi.project.Project; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, Project project) { + 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..35f9db6c9eb --- /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.openapi.project.Project; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, Project project) { + 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..35f9db6c9eb --- /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.openapi.project.Project; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, Project project) { + 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..35f9db6c9eb --- /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.openapi.project.Project; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, Project project) { + 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..35f9db6c9eb --- /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.openapi.project.Project; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, Project project) { + 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..f2c5b9914c7 --- /dev/null +++ b/sdkcompat/v243/com/google/idea/sdkcompat/general/AsyncVfsEventsPostProcessorCompat.java @@ -0,0 +1,34 @@ +/* + * 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.openapi.components.ComponentManagerEx; +import com.intellij.openapi.project.Project; +import com.intellij.vfs.AsyncVfsEventsListener; +import com.intellij.vfs.AsyncVfsEventsPostProcessor; + +// #api242 +public class AsyncVfsEventsPostProcessorCompat { + private AsyncVfsEventsPostProcessorCompat(){ + + } + + public static void addListener(AsyncVfsEventsListener listener, Disposable disposable, Project project) { + AsyncVfsEventsPostProcessor.getInstance().addListener(listener, ((ComponentManagerEx)project).getCoroutineScope()); + } +}