This is an automated email from the ASF dual-hosted git repository.

vincbeck pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 8bfd7f1e7e1 Migrate remaining providers to common.compat compatibility 
layer in Salesforce (#57088)
8bfd7f1e7e1 is described below

commit 8bfd7f1e7e1846d7322731d46b4befdff7d34d8a
Author: rich7420 <[email protected]>
AuthorDate: Thu Oct 23 04:25:04 2025 +0800

    Migrate remaining providers to common.compat compatibility layer in 
Salesforce (#57088)
    
    * Migrate remaining providers to common.compat compatibility layer
    
    * remove extra modification
    
    * fix ruff error
---
 providers/salesforce/pyproject.toml                     |  2 ++
 .../airflow/providers/salesforce/hooks/salesforce.py    |  2 +-
 .../src/airflow/providers/salesforce/operators/bulk.py  |  4 ++--
 .../salesforce/operators/salesforce_apex_rest.py        |  4 ++--
 .../src/airflow/providers/salesforce/version_compat.py  | 17 ++++-------------
 5 files changed, 11 insertions(+), 18 deletions(-)

diff --git a/providers/salesforce/pyproject.toml 
b/providers/salesforce/pyproject.toml
index 8b5d45facbe..a76d9736566 100644
--- a/providers/salesforce/pyproject.toml
+++ b/providers/salesforce/pyproject.toml
@@ -58,6 +58,7 @@ requires-python = ">=3.10"
 # After you modify the dependencies, and rebuild your Breeze CI image with 
``breeze ci-image build``
 dependencies = [
     "apache-airflow>=2.10.0",
+    "apache-airflow-providers-common-compat>=1.7.4",  # + TODO: bump to next 
version
     "simple-salesforce>=1.0.0",
     'pandas>=2.1.2; python_version <"3.13"',
     'pandas>=2.2.3; python_version >="3.13"',
@@ -68,6 +69,7 @@ dev = [
     "apache-airflow",
     "apache-airflow-task-sdk",
     "apache-airflow-devel-common",
+    "apache-airflow-providers-common-compat",
     # Additional devel dependencies (do not remove this line and add extra 
development dependencies)
 ]
 
diff --git 
a/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py 
b/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py
index ff9996cb9f1..938bccd10f8 100644
--- a/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py
+++ b/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py
@@ -32,7 +32,7 @@ from typing import TYPE_CHECKING, Any, cast
 
 from simple_salesforce import Salesforce, api
 
-from airflow.providers.salesforce.version_compat import BaseHook
+from airflow.providers.common.compat.sdk import BaseHook
 
 if TYPE_CHECKING:
     import pandas as pd
diff --git 
a/providers/salesforce/src/airflow/providers/salesforce/operators/bulk.py 
b/providers/salesforce/src/airflow/providers/salesforce/operators/bulk.py
index 47eadd72e86..041492f391a 100644
--- a/providers/salesforce/src/airflow/providers/salesforce/operators/bulk.py
+++ b/providers/salesforce/src/airflow/providers/salesforce/operators/bulk.py
@@ -19,15 +19,15 @@ from __future__ import annotations
 from collections.abc import Iterable
 from typing import TYPE_CHECKING, cast
 
+from airflow.providers.common.compat.sdk import BaseOperator
 from airflow.providers.salesforce.hooks.salesforce import SalesforceHook
-from airflow.providers.salesforce.version_compat import BaseOperator
 
 if TYPE_CHECKING:
     from typing import Literal
 
     from simple_salesforce.bulk import SFBulkHandler
 
-    from airflow.providers.salesforce.version_compat import Context
+    from airflow.providers.common.compat.sdk import Context
 
 
 class SalesforceBulkOperator(BaseOperator):
diff --git 
a/providers/salesforce/src/airflow/providers/salesforce/operators/salesforce_apex_rest.py
 
b/providers/salesforce/src/airflow/providers/salesforce/operators/salesforce_apex_rest.py
index d1187ff7368..64e8c2d2e56 100644
--- 
a/providers/salesforce/src/airflow/providers/salesforce/operators/salesforce_apex_rest.py
+++ 
b/providers/salesforce/src/airflow/providers/salesforce/operators/salesforce_apex_rest.py
@@ -18,11 +18,11 @@ from __future__ import annotations
 
 from typing import TYPE_CHECKING
 
+from airflow.providers.common.compat.sdk import BaseOperator
 from airflow.providers.salesforce.hooks.salesforce import SalesforceHook
-from airflow.providers.salesforce.version_compat import BaseOperator
 
 if TYPE_CHECKING:
-    from airflow.providers.salesforce.version_compat import Context
+    from airflow.providers.common.compat.sdk import Context
 
 
 class SalesforceApexRestOperator(BaseOperator):
diff --git 
a/providers/salesforce/src/airflow/providers/salesforce/version_compat.py 
b/providers/salesforce/src/airflow/providers/salesforce/version_compat.py
index 21a2c6de4c2..fe3ccfcfd3d 100644
--- a/providers/salesforce/src/airflow/providers/salesforce/version_compat.py
+++ b/providers/salesforce/src/airflow/providers/salesforce/version_compat.py
@@ -30,16 +30,7 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
 AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0)
 AIRFLOW_V_3_1_PLUS: bool = get_base_airflow_version_tuple() >= (3, 1, 0)
 
-if AIRFLOW_V_3_0_PLUS:
-    from airflow.sdk import BaseOperator
-    from airflow.sdk.definitions.context import Context
-else:
-    from airflow.models import BaseOperator
-    from airflow.utils.context import Context
-
-if AIRFLOW_V_3_1_PLUS:
-    from airflow.sdk import BaseHook
-else:
-    from airflow.hooks.base import BaseHook  # type: 
ignore[attr-defined,no-redef]
-
-__all__ = ["AIRFLOW_V_3_0_PLUS", "BaseHook", "BaseOperator", "Context"]
+__all__ = [
+    "AIRFLOW_V_3_0_PLUS",
+    "AIRFLOW_V_3_1_PLUS",
+]

Reply via email to