Skip to content

azure-sdk-for-cpp: New wrap #2115

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions ci_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,19 @@
"boost"
]
},
"azure-sdk-for-cpp": {
"_comment": "Has some symbol visibility issues on Windows, may require extra deps",
"build_on": {
"msys2": false,
"windows": false
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There seems to be some kind of issue with missing symbols on Windows. I can't tell if it has to do with the export macros or maybe even some missing Windows libraries that are needed.

For now I've just punted on it, in hopes that someone with more Windows knowledge and interest can fix this at a later date

},
"build_options": [
"libxml2:python=disabled"
],
"alpine_packages": [
"openssl-dev"
]
},
"blueprint-compiler": {
"_comment": "Tests require pygobject and Gtk4 typelib, and also they crash",
"skip_tests": true
Expand Down
12 changes: 12 additions & 0 deletions releases.json
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,18 @@
"1.6.6-1"
]
},
"azure-sdk-for-cpp": {
"dependency_names": [
"azure_core",
"azure_identity",
"azure_storage_common",
"azure_storage_blobs",
"azure_storage_files_datalake"
],
"versions": [
"1.9.0-1"
]
},
"backward-cpp": {
"dependency_names": [
"backward-cpp"
Expand Down
30 changes: 30 additions & 0 deletions subprojects/azure-sdk-for-cpp.wrap
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.

[wrap-file]
source_url = https://github.com/Azure/azure-sdk-for-cpp/archive/azure-identity_1.9.0.tar.gz
source_filename = azure-sdk-for-cpp-azure-identity_1.9.0.tar.gz
source_hash = 97065bfc971ac8df450853ce805f820f52b59457bd7556510186a1569502e4a1
directory = azure-sdk-for-cpp-azure-identity_1.9.0
patch_directory = azure-sdk-for-cpp

[provide]
azure_core = azure_core_dep
azure_identity = azure_identity_dep
azure_storage_common = azure_storage_common_dep
azure_storage_blobs = azure_storage_blobs_dep
azure_storage_files_datalake = azure_storage_files_datalake_dep
19 changes: 19 additions & 0 deletions subprojects/packagefiles/azure-sdk-for-cpp/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
project(
'azure-sdk-for-cpp',
'cpp',
version: '1.9.0',
default_options: ['cpp_std=c++14'],
)

if host_machine.system() == 'windows'
cc = meson.get_compiler('cpp')
bcrypt_dep = cc.find_library('bcrypt')
azure_crypto_dep = bcrypt_dep
else
openssl_dep = dependency('openssl')
azure_crypto_dep = openssl_dep
endif

subdir('sdk/core')
subdir('sdk/identity')
subdir('sdk/storage')
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
incdir = include_directories('inc')

azure_core_headers = {
'azure/core': [
'inc/azure/core.hpp',
'inc/azure/core/azure_assert.hpp',
'inc/azure/core/base64.hpp',
'inc/azure/core/case_insensitive_containers.hpp',
'inc/azure/core/context.hpp',
'inc/azure/core/credentials/credentials.hpp',
'inc/azure/core/credentials/token_credential_options.hpp',
'inc/azure/core/cryptography/hash.hpp',
'inc/azure/core/datetime.hpp',
'inc/azure/core/diagnostics/logger.hpp',
'inc/azure/core/dll_import_export.hpp',
'inc/azure/core/etag.hpp',
'inc/azure/core/exception.hpp',
'inc/azure/core/match_conditions.hpp',
'inc/azure/core/modified_conditions.hpp',
'inc/azure/core/nullable.hpp',
'inc/azure/core/operation.hpp',
'inc/azure/core/operation_status.hpp',
'inc/azure/core/paged_response.hpp',
'inc/azure/core/platform.hpp',
'inc/azure/core/response.hpp',
'inc/azure/core/rtti.hpp',
'inc/azure/core/url.hpp',
'inc/azure/core/uuid.hpp',
],
'azure/core/http': [
'inc/azure/core/http/http.hpp',
'inc/azure/core/http/http_status_code.hpp',
'inc/azure/core/http/policies/policy.hpp',
'inc/azure/core/http/raw_response.hpp',
'inc/azure/core/http/transport.hpp',
],
'azure/core/internal': [
'inc/azure/core/internal/client_options.hpp',
'inc/azure/core/internal/contract.hpp',
'inc/azure/core/internal/environment.hpp',
'inc/azure/core/internal/extendable_enumeration.hpp',
'inc/azure/core/internal/strings.hpp',
'inc/azure/core/internal/unique_handle.hpp',
],
'azure/core/internal/credentials': [
'inc/azure/core/internal/credentials/authorization_challenge_parser.hpp',
],
'azure/core/internal/cryptography': [
'inc/azure/core/internal/cryptography/sha_hash.hpp',
],
'azure/core/internal/diagnostics': [
'inc/azure/core/internal/diagnostics/global_exception.hpp',
'inc/azure/core/internal/diagnostics/log.hpp',
],
'azure/core/internal/http': [
'inc/azure/core/internal/http/http_sanitizer.hpp',
'inc/azure/core/internal/http/pipeline.hpp',
'inc/azure/core/internal/http/user_agent.hpp',
],
'azure/core/internal/io': ['inc/azure/core/internal/io/null_body_stream.hpp'],
'azure/core/internal/json': [
'inc/azure/core/internal/json/json.hpp',
'inc/azure/core/internal/json/json_optional.hpp',
'inc/azure/core/internal/json/json_serializable.hpp',
],
'azure/core/internal/tracing': [
'inc/azure/core/internal/tracing/service_tracing.hpp',
'inc/azure/core/internal/tracing/tracing_impl.hpp',
],
'azure/core/io': ['inc/azure/core/io/body_stream.hpp'],
'azure/core/tracing': ['inc/azure/core/tracing/tracing.hpp'],
}

azure_core_header_files = []
foreach subdir, files : azure_core_headers
install_headers(
files,
subdir: subdir,
)
azure_core_header_files += files
endforeach

azure_core_sources = [
'src/azure_assert.cpp',
'src/base64.cpp',
'src/context.cpp',
'src/credentials/authorization_challenge_parser.cpp',
'src/cryptography/md5.cpp',
'src/cryptography/sha_hash.cpp',
'src/datetime.cpp',
'src/environment.cpp',
'src/environment_log_level_listener.cpp',
'src/etag.cpp',
'src/exception.cpp',
'src/http/bearer_token_authentication_policy.cpp',
'src/http/http.cpp',
'src/http/http_sanitizer.cpp',
'src/http/log_policy.cpp',
'src/http/policy.cpp',
'src/http/raw_response.cpp',
'src/http/request.cpp',
'src/http/request_activity_policy.cpp',
'src/http/retry_policy.cpp',
'src/http/telemetry_policy.cpp',
'src/http/transport_policy.cpp',
'src/http/url.cpp',
'src/http/user_agent.cpp',
'src/io/body_stream.cpp',
'src/io/random_access_file_body_stream.cpp',
'src/logger.cpp',
'src/operation_status.cpp',
'src/private/environment_log_level_listener.hpp',
'src/private/package_version.hpp',
'src/tracing/tracing.cpp',
'src/uuid.cpp',
]

azure_core_args = []
if get_option('default_library') != 'static'
azure_core_args += ['-DAZ_CORE_DLL']
endif

azure_core_lib = library(
'azure-core',
sources: azure_core_header_files + azure_core_sources,
include_directories: incdir,
dependencies: azure_crypto_dep,
cpp_args: ['-DAZ_CORE_BEING_BUILT'] + azure_core_args,
)

threads_dep = dependency('threads')

azure_core_dep = declare_dependency(
link_with: azure_core_lib,
include_directories: incdir,
dependencies: [threads_dep],
compile_args: azure_core_args,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
subdir('azure-core')
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
incdir = include_directories('inc')

azure_identity_headers = [
'inc/azure/identity.hpp',
'inc/azure/identity/azure_cli_credential.hpp',
'inc/azure/identity/azure_pipelines_credential.hpp',
'inc/azure/identity/chained_token_credential.hpp',
'inc/azure/identity/client_assertion_credential.hpp',
'inc/azure/identity/client_certificate_credential.hpp',
'inc/azure/identity/client_secret_credential.hpp',
'inc/azure/identity/default_azure_credential.hpp',
'inc/azure/identity/detail/client_credential_core.hpp',
'inc/azure/identity/detail/token_cache.hpp',
'inc/azure/identity/dll_import_export.hpp',
'inc/azure/identity/environment_credential.hpp',
'inc/azure/identity/managed_identity_credential.hpp',
'inc/azure/identity/rtti.hpp',
'inc/azure/identity/workload_identity_credential.hpp',
]

install_headers(
azure_identity_headers,
subdir: 'azure/identity',
)

azure_identity_sources = [
'src/azure_cli_credential.cpp',
'src/azure_pipelines_credential.cpp',
'src/chained_token_credential.cpp',
'src/client_assertion_credential.cpp',
'src/client_certificate_credential.cpp',
'src/client_credential_core.cpp',
'src/client_secret_credential.cpp',
'src/default_azure_credential.cpp',
'src/environment_credential.cpp',
'src/managed_identity_credential.cpp',
'src/managed_identity_source.cpp',
'src/private/chained_token_credential_impl.hpp',
'src/private/client_assertion_credential_impl.hpp',
'src/private/identity_log.hpp',
'src/private/managed_identity_source.hpp',
'src/private/package_version.hpp',
'src/private/tenant_id_resolver.hpp',
'src/private/token_credential_impl.hpp',
'src/tenant_id_resolver.cpp',
'src/token_cache.cpp',
'src/token_credential_impl.cpp',
'src/workload_identity_credential.cpp',
]

azure_identity_args = []
if get_option('default_library') != 'static'
azure_identity_args += ['-DAZ_IDENTIFY_DLL']
endif

azure_identity_lib = library(
'azure-identity',
sources: [azure_identity_sources],
include_directories: incdir,
dependencies: [azure_core_dep, azure_crypto_dep],
cpp_args: ['-DAZ_IDENTIFY_BEING_BUILT'] + azure_identity_args,
)

azure_identity_dep = declare_dependency(
link_with: azure_identity_lib,
include_directories: incdir,
dependencies: azure_core_dep,
compile_args: azure_identity_args,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
subdir('azure-identity')
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
incdir = include_directories('inc')

azure_storage_blob_header = ['inc/azure/storage/blobs.hpp']
install_headers(
azure_storage_blob_header,
subdir: 'azure/storage',
)

azure_storage_blobs_headers = [
'inc/azure/storage/blobs/append_blob_client.hpp',
'inc/azure/storage/blobs/blob_batch.hpp',
'inc/azure/storage/blobs/blob_client.hpp',
'inc/azure/storage/blobs/blob_container_client.hpp',
'inc/azure/storage/blobs/blob_lease_client.hpp',
'inc/azure/storage/blobs/blob_options.hpp',
'inc/azure/storage/blobs/blob_responses.hpp',
'inc/azure/storage/blobs/blob_sas_builder.hpp',
'inc/azure/storage/blobs/blob_service_client.hpp',
'inc/azure/storage/blobs/block_blob_client.hpp',
'inc/azure/storage/blobs/deferred_response.hpp',
'inc/azure/storage/blobs/dll_import_export.hpp',
'inc/azure/storage/blobs/page_blob_client.hpp',
'inc/azure/storage/blobs/rest_client.hpp',
'inc/azure/storage/blobs/rtti.hpp',
]
install_headers(
azure_storage_blobs_headers,
subdir: 'azure/storage/blobs',
)

azure_storage_blobs_headers_all = azure_storage_blob_header + azure_storage_blobs_headers

azure_storage_blobs_sources = [
'src/append_blob_client.cpp',
'src/blob_batch.cpp',
'src/blob_client.cpp',
'src/blob_container_client.cpp',
'src/blob_lease_client.cpp',
'src/blob_options.cpp',
'src/blob_responses.cpp',
'src/blob_sas_builder.cpp',
'src/blob_service_client.cpp',
'src/block_blob_client.cpp',
'src/page_blob_client.cpp',
'src/private/avro_parser.cpp',
'src/private/avro_parser.hpp',
'src/private/package_version.hpp',
'src/rest_client.cpp',
]

azure_storage_blobs_args = []
if get_option('default_library') != 'static'
azure_storage_blobs_args += ['-DAZ_STORAGE_BLOBS_DLL']
endif

azure_storage_blobs_lib = library(
'azure-storage-blobs',
sources: azure_storage_blobs_headers_all + azure_storage_blobs_sources,
include_directories: incdir,
dependencies: azure_storage_common_dep,
cpp_args: ['-DAZ_STORAGE_BLOBS_BEING_BUILT'] + azure_storage_blobs_args,
)

azure_storage_blobs_dep = declare_dependency(
link_with: azure_storage_blobs_lib,
include_directories: incdir,
dependencies: azure_storage_common_dep,
compile_args: azure_storage_blobs_args,
)
Loading
Loading