Add azure-storage-files-datalake-cpp 12.12.0 (#10188)
## Summary
- Publish Azure Storage Files Data Lake C++ 12.12.0 from the same
official, SHA-pinned SDK release archive already used by
`azure-storage-blobs-cpp` 12.13.0.
- Expose
`@azure-storage-files-datalake-cpp//:azure_storage_files_datalake_cpp`
with its upstream Azure Blob dependency.
- Add the upstream simplified-header test and Linux, macOS, and Windows
presubmit coverage.
- Keep Bazel 9 compatibility floors and static linking scoped to the
test module and target.
## Validation
- Compiled 1,364 Bazel actions and passed the upstream
`SimplifiedHeader.StorageFilesDataLake` test.
- Verified archive and overlay integrity and module-maintainer metadata.
diff --git a/modules/azure-storage-files-datalake-cpp/12.12.0/MODULE.bazel b/modules/azure-storage-files-datalake-cpp/12.12.0/MODULE.bazel
new file mode 100644
index 0000000..fa81cd2
--- /dev/null
+++ b/modules/azure-storage-files-datalake-cpp/12.12.0/MODULE.bazel
@@ -0,0 +1,11 @@
+module(
+ name = "azure-storage-files-datalake-cpp",
+ version = "12.12.0",
+ bazel_compatibility = [">=7.2.1"], # need support for "overlay" directory
+ compatibility_level = 0,
+)
+
+bazel_dep(name = "azure-storage-blobs-cpp", version = "12.13.0")
+bazel_dep(name = "googletest", version = "1.16.0")
+bazel_dep(name = "platforms", version = "0.0.11")
+bazel_dep(name = "rules_cc", version = "0.0.17")
diff --git a/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/BUILD.bazel b/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/BUILD.bazel
new file mode 100644
index 0000000..762a48d
--- /dev/null
+++ b/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/BUILD.bazel
@@ -0,0 +1,31 @@
+load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
+
+cc_library(
+ name = "azure_storage_files_datalake_cpp",
+ srcs = glob([
+ "src/**/*.hpp",
+ "src/**/*.cpp",
+ ]),
+ hdrs = glob(["inc/**/*.hpp"]),
+ includes = ["inc"],
+ local_defines = ["_azure_BUILDING_SDK"],
+ visibility = ["//visibility:public"],
+ deps = [
+ "@azure-storage-blobs-cpp//:azure_storage_blobs_cpp",
+ ],
+)
+
+cc_test(
+ name = "azure_storage_files_datalake_cpp_test",
+ srcs = [
+ "test/ut/simplified_header_test.cpp",
+ # Other tests require the Azure SDK test proxy:
+ # https://github.com/Azure/azure-sdk-for-cpp/blob/main/doc/TestProxy.md
+ ],
+ linkstatic = True,
+ local_defines = ["_azure_TESTING_BUILD"],
+ deps = [
+ ":azure_storage_files_datalake_cpp",
+ "@googletest//:gtest_main",
+ ],
+)
diff --git a/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/test/MODULE.bazel b/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/test/MODULE.bazel
new file mode 100644
index 0000000..61244a7
--- /dev/null
+++ b/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/test/MODULE.bazel
@@ -0,0 +1,17 @@
+bazel_dep(name = "azure-storage-files-datalake-cpp", version = "12.12.0")
+local_path_override(
+ module_name = "azure-storage-files-datalake-cpp",
+ path = "..",
+)
+
+bazel_dep(name = "azure-core-cpp", version = "1.14.1.bcr.2")
+bazel_dep(name = "curl", version = "8.11.0.bcr.5")
+bazel_dep(name = "googletest", version = "1.17.0.bcr.2")
+bazel_dep(name = "libxml2", version = "2.15.3")
+
+single_version_override(
+ module_name = "azure-core-cpp",
+ patch_strip = 1,
+ patches = ["//bcr_patches:azure_core_curl_visibility.patch"],
+ version = "1.14.1.bcr.2",
+)
diff --git a/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/test/bcr_patches/BUILD.bazel b/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/test/bcr_patches/BUILD.bazel
new file mode 100644
index 0000000..9d3687f
--- /dev/null
+++ b/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/test/bcr_patches/BUILD.bazel
@@ -0,0 +1 @@
+exports_files(["azure_core_curl_visibility.patch"])
diff --git a/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/test/bcr_patches/azure_core_curl_visibility.patch b/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/test/bcr_patches/azure_core_curl_visibility.patch
new file mode 100644
index 0000000..399037d
--- /dev/null
+++ b/modules/azure-storage-files-datalake-cpp/12.12.0/overlay/test/bcr_patches/azure_core_curl_visibility.patch
@@ -0,0 +1,22 @@
+--- a/BUILD.bazel
++++ b/BUILD.bazel
+@@ -1,3 +1,2 @@
+-load("@bazel_skylib//lib:selects.bzl", "selects")
+ load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
+ load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
+@@ -21,10 +20,10 @@
+ # If we're building azure_core_cpp with Curl as a transport, we must ensure curl
+ # was built with OpenSSL and not another SSL lib, as azure_core_cpp only
+ # supports OpenSSL.
+-selects.config_setting_group(
++config_setting(
+ name = "build_transport_curl_openssl",
+- match_all = [
+- ":build_transport_curl_setting",
+- "@curl//:use_openssl",
+- ],
++ flag_values = {
++ ":build_transport_curl": "true",
++ "@curl//:ssl_lib": "openssl",
++ },
+ )
diff --git a/modules/azure-storage-files-datalake-cpp/12.12.0/presubmit.yml b/modules/azure-storage-files-datalake-cpp/12.12.0/presubmit.yml
new file mode 100644
index 0000000..401cf3a
--- /dev/null
+++ b/modules/azure-storage-files-datalake-cpp/12.12.0/presubmit.yml
@@ -0,0 +1,34 @@
+bcr_test_module:
+ module_path: test
+ matrix:
+ unix_platform:
+ - debian11
+ - ubuntu2004
+ - ubuntu2204
+ - ubuntu2404
+ - macos
+ - macos_arm64
+ bazel: [7.x, 8.x, 9.x, rolling]
+ tasks:
+ verify_targets_unix:
+ name: Build and test targets on Unix platforms
+ platform: ${{ unix_platform }}
+ bazel: ${{ bazel }}
+ build_targets:
+ - "@azure-storage-files-datalake-cpp//:azure_storage_files_datalake_cpp"
+ build_flags:
+ - "--@curl//:ssl_lib=openssl"
+ - "--cxxopt=-std=c++17"
+ test_targets:
+ - "@azure-storage-files-datalake-cpp//:azure_storage_files_datalake_cpp_test"
+ test_flags:
+ - "--@curl//:ssl_lib=openssl"
+ - "--cxxopt=-std=c++17"
+ verify_targets_windows:
+ name: Build and test targets on Windows
+ platform: windows
+ bazel: ${{ bazel }}
+ build_targets:
+ - "@azure-storage-files-datalake-cpp//:azure_storage_files_datalake_cpp"
+ build_flags:
+ - "--@azure-core-cpp//:build_transport_curl=false"
diff --git a/modules/azure-storage-files-datalake-cpp/12.12.0/source.json b/modules/azure-storage-files-datalake-cpp/12.12.0/source.json
new file mode 100644
index 0000000..81aa762
--- /dev/null
+++ b/modules/azure-storage-files-datalake-cpp/12.12.0/source.json
@@ -0,0 +1,11 @@
+{
+ "url": "https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-storage-blobs_12.13.0.tar.gz",
+ "integrity": "sha256-MAu9HWvFC4mIs92inW1idXSk8+JafgCmmG2l05ZfZ5o=",
+ "strip_prefix": "azure-sdk-for-cpp-azure-storage-blobs_12.13.0/sdk/storage/azure-storage-files-datalake",
+ "overlay": {
+ "BUILD.bazel": "sha256-NVkSasSqDxbbAvGg2nSOzNL1NADkxTVZwwmQZLZxF4Y=",
+ "test/MODULE.bazel": "sha256-yX4dK3qp8rAfvYw00QwDyt3IcxrGeYZ0v34qx7w4FBA=",
+ "test/bcr_patches/BUILD.bazel": "sha256-TE+3oTjzJAnr0GzqM+6kTQyjOt7KktNbDZPrMZ9+JdQ=",
+ "test/bcr_patches/azure_core_curl_visibility.patch": "sha256-62hOTgQx4AAo9kn5/zxIJguWsyJG12ELhw86cdO6C10="
+ }
+}
diff --git a/modules/azure-storage-files-datalake-cpp/metadata.json b/modules/azure-storage-files-datalake-cpp/metadata.json
new file mode 100644
index 0000000..e4bb4fd
--- /dev/null
+++ b/modules/azure-storage-files-datalake-cpp/metadata.json
@@ -0,0 +1,16 @@
+{
+ "homepage": "https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/storage/azure-storage-files-datalake",
+ "maintainers": [
+ {
+ "github": "dzbarsky",
+ "github_user_id": 1565842
+ }
+ ],
+ "repository": [
+ "github:Azure/azure-sdk-for-cpp"
+ ],
+ "versions": [
+ "12.12.0"
+ ],
+ "yanked_versions": {}
+}