Skip to content

Commit a12ac4b

Browse files
committed
azure-sdk-for-cpp: New wrap
1 parent ea12650 commit a12ac4b

File tree

12 files changed

+490
-0
lines changed

12 files changed

+490
-0
lines changed

ci_config.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,18 @@
4343
"boost"
4444
]
4545
},
46+
"azure-sdk-for-cpp": {
47+
"build_on": {
48+
"msys2": false,
49+
"windows": false
50+
},
51+
"build_options": [
52+
"libxml2:python=disabled"
53+
],
54+
"alpine_packages": [
55+
"openssl-dev"
56+
]
57+
},
4658
"blueprint-compiler": {
4759
"_comment": "Tests require pygobject and Gtk4 typelib, and also they crash",
4860
"skip_tests": true

releases.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,18 @@
190190
"1.6.6-1"
191191
]
192192
},
193+
"azure-sdk-for-cpp": {
194+
"dependency_names": [
195+
"azure_core",
196+
"azure_identity",
197+
"azure_storage_common",
198+
"azure_storage_blobs",
199+
"azure_storage_files_datalake"
200+
],
201+
"versions": [
202+
"1.9.0-1"
203+
]
204+
},
193205
"backward-cpp": {
194206
"dependency_names": [
195207
"backward-cpp"

subprojects/azure-sdk-for-cpp.wrap

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
[wrap-file]
19+
source_url = https://github.com/Azure/azure-sdk-for-cpp/archive/azure-identity_1.9.0.tar.gz
20+
source_filename = azure-sdk-for-cpp-azure-identity_1.9.0.tar.gz
21+
source_hash = 97065bfc971ac8df450853ce805f820f52b59457bd7556510186a1569502e4a1
22+
directory = azure-sdk-for-cpp-azure-identity_1.9.0
23+
patch_directory = azure-sdk-for-cpp
24+
25+
[provide]
26+
azure_core = azure_core_dep
27+
azure_identity = azure_identity_dep
28+
azure_storage_common = azure_storage_common_dep
29+
azure_storage_blobs = azure_storage_blobs_dep
30+
azure_storage_files_datalake = azure_storage_files_datalake_dep
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
project(
2+
'azure-sdk-for-cpp',
3+
'cpp',
4+
version: '1.9.0',
5+
default_options: ['cpp_std=c++14'],
6+
)
7+
8+
if host_machine.system() == 'windows'
9+
cc = meson.get_compiler('cpp')
10+
bcrypt_dep = cc.find_library('bcrypt')
11+
azure_crypto_dep = bcrypt_dep
12+
else
13+
openssl_dep = dependency('openssl')
14+
azure_crypto_dep = openssl_dep
15+
endif
16+
17+
subdir('sdk/core')
18+
subdir('sdk/identity')
19+
subdir('sdk/storage')
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
incdir = include_directories('inc')
2+
3+
azure_core_headers = {
4+
'azure/core': [
5+
'inc/azure/core.hpp',
6+
'inc/azure/core/azure_assert.hpp',
7+
'inc/azure/core/base64.hpp',
8+
'inc/azure/core/case_insensitive_containers.hpp',
9+
'inc/azure/core/context.hpp',
10+
'inc/azure/core/credentials/credentials.hpp',
11+
'inc/azure/core/credentials/token_credential_options.hpp',
12+
'inc/azure/core/cryptography/hash.hpp',
13+
'inc/azure/core/datetime.hpp',
14+
'inc/azure/core/diagnostics/logger.hpp',
15+
'inc/azure/core/dll_import_export.hpp',
16+
'inc/azure/core/etag.hpp',
17+
'inc/azure/core/exception.hpp',
18+
'inc/azure/core/match_conditions.hpp',
19+
'inc/azure/core/modified_conditions.hpp',
20+
'inc/azure/core/nullable.hpp',
21+
'inc/azure/core/operation.hpp',
22+
'inc/azure/core/operation_status.hpp',
23+
'inc/azure/core/paged_response.hpp',
24+
'inc/azure/core/platform.hpp',
25+
'inc/azure/core/response.hpp',
26+
'inc/azure/core/rtti.hpp',
27+
'inc/azure/core/url.hpp',
28+
'inc/azure/core/uuid.hpp',
29+
],
30+
'azure/core/http': [
31+
'inc/azure/core/http/http.hpp',
32+
'inc/azure/core/http/http_status_code.hpp',
33+
'inc/azure/core/http/policies/policy.hpp',
34+
'inc/azure/core/http/raw_response.hpp',
35+
'inc/azure/core/http/transport.hpp',
36+
],
37+
'azure/core/internal': [
38+
'inc/azure/core/internal/client_options.hpp',
39+
'inc/azure/core/internal/contract.hpp',
40+
'inc/azure/core/internal/environment.hpp',
41+
'inc/azure/core/internal/extendable_enumeration.hpp',
42+
'inc/azure/core/internal/strings.hpp',
43+
'inc/azure/core/internal/unique_handle.hpp',
44+
],
45+
'azure/core/internal/credentials': [
46+
'inc/azure/core/internal/credentials/authorization_challenge_parser.hpp',
47+
],
48+
'azure/core/internal/cryptography': [
49+
'inc/azure/core/internal/cryptography/sha_hash.hpp',
50+
],
51+
'azure/core/internal/diagnostics': [
52+
'inc/azure/core/internal/diagnostics/global_exception.hpp',
53+
'inc/azure/core/internal/diagnostics/log.hpp',
54+
],
55+
'azure/core/internal/http': [
56+
'inc/azure/core/internal/http/http_sanitizer.hpp',
57+
'inc/azure/core/internal/http/pipeline.hpp',
58+
'inc/azure/core/internal/http/user_agent.hpp',
59+
],
60+
'azure/core/internal/io': ['inc/azure/core/internal/io/null_body_stream.hpp'],
61+
'azure/core/internal/json': [
62+
'inc/azure/core/internal/json/json.hpp',
63+
'inc/azure/core/internal/json/json_optional.hpp',
64+
'inc/azure/core/internal/json/json_serializable.hpp',
65+
],
66+
'azure/core/internal/tracing': [
67+
'inc/azure/core/internal/tracing/service_tracing.hpp',
68+
'inc/azure/core/internal/tracing/tracing_impl.hpp',
69+
],
70+
'azure/core/io': ['inc/azure/core/io/body_stream.hpp'],
71+
'azure/core/tracing': ['inc/azure/core/tracing/tracing.hpp'],
72+
}
73+
74+
azure_core_header_files = []
75+
foreach subdir, files : azure_core_headers
76+
install_headers(
77+
files,
78+
subdir: subdir,
79+
)
80+
azure_core_header_files += files
81+
endforeach
82+
83+
azure_core_sources = [
84+
'src/azure_assert.cpp',
85+
'src/base64.cpp',
86+
'src/context.cpp',
87+
'src/credentials/authorization_challenge_parser.cpp',
88+
'src/cryptography/md5.cpp',
89+
'src/cryptography/sha_hash.cpp',
90+
'src/datetime.cpp',
91+
'src/environment.cpp',
92+
'src/environment_log_level_listener.cpp',
93+
'src/etag.cpp',
94+
'src/exception.cpp',
95+
'src/http/bearer_token_authentication_policy.cpp',
96+
'src/http/http.cpp',
97+
'src/http/http_sanitizer.cpp',
98+
'src/http/log_policy.cpp',
99+
'src/http/policy.cpp',
100+
'src/http/raw_response.cpp',
101+
'src/http/request.cpp',
102+
'src/http/request_activity_policy.cpp',
103+
'src/http/retry_policy.cpp',
104+
'src/http/telemetry_policy.cpp',
105+
'src/http/transport_policy.cpp',
106+
'src/http/url.cpp',
107+
'src/http/user_agent.cpp',
108+
'src/io/body_stream.cpp',
109+
'src/io/random_access_file_body_stream.cpp',
110+
'src/logger.cpp',
111+
'src/operation_status.cpp',
112+
'src/private/environment_log_level_listener.hpp',
113+
'src/private/package_version.hpp',
114+
'src/tracing/tracing.cpp',
115+
'src/uuid.cpp',
116+
]
117+
118+
azure_core_args = []
119+
if get_option('default_library') != 'static'
120+
azure_core_args += ['-DAZ_CORE_DLL']
121+
endif
122+
123+
azure_core_lib = library(
124+
'azure-core',
125+
sources: azure_core_header_files + azure_core_sources,
126+
include_directories: incdir,
127+
dependencies: azure_crypto_dep,
128+
cpp_args: ['-DAZ_CORE_BEING_BUILT'] + azure_core_args,
129+
)
130+
131+
threads_dep = dependency('threads')
132+
133+
azure_core_dep = declare_dependency(
134+
link_with: azure_core_lib,
135+
include_directories: incdir,
136+
dependencies: [threads_dep],
137+
compile_args: azure_core_args,
138+
)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
subdir('azure-core')
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
incdir = include_directories('inc')
2+
3+
azure_identity_headers = [
4+
'inc/azure/identity.hpp',
5+
'inc/azure/identity/azure_cli_credential.hpp',
6+
'inc/azure/identity/azure_pipelines_credential.hpp',
7+
'inc/azure/identity/chained_token_credential.hpp',
8+
'inc/azure/identity/client_assertion_credential.hpp',
9+
'inc/azure/identity/client_certificate_credential.hpp',
10+
'inc/azure/identity/client_secret_credential.hpp',
11+
'inc/azure/identity/default_azure_credential.hpp',
12+
'inc/azure/identity/detail/client_credential_core.hpp',
13+
'inc/azure/identity/detail/token_cache.hpp',
14+
'inc/azure/identity/dll_import_export.hpp',
15+
'inc/azure/identity/environment_credential.hpp',
16+
'inc/azure/identity/managed_identity_credential.hpp',
17+
'inc/azure/identity/rtti.hpp',
18+
'inc/azure/identity/workload_identity_credential.hpp',
19+
]
20+
21+
install_headers(
22+
azure_identity_headers,
23+
subdir: 'azure/identity',
24+
)
25+
26+
azure_identity_sources = [
27+
'src/azure_cli_credential.cpp',
28+
'src/azure_pipelines_credential.cpp',
29+
'src/chained_token_credential.cpp',
30+
'src/client_assertion_credential.cpp',
31+
'src/client_certificate_credential.cpp',
32+
'src/client_credential_core.cpp',
33+
'src/client_secret_credential.cpp',
34+
'src/default_azure_credential.cpp',
35+
'src/environment_credential.cpp',
36+
'src/managed_identity_credential.cpp',
37+
'src/managed_identity_source.cpp',
38+
'src/private/chained_token_credential_impl.hpp',
39+
'src/private/client_assertion_credential_impl.hpp',
40+
'src/private/identity_log.hpp',
41+
'src/private/managed_identity_source.hpp',
42+
'src/private/package_version.hpp',
43+
'src/private/tenant_id_resolver.hpp',
44+
'src/private/token_credential_impl.hpp',
45+
'src/tenant_id_resolver.cpp',
46+
'src/token_cache.cpp',
47+
'src/token_credential_impl.cpp',
48+
'src/workload_identity_credential.cpp',
49+
]
50+
51+
azure_identity_args = []
52+
if get_option('default_library') != 'static'
53+
azure_identity_args += ['-DAZ_IDENTIFY_DLL']
54+
endif
55+
56+
azure_identity_lib = library(
57+
'azure-identity',
58+
sources: [azure_identity_sources],
59+
include_directories: incdir,
60+
dependencies: [azure_core_dep, azure_crypto_dep],
61+
cpp_args: ['-DAZ_IDENTIFY_BEING_BUILT'] + azure_identity_args,
62+
)
63+
64+
azure_identity_dep = declare_dependency(
65+
link_with: azure_identity_lib,
66+
include_directories: incdir,
67+
dependencies: azure_core_dep,
68+
compile_args: azure_identity_args,
69+
)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
subdir('azure-identity')
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
incdir = include_directories('inc')
2+
3+
azure_storage_blob_header = ['inc/azure/storage/blobs.hpp']
4+
install_headers(
5+
azure_storage_blob_header,
6+
subdir: 'azure/storage',
7+
)
8+
9+
azure_storage_blobs_headers = [
10+
'inc/azure/storage/blobs/append_blob_client.hpp',
11+
'inc/azure/storage/blobs/blob_batch.hpp',
12+
'inc/azure/storage/blobs/blob_client.hpp',
13+
'inc/azure/storage/blobs/blob_container_client.hpp',
14+
'inc/azure/storage/blobs/blob_lease_client.hpp',
15+
'inc/azure/storage/blobs/blob_options.hpp',
16+
'inc/azure/storage/blobs/blob_responses.hpp',
17+
'inc/azure/storage/blobs/blob_sas_builder.hpp',
18+
'inc/azure/storage/blobs/blob_service_client.hpp',
19+
'inc/azure/storage/blobs/block_blob_client.hpp',
20+
'inc/azure/storage/blobs/deferred_response.hpp',
21+
'inc/azure/storage/blobs/dll_import_export.hpp',
22+
'inc/azure/storage/blobs/page_blob_client.hpp',
23+
'inc/azure/storage/blobs/rest_client.hpp',
24+
'inc/azure/storage/blobs/rtti.hpp',
25+
]
26+
install_headers(
27+
azure_storage_blobs_headers,
28+
subdir: 'azure/storage/blobs',
29+
)
30+
31+
azure_storage_blobs_headers_all = azure_storage_blob_header + azure_storage_blobs_headers
32+
33+
azure_storage_blobs_sources = [
34+
'src/append_blob_client.cpp',
35+
'src/blob_batch.cpp',
36+
'src/blob_client.cpp',
37+
'src/blob_container_client.cpp',
38+
'src/blob_lease_client.cpp',
39+
'src/blob_options.cpp',
40+
'src/blob_responses.cpp',
41+
'src/blob_sas_builder.cpp',
42+
'src/blob_service_client.cpp',
43+
'src/block_blob_client.cpp',
44+
'src/page_blob_client.cpp',
45+
'src/private/avro_parser.cpp',
46+
'src/private/avro_parser.hpp',
47+
'src/private/package_version.hpp',
48+
'src/rest_client.cpp',
49+
]
50+
51+
azure_storage_blobs_args = []
52+
if get_option('default_library') != 'static'
53+
azure_storage_blobs_args += ['-DAZ_STORAGE_BLOBS_DLL']
54+
endif
55+
56+
azure_storage_blobs_lib = library(
57+
'azure-storage-blobs',
58+
sources: azure_storage_blobs_headers_all + azure_storage_blobs_sources,
59+
include_directories: incdir,
60+
dependencies: azure_storage_common_dep,
61+
cpp_args: ['-DAZ_STORAGE_BLOBS_BEING_BUILT'] + azure_storage_blobs_args,
62+
)
63+
64+
azure_storage_blobs_dep = declare_dependency(
65+
link_with: azure_storage_blobs_lib,
66+
include_directories: incdir,
67+
dependencies: azure_storage_common_dep,
68+
compile_args: azure_storage_blobs_args,
69+
)

0 commit comments

Comments
 (0)