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

kaxilnaik 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 6838c82dbac Migrate samba provider to ``common.compat`` (#57082)
6838c82dbac is described below

commit 6838c82dbac7084b97cec2529ce75df5b8880c8f
Author: rich7420 <[email protected]>
AuthorDate: Thu Oct 23 23:38:14 2025 +0800

    Migrate samba provider to ``common.compat`` (#57082)
    
    This PR is a part of 57018 about provider samba.
---
 providers/samba/pyproject.toml                          |  2 ++
 .../samba/src/airflow/providers/samba/hooks/samba.py    |  2 +-
 .../airflow/providers/samba/transfers/gcs_to_samba.py   |  4 ++--
 .../samba/src/airflow/providers/samba/version_compat.py | 17 ++++-------------
 4 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/providers/samba/pyproject.toml b/providers/samba/pyproject.toml
index d61d9eae965..3ec43ddc657 100644
--- a/providers/samba/pyproject.toml
+++ b/providers/samba/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.8.0",
     "smbprotocol>=1.5.0",
 ]
 
@@ -73,6 +74,7 @@ dev = [
     "apache-airflow",
     "apache-airflow-task-sdk",
     "apache-airflow-devel-common",
+    "apache-airflow-providers-common-compat",
     "apache-airflow-providers-google",
     # Additional devel dependencies (do not remove this line and add extra 
development dependencies)
 ]
diff --git a/providers/samba/src/airflow/providers/samba/hooks/samba.py 
b/providers/samba/src/airflow/providers/samba/hooks/samba.py
index 6c832275c70..c36f0b06dc9 100644
--- a/providers/samba/src/airflow/providers/samba/hooks/samba.py
+++ b/providers/samba/src/airflow/providers/samba/hooks/samba.py
@@ -24,7 +24,7 @@ from typing import TYPE_CHECKING, Any, Literal
 
 import smbclient
 
-from airflow.providers.samba.version_compat import BaseHook
+from airflow.providers.common.compat.sdk import BaseHook
 
 if TYPE_CHECKING:
     import smbprotocol.connection
diff --git 
a/providers/samba/src/airflow/providers/samba/transfers/gcs_to_samba.py 
b/providers/samba/src/airflow/providers/samba/transfers/gcs_to_samba.py
index 87b83a0c3c8..11b4efff45a 100644
--- a/providers/samba/src/airflow/providers/samba/transfers/gcs_to_samba.py
+++ b/providers/samba/src/airflow/providers/samba/transfers/gcs_to_samba.py
@@ -25,14 +25,14 @@ from tempfile import NamedTemporaryFile
 from typing import TYPE_CHECKING
 
 from airflow.exceptions import AirflowException
+from airflow.providers.common.compat.sdk import BaseOperator
 from airflow.providers.google.cloud.hooks.gcs import GCSHook
 from airflow.providers.samba.hooks.samba import SambaHook
-from airflow.providers.samba.version_compat import BaseOperator
 
 WILDCARD = "*"
 
 if TYPE_CHECKING:
-    from airflow.providers.samba.version_compat import Context
+    from airflow.providers.common.compat.sdk import Context
 
 
 class GCSToSambaOperator(BaseOperator):
diff --git a/providers/samba/src/airflow/providers/samba/version_compat.py 
b/providers/samba/src/airflow/providers/samba/version_compat.py
index 21a2c6de4c2..fe3ccfcfd3d 100644
--- a/providers/samba/src/airflow/providers/samba/version_compat.py
+++ b/providers/samba/src/airflow/providers/samba/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