Unified Pipelines for storage (#184)
* Add ci.yml for storage * OSVmImage * Use correct name for storage * Update ci.ymls * Documentation generation * Fix tabbing * More tabbing * Use correct service directory for storage ci.yml * Add docs assets * Use cpp for dropdown generation * Use cmake to generate documentation * Use CMake to generate doxygen docs * BuildArgs -> GenerateArgs * Correct template path * More CURL options * Install curl to satisfy minimum build requirements * use dependency variable name * Add VCPKG_DEFAULT_TRIPLET * Always generate documentaion when -DBUILD_DOCUMENTATION=YES * Build docs at top level * Change variable names, simplify cmake-build.yml * -DBUILD_DOCUMENTATION * Try using MathJax for formula rendering instead of Latex * Add version.txt for storage * artifact.Name -> artifact.Path * Build docs by target * Remove Doxyfile * Remove Doxyfile.template * Remove generate_docs.py, we are using cmake * Pass CtestRegex to archetype-sdk-client job template)
This commit is contained in:
Родитель
078cbc2205
Коммит
0cfcdca725
|
@ -8,6 +8,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake-modules")
|
|||
option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" ON)
|
||||
option(BUILD_CURL_TRANSPORT "Build internal http transport implementation with CURL for HTTP Pipeline" OFF)
|
||||
option(BUILD_TESTING "Build test cases" OFF)
|
||||
option(BUILD_DOCUMENTATION "Create HTML based API documentation (requires Doxygen)" OFF)
|
||||
|
||||
# VCPKG Integration
|
||||
if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
|
||||
|
@ -36,6 +37,9 @@ endif()
|
|||
# compiler warning flags globally
|
||||
include(global_compile_options)
|
||||
|
||||
# Documentation automation function
|
||||
include(${CMAKE_SOURCE_DIR}/cmake-modules/doxygen_common.cmake)
|
||||
|
||||
# sub-projects
|
||||
add_subdirectory(sdk/core/azure-core)
|
||||
add_subdirectory(sdk/samples/http_client/curl) # will work only if BUILD_CURL_TRANSPORT=ON
|
||||
|
|
2566
Doxyfile
2566
Doxyfile
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,32 @@
|
|||
# Creates custom targets for documentation generation if
|
||||
# BUILD_DOCUMENTATION == YES
|
||||
# Usage: generate_documentation(azure-core 1.0.0-preview.1)
|
||||
# Requires: Doxygen
|
||||
# Target name in the form of ${PROJECT_NAME}-docs (e.g. azure-core-docs)
|
||||
|
||||
function(generate_documentation PROJECT_NAME PROJECT_VERSION)
|
||||
if(BUILD_DOCUMENTATION)
|
||||
find_package(Doxygen REQUIRED doxygen)
|
||||
|
||||
set(DOXYGEN_PROJECT_NAME ${PROJECT_NAME})
|
||||
set(DOXYGEN_PROJECT_NUMBER ${PROJECT_VERSION})
|
||||
|
||||
set(DOXYGEN_OUTPUT_DIRECTORY docs)
|
||||
set(DOXYGEN_LAYOUT_FILE ${CMAKE_SOURCE_DIR}/eng/docs/api/assets/DoxygenLayout.xml)
|
||||
set(DOXYGEN_RECURSIVE YES)
|
||||
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE ./README.md)
|
||||
set(DOXYGEN_INLINE_SOURCES YES)
|
||||
set(DOXYGEN_IGNORE_PREFIX az_ AZ_)
|
||||
set(DOXYGEN_HTML_HEADER ${CMAKE_SOURCE_DIR}/eng/docs/api/assets/header.html)
|
||||
set(DOXYGEN_HTML_FOOTER ${CMAKE_SOURCE_DIR}/eng/docs/api/assets/footer.html)
|
||||
set(DOXYGEN_HTML_STYLESHEET ${CMAKE_SOURCE_DIR}/eng/docs/api/assets/style.css)
|
||||
|
||||
set(DOXYGEN_GENERATE_LATEX NO)
|
||||
# Use MathJax instead of latex to render formulas
|
||||
set(DOXYGEN_USE_MATHJAX YES)
|
||||
|
||||
doxygen_add_docs(${PROJECT_NAME}-docs
|
||||
ALL
|
||||
COMMENT "Generate documentation for ${TARGET_NAME}")
|
||||
endif()
|
||||
endfunction()
|
|
@ -0,0 +1,226 @@
|
|||
<doxygenlayout version="1.0">
|
||||
<!-- Generated by doxygen 1.8.18 -->
|
||||
<!-- Navigation index tabs for HTML output -->
|
||||
<navindex>
|
||||
<tab type="mainpage" visible="yes" title=""/>
|
||||
<tab type="pages" visible="yes" title="Concepts and Related Pages" intro=""/>
|
||||
<tab type="modules" visible="yes" title="" intro=""/>
|
||||
<tab type="namespaces" visible="yes" title="">
|
||||
<tab type="namespacelist" visible="yes" title="" intro=""/>
|
||||
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="interfaces" visible="yes" title="">
|
||||
<tab type="interfacelist" visible="yes" title="" intro=""/>
|
||||
<tab type="interfaceindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||
<tab type="interfacehierarchy" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="classes" visible="yes" title="">
|
||||
<tab type="classlist" visible="yes" title="" intro=""/>
|
||||
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="structs" visible="yes" title="">
|
||||
<tab type="structlist" visible="yes" title="" intro=""/>
|
||||
<tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||
</tab>
|
||||
<tab type="exceptions" visible="yes" title="">
|
||||
<tab type="exceptionlist" visible="yes" title="" intro=""/>
|
||||
<tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||
<tab type="exceptionhierarchy" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="files" visible="yes" title="">
|
||||
<tab type="filelist" visible="yes" title="" intro=""/>
|
||||
<tab type="globals" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="examples" visible="yes" title="" intro=""/>
|
||||
</navindex>
|
||||
|
||||
<!-- Layout definition for a class page -->
|
||||
<class>
|
||||
<briefdescription visible="yes"/>
|
||||
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||
<memberdecl>
|
||||
<nestedclasses visible="yes" title=""/>
|
||||
<publictypes title=""/>
|
||||
<services title=""/>
|
||||
<interfaces title=""/>
|
||||
<publicslots title=""/>
|
||||
<signals title=""/>
|
||||
<publicmethods title=""/>
|
||||
<publicstaticmethods title=""/>
|
||||
<publicattributes title=""/>
|
||||
<publicstaticattributes title=""/>
|
||||
<protectedtypes title=""/>
|
||||
<protectedslots title=""/>
|
||||
<protectedmethods title=""/>
|
||||
<protectedstaticmethods title=""/>
|
||||
<protectedattributes title=""/>
|
||||
<protectedstaticattributes title=""/>
|
||||
<packagetypes title=""/>
|
||||
<packagemethods title=""/>
|
||||
<packagestaticmethods title=""/>
|
||||
<packageattributes title=""/>
|
||||
<packagestaticattributes title=""/>
|
||||
<properties title=""/>
|
||||
<events title=""/>
|
||||
<privatetypes title=""/>
|
||||
<privateslots title=""/>
|
||||
<privatemethods title=""/>
|
||||
<privatestaticmethods title=""/>
|
||||
<privateattributes title=""/>
|
||||
<privatestaticattributes title=""/>
|
||||
<friends title=""/>
|
||||
<related title="" subtitle=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<detaileddescription title=""/>
|
||||
<memberdef>
|
||||
<inlineclasses title=""/>
|
||||
<typedefs title=""/>
|
||||
<enums title=""/>
|
||||
<services title=""/>
|
||||
<interfaces title=""/>
|
||||
<constructors title=""/>
|
||||
<functions title=""/>
|
||||
<related title=""/>
|
||||
<variables title=""/>
|
||||
<properties title=""/>
|
||||
<events title=""/>
|
||||
</memberdef>
|
||||
<allmemberslink visible="yes"/>
|
||||
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||
<authorsection visible="yes"/>
|
||||
</class>
|
||||
|
||||
<!-- Layout definition for a namespace page -->
|
||||
<namespace>
|
||||
<briefdescription visible="yes"/>
|
||||
<memberdecl>
|
||||
<nestednamespaces visible="yes" title=""/>
|
||||
<constantgroups visible="yes" title=""/>
|
||||
<interfaces visible="yes" title=""/>
|
||||
<classes visible="yes" title=""/>
|
||||
<structs visible="yes" title=""/>
|
||||
<exceptions visible="yes" title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<detaileddescription title=""/>
|
||||
<memberdef>
|
||||
<inlineclasses title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
</memberdef>
|
||||
<authorsection visible="yes"/>
|
||||
</namespace>
|
||||
|
||||
<!-- Layout definition for a file page -->
|
||||
<file>
|
||||
<briefdescription visible="yes"/>
|
||||
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||
<sourcelink visible="yes"/>
|
||||
<memberdecl>
|
||||
<interfaces visible="yes" title=""/>
|
||||
<classes visible="yes" title=""/>
|
||||
<structs visible="yes" title=""/>
|
||||
<exceptions visible="yes" title=""/>
|
||||
<namespaces visible="yes" title=""/>
|
||||
<constantgroups visible="yes" title=""/>
|
||||
<defines title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<detaileddescription title=""/>
|
||||
<memberdef>
|
||||
<inlineclasses title=""/>
|
||||
<defines title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
</memberdef>
|
||||
<authorsection/>
|
||||
</file>
|
||||
|
||||
<!-- Layout definition for a group page -->
|
||||
<group>
|
||||
<briefdescription visible="yes"/>
|
||||
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||
<memberdecl>
|
||||
<nestedgroups visible="yes" title=""/>
|
||||
<dirs visible="yes" title=""/>
|
||||
<files visible="yes" title=""/>
|
||||
<namespaces visible="yes" title=""/>
|
||||
<classes visible="yes" title=""/>
|
||||
<defines title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<enumvalues title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
<signals title=""/>
|
||||
<publicslots title=""/>
|
||||
<protectedslots title=""/>
|
||||
<privateslots title=""/>
|
||||
<events title=""/>
|
||||
<properties title=""/>
|
||||
<friends title=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<detaileddescription title=""/>
|
||||
<memberdef>
|
||||
<pagedocs/>
|
||||
<inlineclasses title=""/>
|
||||
<defines title=""/>
|
||||
<typedefs title=""/>
|
||||
<sequences title=""/>
|
||||
<dictionaries title=""/>
|
||||
<enums title=""/>
|
||||
<enumvalues title=""/>
|
||||
<functions title=""/>
|
||||
<variables title=""/>
|
||||
<signals title=""/>
|
||||
<publicslots title=""/>
|
||||
<protectedslots title=""/>
|
||||
<privateslots title=""/>
|
||||
<events title=""/>
|
||||
<properties title=""/>
|
||||
<friends title=""/>
|
||||
</memberdef>
|
||||
<authorsection visible="yes"/>
|
||||
</group>
|
||||
|
||||
<!-- Layout definition for a directory page -->
|
||||
<directory>
|
||||
<briefdescription visible="yes"/>
|
||||
<directorygraph visible="yes"/>
|
||||
<memberdecl>
|
||||
<dirs visible="yes"/>
|
||||
<files visible="yes"/>
|
||||
</memberdecl>
|
||||
<detaileddescription title=""/>
|
||||
</directory>
|
||||
</doxygenlayout>
|
|
@ -0,0 +1,21 @@
|
|||
<!-- HTML footer for doxygen 1.8.18-->
|
||||
<!-- start footer part -->
|
||||
<!--BEGIN GENERATE_TREEVIEW-->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
$navpath
|
||||
<li class="footer">$generatedby
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="$relpath^doxygen.png" alt="doxygen"/></a> $doxygenversion </li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--END GENERATE_TREEVIEW-->
|
||||
<!--BEGIN !GENERATE_TREEVIEW-->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
$generatedby  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="$relpath^doxygen.png" alt="doxygen"/>
|
||||
</a> $doxygenversion
|
||||
</small></address>
|
||||
<!--END !GENERATE_TREEVIEW-->
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,194 @@
|
|||
<!-- HTML header for doxygen 1.8.18-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
||||
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
||||
$treeview
|
||||
$search
|
||||
$mathjax
|
||||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
||||
$extrastylesheet
|
||||
|
||||
|
||||
<script>
|
||||
WINDOW_CONTENTS = window.location.href.split("/");
|
||||
|
||||
// language specific
|
||||
SELECTED_LANGUAGE = "cpp";
|
||||
populateOptions("#versionSelector", [
|
||||
"#versionSelector",
|
||||
"#versionSelectorHeader"
|
||||
]);
|
||||
|
||||
function currentVersion() {
|
||||
// Filled in by Doxygen template
|
||||
return "$projectnumber";
|
||||
}
|
||||
|
||||
function currentPackage() {
|
||||
// C docs are generated as a monolith, the correct path is:
|
||||
// https://azuresdkdocs.blob.core.windows.net/$web/c/docs/{version}/index.html
|
||||
// This sets the "docs" piece of the URL path
|
||||
return "docs";
|
||||
}
|
||||
|
||||
function httpGetAsync(targetUrl, callback) {
|
||||
var xmlHttp = new XMLHttpRequest();
|
||||
xmlHttp.onreadystatechange = function() {
|
||||
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
|
||||
callback(xmlHttp.responseText);
|
||||
};
|
||||
xmlHttp.open("GET", targetUrl, true); // true for asynchronous
|
||||
xmlHttp.send(null);
|
||||
}
|
||||
|
||||
function showSelectors(selectors) {
|
||||
selectors.forEach(function(item, index) {
|
||||
$(item).show();
|
||||
});
|
||||
}
|
||||
|
||||
function hideSelectors(selectors) {
|
||||
selectors.forEach(function(item, index) {
|
||||
$(item).hide();
|
||||
});
|
||||
}
|
||||
|
||||
function populateOptions(optionSelector, otherSelectors) {
|
||||
if (currentPackage()) {
|
||||
var versionRequestUrl =
|
||||
"https://azuresdkdocs.blob.core.windows.net/$web/" +
|
||||
SELECTED_LANGUAGE +
|
||||
"/" +
|
||||
currentPackage() +
|
||||
"/versioning/versions";
|
||||
|
||||
httpGetAsync(versionRequestUrl, function(responseText) {
|
||||
if (responseText) {
|
||||
let options = responseText.match(/[^\r\n]+/g);
|
||||
|
||||
populateVersionDropDown(optionSelector, options);
|
||||
showSelectors(otherSelectors);
|
||||
|
||||
$(optionSelector).change(function() {
|
||||
targetVersion = $(this).val();
|
||||
|
||||
url = WINDOW_CONTENTS.slice();
|
||||
url[6] = targetVersion;
|
||||
window.location.href = url.join("/");
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function populateVersionDropDown(selector, values) {
|
||||
var select = $(selector);
|
||||
|
||||
$("option", select).remove();
|
||||
|
||||
$.each(values, function(index, text) {
|
||||
$("<option/>", { value: text, text: text }).appendTo(select);
|
||||
});
|
||||
select.val(currentVersion());
|
||||
}
|
||||
|
||||
function getPackageUrl(language, package, version) {
|
||||
return (
|
||||
"https://azuresdkdocs.blob.core.windows.net/$web/" +
|
||||
language +
|
||||
"/" +
|
||||
package +
|
||||
"/" +
|
||||
version +
|
||||
"/index.html"
|
||||
);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
|
||||
<!--BEGIN TITLEAREA-->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<!--BEGIN PROJECT_LOGO-->
|
||||
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
|
||||
<!--END PROJECT_LOGO-->
|
||||
<!--BEGIN PROJECT_NAME-->
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">
|
||||
<div class="navbrand">
|
||||
<a href="index.html">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" id="logo" x="0px" y="0px" width="46.92px" height="46.315px" viewBox="0 0 46.92 46.315" style="enable-background:new 0 0 46.92 46.315;" xml:space="preserve" class="svg replaced-svg">
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.st0{fill:#DDDDDD;}
|
||||
]]>
|
||||
</style>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M15.297,27.558l-0.47-1.53h-2.736l-0.526,1.53H9.922l2.649-7.418h1.798l2.614,7.418H15.297z M13.453,21.807 h-0.012l-0.948,2.948h1.889L13.453,21.807z"></path>
|
||||
<path class="st0" d="M17.341,27.558v-1.116l2.804-3.229h-2.613v-1.15h4.47v1.173l-2.805,3.139h2.883v1.185L17.341,27.558 L17.341,27.558z"></path>
|
||||
<path class="st0" d="M26.249,27.558v-0.77c-0.373,0.609-0.944,0.914-1.709,0.914c-0.276,0-0.529-0.047-0.756-0.144 c-0.226-0.097-0.424-0.233-0.585-0.415c-0.165-0.178-0.293-0.389-0.387-0.637c-0.094-0.245-0.14-0.521-0.14-0.826v-3.618h1.453 v3.396c0,0.686,0.311,1.028,0.929,1.028c0.37,0,0.651-0.119,0.842-0.353c0.192-0.235,0.286-0.534,0.286-0.899v-3.173h1.443v5.495 H26.249z"></path>
|
||||
<path class="st0" d="M28.429,27.558v-5.495h1.363v0.658c0.12-0.186,0.243-0.332,0.373-0.435c0.131-0.105,0.264-0.186,0.403-0.241 c0.138-0.056,0.278-0.091,0.419-0.107c0.141-0.013,0.287-0.022,0.434-0.022h0.189v1.486c-0.133-0.023-0.266-0.031-0.401-0.031 c-0.887,0-1.33,0.441-1.33,1.328v2.859H28.429z"></path>
|
||||
<path class="st0" d="M33.212,25.189c0.021,0.418,0.142,0.749,0.361,0.996c0.22,0.244,0.509,0.366,0.867,0.366 c0.237,0,0.448-0.056,0.631-0.164c0.181-0.106,0.3-0.257,0.353-0.45h1.496c-0.172,0.565-0.467,1.001-0.895,1.307 c-0.424,0.308-0.932,0.457-1.52,0.457c-1.831,0-2.747-0.996-2.747-2.992c0-0.424,0.058-0.81,0.178-1.151 c0.12-0.344,0.293-0.637,0.52-0.883c0.228-0.245,0.506-0.433,0.832-0.563c0.328-0.131,0.703-0.194,1.129-0.194 c0.85,0,1.494,0.272,1.927,0.814c0.436,0.544,0.655,1.364,0.655,2.459L33.212,25.189L33.212,25.189z M35.502,24.272 c-0.008-0.2-0.045-0.376-0.107-0.529s-0.146-0.28-0.25-0.38c-0.104-0.102-0.225-0.175-0.36-0.225 c-0.133-0.048-0.271-0.071-0.412-0.071c-0.291,0-0.542,0.106-0.753,0.319c-0.213,0.212-0.335,0.51-0.363,0.888h2.246V24.272z"></path>
|
||||
<path class="st0" d="M17.923,30.788c-0.038-0.38-0.175-0.661-0.413-0.85c-0.239-0.188-0.596-0.28-1.073-0.28 c-0.879,0-1.318,0.301-1.318,0.907c0,0.216,0.089,0.396,0.274,0.542c0.183,0.144,0.474,0.266,0.877,0.359 c0.477,0.117,0.89,0.219,1.24,0.317c0.35,0.095,0.668,0.207,0.96,0.332c0.165,0.068,0.319,0.152,0.464,0.253 c0.146,0.099,0.269,0.222,0.37,0.373c0.1,0.15,0.18,0.328,0.241,0.538c0.06,0.208,0.089,0.464,0.089,0.758 c0,0.355-0.074,0.677-0.223,0.949c-0.15,0.277-0.352,0.508-0.603,0.699c-0.254,0.19-0.553,0.333-0.895,0.434 c-0.342,0.101-0.704,0.152-1.083,0.152c-1.081,0-1.892-0.207-2.436-0.628c-0.545-0.418-0.832-1.032-0.861-1.854h1.497 c0.006,0.38,0.163,0.682,0.465,0.9c0.301,0.219,0.68,0.329,1.133,0.329c0.492,0,0.866-0.089,1.117-0.269 c0.254-0.178,0.38-0.421,0.38-0.728c0-0.119-0.015-0.228-0.044-0.326c-0.031-0.103-0.088-0.193-0.174-0.274 c-0.087-0.084-0.203-0.155-0.352-0.22c-0.15-0.064-0.342-0.119-0.581-0.174c-0.566-0.117-1.058-0.237-1.469-0.361 c-0.415-0.124-0.755-0.276-1.023-0.459c-0.269-0.184-0.466-0.403-0.592-0.665c-0.127-0.261-0.19-0.591-0.19-0.995 c0-0.305,0.056-0.594,0.167-0.86c0.111-0.269,0.283-0.5,0.515-0.697c0.23-0.197,0.515-0.354,0.855-0.471 c0.34-0.115,0.739-0.173,1.201-0.173c0.447,0,0.849,0.058,1.208,0.173c0.358,0.116,0.665,0.281,0.92,0.49 c0.256,0.212,0.457,0.469,0.598,0.773c0.142,0.303,0.222,0.632,0.235,0.998h-1.476V30.788z"></path>
|
||||
<path class="st0" d="M20.179,36.018v-7.42h2.874c0.498,0,0.961,0.084,1.387,0.254c0.422,0.164,0.787,0.404,1.087,0.717 c0.303,0.313,0.539,0.695,0.711,1.142c0.17,0.447,0.254,0.954,0.254,1.521c0,0.565-0.075,1.08-0.228,1.549 c-0.153,0.465-0.372,0.861-0.654,1.192c-0.281,0.331-0.623,0.59-1.014,0.775c-0.398,0.183-0.834,0.271-1.312,0.271H20.179z M22.974,34.756c0.677,0,1.17-0.209,1.476-0.632c0.306-0.419,0.459-1.052,0.459-1.894c0-0.42-0.039-0.776-0.113-1.073 c-0.074-0.298-0.194-0.542-0.361-0.733c-0.167-0.19-0.383-0.327-0.643-0.415c-0.261-0.085-0.579-0.128-0.949-0.128H21.69v4.872 h1.283V34.756z"></path>
|
||||
<path class="st0" d="M31.689,36.018l-2.202-3.342l-0.823,0.817v2.524h-1.53v-7.42h1.53v3.018l2.838-3.018h2.01l-2.925,2.927 l2.991,4.492L31.689,36.018L31.689,36.018z"></path>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M14.765,39.33c-2.16,0-3.927-0.006-5.563-0.016c-2.536-0.016-4.625-1.017-6.209-2.979 c-1.229-1.524-1.793-3.27-1.678-5.191c0.176-2.971,1.701-5.256,4.41-6.608c0.397-0.199,0.433-0.294,0.44-0.688 c0.028-1.434,0.518-2.787,1.452-4.025c1.007-1.33,2.369-2.237,4.05-2.699c0.903-0.25,1.907-0.292,2.953-0.128 c0.584,0.089,1.137,0.287,1.668,0.476c0.066,0.022,0.13,0.045,0.195,0.068c0.517-1.254,1.284-2.365,2.293-3.313 c1.06-1,2.309-1.791,3.708-2.346c1.645-0.653,3.423-0.951,5.268-0.884c3.103,0.11,5.763,1.16,7.917,3.121 c1.729,1.579,2.735,3.528,2.992,5.793c0.004,0.038,0.012,0.074,0.017,0.108c0.02,0.095,0.042,0.211,0.042,0.343l-0.002,0.104 c0,0.004,0,0.009,0,0.01c0.057,0.019,0.121,0.038,0.198,0.063c1.579,0.522,2.956,1.4,4.094,2.609 c1.193,1.264,1.985,2.746,2.359,4.407c0.35,1.553,0.333,3.063-0.051,4.49c-0.707,2.635-2.27,4.654-4.643,6.007 c-1.473,0.837-3.111,1.264-4.876,1.269c-1.92,0-3.837,0-5.754,0h-7.479c-1.3,0-2.603,0-3.901,0 C17.368,39.327,16.067,39.33,14.765,39.33z M13.397,17.959c-0.509,0-0.995,0.062-1.446,0.187c-1.452,0.401-2.624,1.18-3.483,2.318 c-0.799,1.055-1.214,2.199-1.238,3.403c-0.016,0.815-0.296,1.253-1.029,1.62c-2.384,1.192-3.671,3.118-3.826,5.72 c-0.099,1.649,0.389,3.152,1.446,4.462c1.375,1.702,3.188,2.574,5.389,2.587c1.632,0.008,3.398,0.01,5.556,0.01 c1.302,0,2.602,0,3.902-0.002c1.301,0,2.603-0.003,3.904-0.003h7.478c1.917,0,3.834,0,5.752,0c1.577,0,3.042-0.381,4.352-1.131 c2.119-1.203,3.51-3.007,4.143-5.356c0.337-1.258,0.353-2.6,0.043-3.98c-0.332-1.476-1.039-2.789-2.095-3.913 c-1.017-1.078-2.248-1.862-3.659-2.329c-0.078-0.025-0.146-0.046-0.203-0.064c-0.622-0.19-0.729-0.436-0.723-1.031l0.002-0.102 c0-0.024-0.009-0.082-0.021-0.133c-0.012-0.063-0.022-0.125-0.03-0.187c-0.229-2.004-1.118-3.729-2.651-5.131 c-1.959-1.788-4.397-2.743-7.237-2.845c-1.7-0.058-3.333,0.213-4.84,0.811c-1.273,0.504-2.408,1.223-3.371,2.131 c-0.954,0.897-1.667,1.955-2.117,3.143c-0.18,0.469-0.519,0.537-0.706,0.537c-0.104,0-0.21-0.019-0.335-0.062 c-0.137-0.047-0.274-0.096-0.413-0.143c-0.511-0.183-0.993-0.354-1.479-0.429C14.095,17.987,13.739,17.959,13.397,17.959z"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
$projectname
|
||||
|
||||
<!--BEGIN PROJECT_NUMBER-->
|
||||
<span id="projectnumber">
|
||||
<span id="versionSelectorHeader">
|
||||
<span>
|
||||
<select id="versionSelector">
|
||||
<option>$projectnumber</option>
|
||||
</select>
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
<!--END PROJECT_NUMBER-->
|
||||
</div>
|
||||
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
|
||||
</td>
|
||||
<!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME-->
|
||||
<!--BEGIN PROJECT_BRIEF-->
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectbrief">$projectbrief</div>
|
||||
</td>
|
||||
<!--END PROJECT_BRIEF-->
|
||||
<!--END !PROJECT_NAME-->
|
||||
<!--BEGIN DISABLE_INDEX-->
|
||||
<!--BEGIN SEARCHENGINE-->
|
||||
<td>$searchbox</td>
|
||||
<!--END SEARCHENGINE-->
|
||||
<!--END DISABLE_INDEX-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--END TITLEAREA-->
|
||||
<!-- end header part -->
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,77 @@
|
|||
# Generates an index page for cataloging different versions of the Docs
|
||||
|
||||
[CmdletBinding()]
|
||||
Param (
|
||||
$RepoRoot,
|
||||
$DocGenDir
|
||||
)
|
||||
|
||||
$ServiceMapping = @{
|
||||
"core"="Core";
|
||||
"storage"="Storage";
|
||||
}
|
||||
|
||||
Write-Verbose "Name Reccuring paths with variable names"
|
||||
$DocFxTool = "${RepoRoot}/docfx/docfx.exe"
|
||||
$DocOutDir = "${RepoRoot}/docfx_project"
|
||||
|
||||
Write-Verbose "Initializing Default DocFx Site..."
|
||||
& "${DocFxTool}" init -q -o "${DocOutDir}"
|
||||
|
||||
Write-Verbose "Copying template and configuration..."
|
||||
New-Item -Path "${DocOutDir}" -Name "templates" -ItemType "directory"
|
||||
Copy-Item "${DocGenDir}/templates/*" -Destination "${DocOutDir}/templates" -Force -Recurse
|
||||
Copy-Item "${DocGenDir}/docfx.json" -Destination "${DocOutDir}/" -Force
|
||||
|
||||
Write-Verbose "Creating Index using service directory and package names from repo..."
|
||||
$ServiceList = Get-ChildItem "$($RepoRoot)/sdk" -Directory -Exclude eng, mgmtcommon, template | Sort-Object
|
||||
$YmlPath = "${DocOutDir}/api"
|
||||
New-Item -Path $YmlPath -Name "toc.yml" -Force
|
||||
|
||||
$TargetServices = $ServiceList | Where-Object { $ServiceMapping.Contains($_.Name) }
|
||||
|
||||
Write-Verbose "Creating Index for client packages..."
|
||||
foreach ($Dir in $TargetServices)
|
||||
{
|
||||
# Generate a new top-level md file for the service
|
||||
New-Item -Path $YmlPath -Name "$($Dir.Name).md" -Force
|
||||
|
||||
# Add service to toc.yml
|
||||
$ServiceName = If ($ServiceMapping.Contains($Dir.Name)) { $ServiceMapping[$Dir.Name] } Else { $Dir.Name }
|
||||
Add-Content -Path "$($YmlPath)/toc.yml" -Value "- name: $($ServiceName)`r`n href: $($Dir.Name).md"
|
||||
|
||||
$PkgList = Get-ChildItem $Dir.FullName -Directory -Exclude .vs, .vscode
|
||||
|
||||
if (($PkgList | Measure-Object).count -eq 0)
|
||||
{
|
||||
continue
|
||||
}
|
||||
Add-Content -Path "$($YmlPath)/$($Dir.Name).md" -Value "# Client"
|
||||
Add-Content -Path "$($YmlPath)/$($Dir.Name).md" -Value "---"
|
||||
Write-Verbose "Operating on Client Packages for $($Dir.Name)"
|
||||
|
||||
# Generate a new md file for each package in the service
|
||||
foreach ($Pkg in $PkgList)
|
||||
{
|
||||
if (Test-Path "$($pkg.FullName)\package.txt")
|
||||
{
|
||||
$ProjectName = Get-Content "$($pkg.FullName)\package.txt"
|
||||
Add-Content -Path "$($YmlPath)/$($Dir.Name).md" -Value "#### $($ProjectName)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Write-Verbose "Creating Site Title and Navigation..."
|
||||
New-Item -Path "${DocOutDir}" -Name "toc.yml" -Force
|
||||
Add-Content -Path "${DocOutDir}/toc.yml" -Value "- name: Azure SDK for C APIs`r`n href: api/`r`n homepage: api/index.md"
|
||||
|
||||
Write-Verbose "Copying root markdowns"
|
||||
Copy-Item "$($RepoRoot)/README.md" -Destination "${DocOutDir}/api/index.md" -Force
|
||||
Copy-Item "$($RepoRoot)/CONTRIBUTING.md" -Destination "${DocOutDir}/api/CONTRIBUTING.md" -Force
|
||||
|
||||
Write-Verbose "Building site..."
|
||||
& "${DocFxTool}" build "${DocOutDir}/docfx.json"
|
||||
|
||||
Copy-Item "${DocGenDir}/assets/logo.svg" -Destination "${DocOutDir}/_site/" -Force
|
||||
Copy-Item "${DocGenDir}/assets/toc.yml" -Destination "${DocOutDir}/_site/" -Force
|
|
@ -0,0 +1,69 @@
|
|||
{
|
||||
"metadata": [
|
||||
{
|
||||
"src": [],
|
||||
"dest": "api",
|
||||
"disableGitFeatures": false,
|
||||
"disableDefaultFilter": false
|
||||
}
|
||||
],
|
||||
"build": {
|
||||
"content": [
|
||||
{
|
||||
"files": [
|
||||
"api/**.yml",
|
||||
"api/index.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"articles/**.md",
|
||||
"articles/**/toc.yml",
|
||||
"toc.yml",
|
||||
"*.md"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resource": [
|
||||
{
|
||||
"files": [
|
||||
"images/**"
|
||||
]
|
||||
}
|
||||
],
|
||||
"overwrite": [
|
||||
{
|
||||
"files": [
|
||||
"apidoc/**.md"
|
||||
],
|
||||
"exclude": [
|
||||
"obj/**",
|
||||
"_site/**"
|
||||
]
|
||||
}
|
||||
],
|
||||
"xrefService": [
|
||||
"https://xref.docs.microsoft.com/query?uid={uid}"
|
||||
],
|
||||
"dest": "_site",
|
||||
"globalMetadataFiles": [],
|
||||
"fileMetadataFiles": [],
|
||||
"template": [
|
||||
"default",
|
||||
"templates/matthews"
|
||||
],
|
||||
"postProcessors": [],
|
||||
"markdownEngineName": "markdig",
|
||||
"noLangKeyword": false,
|
||||
"keepFileLink": false,
|
||||
"cleanupCacheHistory": false,
|
||||
"disableGitFeatures": false,
|
||||
"globalMetadata": {
|
||||
"_appTitle": "Azure SDK for C",
|
||||
"_appFooter": "Azure SDK for C",
|
||||
"_appFaviconPath": "https://c.s-microsoft.com/favicon.ico?v2",
|
||||
"_enableSearch": true,
|
||||
"_enableNewTab": true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" id="logo" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="46.92px" height="46.315px" viewBox="0 0 46.92 46.315" style="enable-background:new 0 0 46.92 46.315;"
|
||||
xml:space="preserve">
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.st0{fill:#DDDDDD;}
|
||||
]]>
|
||||
</style>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M15.297,27.558l-0.47-1.53h-2.736l-0.526,1.53H9.922l2.649-7.418h1.798l2.614,7.418H15.297z M13.453,21.807
|
||||
h-0.012l-0.948,2.948h1.889L13.453,21.807z"/>
|
||||
<path class="st0" d="M17.341,27.558v-1.116l2.804-3.229h-2.613v-1.15h4.47v1.173l-2.805,3.139h2.883v1.185L17.341,27.558
|
||||
L17.341,27.558z"/>
|
||||
<path class="st0" d="M26.249,27.558v-0.77c-0.373,0.609-0.944,0.914-1.709,0.914c-0.276,0-0.529-0.047-0.756-0.144
|
||||
c-0.226-0.097-0.424-0.233-0.585-0.415c-0.165-0.178-0.293-0.389-0.387-0.637c-0.094-0.245-0.14-0.521-0.14-0.826v-3.618h1.453
|
||||
v3.396c0,0.686,0.311,1.028,0.929,1.028c0.37,0,0.651-0.119,0.842-0.353c0.192-0.235,0.286-0.534,0.286-0.899v-3.173h1.443v5.495
|
||||
H26.249z"/>
|
||||
<path class="st0" d="M28.429,27.558v-5.495h1.363v0.658c0.12-0.186,0.243-0.332,0.373-0.435c0.131-0.105,0.264-0.186,0.403-0.241
|
||||
c0.138-0.056,0.278-0.091,0.419-0.107c0.141-0.013,0.287-0.022,0.434-0.022h0.189v1.486c-0.133-0.023-0.266-0.031-0.401-0.031
|
||||
c-0.887,0-1.33,0.441-1.33,1.328v2.859H28.429z"/>
|
||||
<path class="st0" d="M33.212,25.189c0.021,0.418,0.142,0.749,0.361,0.996c0.22,0.244,0.509,0.366,0.867,0.366
|
||||
c0.237,0,0.448-0.056,0.631-0.164c0.181-0.106,0.3-0.257,0.353-0.45h1.496c-0.172,0.565-0.467,1.001-0.895,1.307
|
||||
c-0.424,0.308-0.932,0.457-1.52,0.457c-1.831,0-2.747-0.996-2.747-2.992c0-0.424,0.058-0.81,0.178-1.151
|
||||
c0.12-0.344,0.293-0.637,0.52-0.883c0.228-0.245,0.506-0.433,0.832-0.563c0.328-0.131,0.703-0.194,1.129-0.194
|
||||
c0.85,0,1.494,0.272,1.927,0.814c0.436,0.544,0.655,1.364,0.655,2.459L33.212,25.189L33.212,25.189z M35.502,24.272
|
||||
c-0.008-0.2-0.045-0.376-0.107-0.529s-0.146-0.28-0.25-0.38c-0.104-0.102-0.225-0.175-0.36-0.225
|
||||
c-0.133-0.048-0.271-0.071-0.412-0.071c-0.291,0-0.542,0.106-0.753,0.319c-0.213,0.212-0.335,0.51-0.363,0.888h2.246V24.272z"/>
|
||||
<path class="st0" d="M17.923,30.788c-0.038-0.38-0.175-0.661-0.413-0.85c-0.239-0.188-0.596-0.28-1.073-0.28
|
||||
c-0.879,0-1.318,0.301-1.318,0.907c0,0.216,0.089,0.396,0.274,0.542c0.183,0.144,0.474,0.266,0.877,0.359
|
||||
c0.477,0.117,0.89,0.219,1.24,0.317c0.35,0.095,0.668,0.207,0.96,0.332c0.165,0.068,0.319,0.152,0.464,0.253
|
||||
c0.146,0.099,0.269,0.222,0.37,0.373c0.1,0.15,0.18,0.328,0.241,0.538c0.06,0.208,0.089,0.464,0.089,0.758
|
||||
c0,0.355-0.074,0.677-0.223,0.949c-0.15,0.277-0.352,0.508-0.603,0.699c-0.254,0.19-0.553,0.333-0.895,0.434
|
||||
c-0.342,0.101-0.704,0.152-1.083,0.152c-1.081,0-1.892-0.207-2.436-0.628c-0.545-0.418-0.832-1.032-0.861-1.854h1.497
|
||||
c0.006,0.38,0.163,0.682,0.465,0.9c0.301,0.219,0.68,0.329,1.133,0.329c0.492,0,0.866-0.089,1.117-0.269
|
||||
c0.254-0.178,0.38-0.421,0.38-0.728c0-0.119-0.015-0.228-0.044-0.326c-0.031-0.103-0.088-0.193-0.174-0.274
|
||||
c-0.087-0.084-0.203-0.155-0.352-0.22c-0.15-0.064-0.342-0.119-0.581-0.174c-0.566-0.117-1.058-0.237-1.469-0.361
|
||||
c-0.415-0.124-0.755-0.276-1.023-0.459c-0.269-0.184-0.466-0.403-0.592-0.665c-0.127-0.261-0.19-0.591-0.19-0.995
|
||||
c0-0.305,0.056-0.594,0.167-0.86c0.111-0.269,0.283-0.5,0.515-0.697c0.23-0.197,0.515-0.354,0.855-0.471
|
||||
c0.34-0.115,0.739-0.173,1.201-0.173c0.447,0,0.849,0.058,1.208,0.173c0.358,0.116,0.665,0.281,0.92,0.49
|
||||
c0.256,0.212,0.457,0.469,0.598,0.773c0.142,0.303,0.222,0.632,0.235,0.998h-1.476V30.788z"/>
|
||||
<path class="st0" d="M20.179,36.018v-7.42h2.874c0.498,0,0.961,0.084,1.387,0.254c0.422,0.164,0.787,0.404,1.087,0.717
|
||||
c0.303,0.313,0.539,0.695,0.711,1.142c0.17,0.447,0.254,0.954,0.254,1.521c0,0.565-0.075,1.08-0.228,1.549
|
||||
c-0.153,0.465-0.372,0.861-0.654,1.192c-0.281,0.331-0.623,0.59-1.014,0.775c-0.398,0.183-0.834,0.271-1.312,0.271H20.179z
|
||||
M22.974,34.756c0.677,0,1.17-0.209,1.476-0.632c0.306-0.419,0.459-1.052,0.459-1.894c0-0.42-0.039-0.776-0.113-1.073
|
||||
c-0.074-0.298-0.194-0.542-0.361-0.733c-0.167-0.19-0.383-0.327-0.643-0.415c-0.261-0.085-0.579-0.128-0.949-0.128H21.69v4.872
|
||||
h1.283V34.756z"/>
|
||||
<path class="st0" d="M31.689,36.018l-2.202-3.342l-0.823,0.817v2.524h-1.53v-7.42h1.53v3.018l2.838-3.018h2.01l-2.925,2.927
|
||||
l2.991,4.492L31.689,36.018L31.689,36.018z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M14.765,39.33c-2.16,0-3.927-0.006-5.563-0.016c-2.536-0.016-4.625-1.017-6.209-2.979
|
||||
c-1.229-1.524-1.793-3.27-1.678-5.191c0.176-2.971,1.701-5.256,4.41-6.608c0.397-0.199,0.433-0.294,0.44-0.688
|
||||
c0.028-1.434,0.518-2.787,1.452-4.025c1.007-1.33,2.369-2.237,4.05-2.699c0.903-0.25,1.907-0.292,2.953-0.128
|
||||
c0.584,0.089,1.137,0.287,1.668,0.476c0.066,0.022,0.13,0.045,0.195,0.068c0.517-1.254,1.284-2.365,2.293-3.313
|
||||
c1.06-1,2.309-1.791,3.708-2.346c1.645-0.653,3.423-0.951,5.268-0.884c3.103,0.11,5.763,1.16,7.917,3.121
|
||||
c1.729,1.579,2.735,3.528,2.992,5.793c0.004,0.038,0.012,0.074,0.017,0.108c0.02,0.095,0.042,0.211,0.042,0.343l-0.002,0.104
|
||||
c0,0.004,0,0.009,0,0.01c0.057,0.019,0.121,0.038,0.198,0.063c1.579,0.522,2.956,1.4,4.094,2.609
|
||||
c1.193,1.264,1.985,2.746,2.359,4.407c0.35,1.553,0.333,3.063-0.051,4.49c-0.707,2.635-2.27,4.654-4.643,6.007
|
||||
c-1.473,0.837-3.111,1.264-4.876,1.269c-1.92,0-3.837,0-5.754,0h-7.479c-1.3,0-2.603,0-3.901,0
|
||||
C17.368,39.327,16.067,39.33,14.765,39.33z M13.397,17.959c-0.509,0-0.995,0.062-1.446,0.187c-1.452,0.401-2.624,1.18-3.483,2.318
|
||||
c-0.799,1.055-1.214,2.199-1.238,3.403c-0.016,0.815-0.296,1.253-1.029,1.62c-2.384,1.192-3.671,3.118-3.826,5.72
|
||||
c-0.099,1.649,0.389,3.152,1.446,4.462c1.375,1.702,3.188,2.574,5.389,2.587c1.632,0.008,3.398,0.01,5.556,0.01
|
||||
c1.302,0,2.602,0,3.902-0.002c1.301,0,2.603-0.003,3.904-0.003h7.478c1.917,0,3.834,0,5.752,0c1.577,0,3.042-0.381,4.352-1.131
|
||||
c2.119-1.203,3.51-3.007,4.143-5.356c0.337-1.258,0.353-2.6,0.043-3.98c-0.332-1.476-1.039-2.789-2.095-3.913
|
||||
c-1.017-1.078-2.248-1.862-3.659-2.329c-0.078-0.025-0.146-0.046-0.203-0.064c-0.622-0.19-0.729-0.436-0.723-1.031l0.002-0.102
|
||||
c0-0.024-0.009-0.082-0.021-0.133c-0.012-0.063-0.022-0.125-0.03-0.187c-0.229-2.004-1.118-3.729-2.651-5.131
|
||||
c-1.959-1.788-4.397-2.743-7.237-2.845c-1.7-0.058-3.333,0.213-4.84,0.811c-1.273,0.504-2.408,1.223-3.371,2.131
|
||||
c-0.954,0.897-1.667,1.955-2.117,3.143c-0.18,0.469-0.519,0.537-0.706,0.537c-0.104,0-0.21-0.019-0.335-0.062
|
||||
c-0.137-0.047-0.274-0.096-0.413-0.143c-0.511-0.183-0.993-0.354-1.479-0.429C14.095,17.987,13.739,17.959,13.397,17.959z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 6.5 KiB |
|
@ -0,0 +1,3 @@
|
|||
- name: Api Documentation
|
||||
href: api/
|
||||
homepage: api/index.md
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"build": {
|
||||
"content": [
|
||||
{
|
||||
"files": [
|
||||
"api/**.yml",
|
||||
"api/**.md",
|
||||
"api/index.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"toc.yml",
|
||||
"*.md"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resource": [
|
||||
{
|
||||
"files": [
|
||||
"images/**"
|
||||
]
|
||||
}
|
||||
],
|
||||
"overwrite": [
|
||||
{
|
||||
"files": [
|
||||
"apidoc/**.md"
|
||||
],
|
||||
"exclude": [
|
||||
"obj/**",
|
||||
"_site/**"
|
||||
]
|
||||
}
|
||||
],
|
||||
"dest": "_site",
|
||||
"globalMetadataFiles": [],
|
||||
"fileMetadataFiles": [],
|
||||
"template": [
|
||||
"default",
|
||||
"templates/matthews"
|
||||
],
|
||||
"postProcessors": [],
|
||||
"markdownEngineName": "markdig",
|
||||
"noLangKeyword": false,
|
||||
"keepFileLink": false,
|
||||
"cleanupCacheHistory": false,
|
||||
"disableGitFeatures": false,
|
||||
"globalMetadata": {
|
||||
"_appTitle": "Azure SDK for C",
|
||||
"_appFooter": "Azure SDK for C",
|
||||
"_enableSearch": false,
|
||||
"_enableNewTab": true,
|
||||
"_appFaviconPath": "https://c.s-microsoft.com/favicon.ico?v2",
|
||||
"_disableContribution": true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{{^_disableContribution}}
|
||||
<div class="contribution-panel mobile-hide">
|
||||
{{#docurl}}
|
||||
<a href="{{docurl}}" title="{{__global.improveThisDoc}}" class="fab btn-warning pull-right"><i class="glyphicon glyphicon-pencil"></i></a>
|
||||
{{/docurl}}
|
||||
{{#sourceurl}}
|
||||
<a href="{{sourceurl}}" title="{{__global.viewSource}}" class="fab btn-info pull-right"><i class="fa fa-code"></i></a>
|
||||
{{/sourceurl}}
|
||||
</div>
|
||||
{{/_disableContribution}}
|
||||
|
||||
<div class="hidden-sm col-md-2" role="complementary">
|
||||
<div class="sideaffix">
|
||||
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,100 @@
|
|||
<h1 id="{{id}}" data-uid="{{uid}}">{{>partials/title}}</h1>
|
||||
<div class="markdown level0 summary">{{{summary}}}</div>
|
||||
<div class="markdown level0 conceptual">{{{conceptual}}}</div>
|
||||
|
||||
{{#inClass}}
|
||||
<div class="inheritance">
|
||||
<h5>{{__global.inheritance}}</h5>
|
||||
{{#inheritance}}
|
||||
<div class="level{{index}}">{{{specName.0.value}}}</div>
|
||||
{{/inheritance}}
|
||||
<div class="level{{level}}"><span class="xref">{{name.0.value}}</span></div>
|
||||
</div>
|
||||
{{/inClass}}
|
||||
|
||||
{{#derivedClasses}}
|
||||
<div class="level{{index}}">{{{specName.0.value}}}</div>
|
||||
{{/derivedClasses}}
|
||||
|
||||
{{#inheritedMembers.0}}
|
||||
<div class="inheritedMembers">
|
||||
<h5>{{__global.inheritedMembers}}</h5>
|
||||
{{/inheritedMembers.0}}
|
||||
{{#inheritedMembers}}
|
||||
<div>
|
||||
{{#definition}}
|
||||
<xref uid="{{definition}}" text="{{nameWithType.0.value}}" alt="{{fullName.0.value}}"/>
|
||||
{{/definition}}
|
||||
{{^definition}}
|
||||
<xref uid="{{uid}}" text="{{nameWithType.0.value}}" alt="{{fullName.0.value}}"/>
|
||||
{{/definition}}
|
||||
</div>
|
||||
{{/inheritedMembers}}
|
||||
{{#inheritedMembers.0}}
|
||||
</div>
|
||||
{{/inheritedMembers.0}}
|
||||
|
||||
<h6><strong>{{__global.namespace}}</strong>: {{{namespace.specName.0.value}}}</h6>
|
||||
<h6><strong>{{__global.assembly}}</strong>: {{assemblies.0}}.dll</h6>
|
||||
|
||||
<h5 id="{{id}}_syntax">{{__global.syntax}}</h5>
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-{{_lang}} hljs">{{syntax.content.0.value}}</code></pre>
|
||||
</div>
|
||||
|
||||
{{#syntax.parameters.0}}
|
||||
<h5 class="parameters">{{__global.parameters}}</h5>
|
||||
<table>
|
||||
{{/syntax.parameters.0}}
|
||||
{{#syntax.parameters}}
|
||||
<tr>
|
||||
<td>
|
||||
<span class="pull-right">{{{type.specName.0.value}}}</span>
|
||||
<span class="parametername">{{{id}}}</span>
|
||||
<p>{{{description}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
{{/syntax.parameters}}
|
||||
{{#syntax.parameters.0}}
|
||||
</table>
|
||||
{{/syntax.parameters.0}}
|
||||
|
||||
{{#syntax.return}}
|
||||
<h5 class="returns">{{__global.returns}}</h5>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{{{type.specName.0.value}}}
|
||||
<p>{{{description}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{{/syntax.return}}
|
||||
|
||||
{{#syntax.typeParameters.0}}
|
||||
<h5 class="typeParameters">{{__global.typeParameters}}</h5>
|
||||
<table>
|
||||
{{/syntax.typeParameters.0}}
|
||||
{{#syntax.typeParameters}}
|
||||
<tr>
|
||||
<td>
|
||||
<span class="parametername">{{{id}}}</span>
|
||||
<p>{{{description}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
{{/syntax.typeParameters}}
|
||||
{{#syntax.typeParameters.0}}
|
||||
</table>
|
||||
{{/syntax.typeParameters.0}}
|
||||
|
||||
{{#remarks}}
|
||||
<h5 id="{{id}}_remarks"><strong>{{__global.remarks}}</strong></h5>
|
||||
<div class="markdown level0 remarks">{{{remarks}}}</div>
|
||||
{{/remarks}}
|
||||
|
||||
{{#example.0}}
|
||||
<h5 id="{{id}}_examples"><strong>{{__global.examples}}</strong></h5>
|
||||
{{/example.0}}
|
||||
{{#example}}
|
||||
{{{.}}}
|
||||
{{/example}}
|
|
@ -0,0 +1,210 @@
|
|||
{{>partials/class.header}}
|
||||
{{#children}}
|
||||
<h3 id="{{id}}">{{>partials/classSubtitle}}</h3>
|
||||
{{#children}}
|
||||
|
||||
{{^_disableContribution}}
|
||||
{{#docurl}}
|
||||
<span class="small pull-right mobile-hide">
|
||||
<span class="divider"> </span>
|
||||
<a href="{{docurl}}" title="{{__global.improveThisDoc}}"><i class="fa fa-pencil"></i></a>
|
||||
</span>
|
||||
{{/docurl}}
|
||||
{{#sourceurl}}
|
||||
<span class="small pull-right mobile-hide">
|
||||
<a href="{{sourceurl}}" title="{{__global.viewSource}}"><i class="fa fa-code"></i></a>
|
||||
</span>
|
||||
{{/sourceurl}}
|
||||
{{/_disableContribution}}
|
||||
|
||||
{{#overload}}
|
||||
<a id="{{id}}" data-uid="{{uid}}"></a>
|
||||
{{/overload}}
|
||||
|
||||
<h4 id="{{id}}" data-uid="{{uid}}"><a href="#collapsible-{{id}}" class="expander" data-toggle="collapse">{{name.0.value}}</a></h4>
|
||||
|
||||
<div id="collapsible-{{id}}" class="collapse in">
|
||||
<div class="markdown level1 summary">{{{summary}}}</div>
|
||||
<div class="markdown level1 conceptual">{{{conceptual}}}</div>
|
||||
<h5 class="decalaration">{{__global.declaration}}</h5>
|
||||
|
||||
{{#syntax}}
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-{{_lang}} hljs">{{syntax.content.0.value}}</code></pre>
|
||||
</div>
|
||||
|
||||
{{#parameters.0}}
|
||||
<h5 class="parameters">{{__global.parameters}}</h5>
|
||||
<table>
|
||||
{{/parameters.0}}
|
||||
{{#parameters}}
|
||||
<tr>
|
||||
<td>
|
||||
<span class="pull-right">{{{type.specName.0.value}}}</span>
|
||||
<span class="parametername">{{{id}}}</span>
|
||||
<p>{{{description}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
{{/parameters}}
|
||||
{{#parameters.0}}
|
||||
</table>
|
||||
{{/parameters.0}}
|
||||
|
||||
{{#return}}
|
||||
<h5 class="returns">{{__global.returns}}</h5>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{{{type.specName.0.value}}}
|
||||
<p>{{{description}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{{/return}}
|
||||
|
||||
{{#typeParameters.0}}
|
||||
<h5 class="typeParameters">{{__global.typeParameters}}</h5>
|
||||
<table>
|
||||
{{/typeParameters.0}}
|
||||
{{#typeParameters}}
|
||||
<tr>
|
||||
<td>
|
||||
<span class="parametername">{{{id}}}</span>
|
||||
<p>{{{description}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
{{/typeParameters}}
|
||||
{{#typeParameters.0}}
|
||||
</table>
|
||||
{{/typeParameters.0}}
|
||||
|
||||
{{#fieldValue}}
|
||||
<h5 class="fieldValue">{{__global.fieldValue}}</h5>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{{{type.specName.0.value}}}
|
||||
<p>{{{description}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{{/fieldValue}}
|
||||
|
||||
{{#propertyValue}}
|
||||
<h5 class="propertyValue">{{__global.propertyValue}}</h5>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{{{type.specName.0.value}}}
|
||||
<p>{{{description}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{{/propertyValue}}
|
||||
|
||||
{{#eventType}}
|
||||
<h5 class="eventType">{{__global.eventType}}</h5>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{{{type.specName.0.value}}}
|
||||
<p>{{{description}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{{/eventType}}
|
||||
{{/syntax}}
|
||||
|
||||
{{#overridden}}
|
||||
<h5 class="overrides">{{__global.overrides}}</h5>
|
||||
<div><xref uid="{{uid}}" altProperty="fullName" displayProperty="nameWithType"/></div>
|
||||
{{/overridden}}
|
||||
|
||||
{{#implements.0}}
|
||||
<h5 class="implements">{{__global.implements}}</h5>
|
||||
{{/implements.0}}
|
||||
{{#implements}}
|
||||
{{#definition}}
|
||||
<div><xref uid="{{definition}}" altProperty="fullName" displayProperty="nameWithType"/></div>
|
||||
{{/definition}}
|
||||
{{^definition}}
|
||||
<div><xref uid="{{uid}}" altProperty="fullName" displayProperty="nameWithType"/></div>
|
||||
{{/definition}}
|
||||
{{/implements}}
|
||||
|
||||
{{#remarks}}
|
||||
<h5 id="{{id}}_remarks">{{__global.remarks}}</h5>
|
||||
<div class="markdown level1 remarks">{{{remarks}}}</div>
|
||||
{{/remarks}}
|
||||
|
||||
{{#example.0}}
|
||||
<h5 id="{{id}}_examples">{{__global.examples}}</h5>
|
||||
{{/example.0}}
|
||||
{{#example}}
|
||||
{{{.}}}
|
||||
{{/example}}
|
||||
|
||||
{{#exceptions.0}}
|
||||
<h5 class="exceptions">{{__global.exceptions}}</h5>
|
||||
<table>
|
||||
{{/exceptions.0}}
|
||||
{{#exceptions}}
|
||||
<tr>
|
||||
<td>
|
||||
{{{type.specName.0.value}}}
|
||||
<p>{{{description}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
{{/exceptions}}
|
||||
{{#exceptions.0}}
|
||||
</table>
|
||||
{{/exceptions.0}}
|
||||
|
||||
{{#seealso.0}}
|
||||
<h5 id="{{id}}_seealso">{{__global.seealso}}</h5>
|
||||
<div class="seealso">
|
||||
{{/seealso.0}}
|
||||
{{#seealso}}
|
||||
{{#isCref}}
|
||||
<div>{{{type.specName.0.value}}}</div>
|
||||
{{/isCref}}
|
||||
{{^isCref}}
|
||||
<div>{{{url}}}</div>
|
||||
{{/isCref}}
|
||||
{{/seealso}}
|
||||
{{#seealso.0}}
|
||||
</div>
|
||||
{{/seealso.0}}
|
||||
</div>
|
||||
{{/children}}
|
||||
{{/children}}
|
||||
|
||||
{{#extensionMethods.0}}
|
||||
<h3 id="extensionmethods">{{__global.extensionMethods}}</h3>
|
||||
{{/extensionMethods.0}}
|
||||
{{#extensionMethods}}
|
||||
<div>
|
||||
{{#definition}}
|
||||
<xref uid="{{definition}}" altProperty="fullName" displayProperty="nameWithType"/>
|
||||
{{/definition}}
|
||||
{{^definition}}
|
||||
<xref uid="{{uid}}" altProperty="fullName" displayProperty="nameWithType"/>
|
||||
{{/definition}}
|
||||
</div>
|
||||
{{/extensionMethods}}
|
||||
|
||||
{{#seealso.0}}
|
||||
<h3 id="seealso">{{__global.seealso}}</h3>
|
||||
<div class="seealso">
|
||||
{{/seealso.0}}
|
||||
{{#seealso}}
|
||||
{{#isCref}}
|
||||
<div>{{{type.specName.0.value}}}</div>
|
||||
{{/isCref}}
|
||||
{{^isCref}}
|
||||
<div>{{{url}}}</div>
|
||||
{{/isCref}}
|
||||
{{/seealso}}
|
||||
{{#seealso.0}}
|
||||
</div>
|
||||
{{/seealso.0}}
|
|
@ -0,0 +1,24 @@
|
|||
{{>partials/class.header}}
|
||||
{{#children}}
|
||||
{{#children}}
|
||||
<h4 id="{{id}}"><a href="#collapsible-{{id}}" class="expander" data-toggle="collapse">{{name.0.value}}</a></h4>
|
||||
|
||||
<div id="collapsible-{{id}}" class="collapse in">
|
||||
<p>{{{summary}}}</p>
|
||||
</div>
|
||||
{{/children}}
|
||||
{{/children}}
|
||||
|
||||
{{#extensionMethods.0}}
|
||||
<h3 id="extensionmethods">{{__global.extensionMethods}}</h3>
|
||||
{{/extensionMethods.0}}
|
||||
{{#extensionMethods}}
|
||||
<div>
|
||||
{{#definition}}
|
||||
<xref uid="{{definition}}" fullName="{{fullName.0.value}}" name="{{nameWithType.0.value}}"/>
|
||||
{{/definition}}
|
||||
{{^definition}}
|
||||
<xref uid="{{uid}}" fullName="{{fullName.0.value}}" name="{{nameWithType.0.value}}"/>
|
||||
{{/definition}}
|
||||
</div>
|
||||
{{/extensionMethods}}
|
|
@ -0,0 +1,17 @@
|
|||
<h1 id="{{id}}" data-uid="{{uid}}">{{>partials/title}}</h1>
|
||||
<div class="markdown level0 summary">{{{summary}}}</div>
|
||||
<div class="markdown level0 conceptual">{{{conceptual}}}</div>
|
||||
<div class="markdown level0 remarks">{{{remarks}}}</div>
|
||||
{{#children}}
|
||||
<h3 id="{{id}}">{{>partials/namespaceSubtitle}}</h3>
|
||||
<table>
|
||||
{{#children}}
|
||||
<tr>
|
||||
<td>
|
||||
<p><xref uid="{{uid}}" altProperty="fullName" displayProperty="name"/></p>
|
||||
<p>{{{summary}}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
{{/children}}
|
||||
</table>
|
||||
{{/children}}
|
|
@ -0,0 +1,282 @@
|
|||
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css");
|
||||
|
||||
/* Clickability fix for selector on sm devices */
|
||||
@media (min-width: 768px) and (max-width: 991px) {
|
||||
article h1:first-of-type:before {
|
||||
height: 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#search {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.fa-code {
|
||||
font-size: 19px;
|
||||
}
|
||||
|
||||
.sidetoc,
|
||||
body .toc,
|
||||
.sidefilter,
|
||||
.sidetoggle {
|
||||
background-color: #f9fbe7;
|
||||
}
|
||||
|
||||
.sidenav,
|
||||
.toc-toggle {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.sidetoggle {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
/* Remove center align from Navbar and Collapsible section */
|
||||
.collapse.in,
|
||||
.collapsing {
|
||||
text-align: unset;
|
||||
}
|
||||
|
||||
article h4 {
|
||||
border-bottom: none;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.sidetoc, .sidefilter {
|
||||
margin-left: -15px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.navbar-collapse {
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.navbar-collapse li .active {
|
||||
border-radius: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Collapsible Sections
|
||||
------------------------------------------------------- */
|
||||
.expander:after {
|
||||
font-family: 'Glyphicons Halflings';
|
||||
content: "\e260";
|
||||
margin-left: 5px;
|
||||
color: grey;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.expander.collapsed:after {
|
||||
content: "\e259";
|
||||
}
|
||||
|
||||
/* Floating buttons
|
||||
------------------------------------------------------- */
|
||||
.fab {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
text-align: center;
|
||||
padding: 11px 0 0 0;
|
||||
border: none;
|
||||
outline: none;
|
||||
color: #FFF;
|
||||
border-radius: 100%;
|
||||
box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
|
||||
transition:.3s;
|
||||
}
|
||||
|
||||
.fab:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.fab + .fab {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.contribution-panel {
|
||||
z-index: 1000;
|
||||
position: fixed;
|
||||
right: 30px;
|
||||
top: 70px;
|
||||
}
|
||||
|
||||
/* Bootstrap docs like sidebar
|
||||
------------------------------------------------------- */
|
||||
.affix h5 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* active & hover links */
|
||||
.affix ul > li > a:hover,
|
||||
.affix ul > li.active > a,
|
||||
.affix ul > li > a:focus {
|
||||
color: #563d7c;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
border-left-color: #563d7c;
|
||||
}
|
||||
|
||||
/* all active links */
|
||||
.affix ul > li.active > a,
|
||||
.affix ul > li.active:hover > a,
|
||||
.affix ul > li.active:focus >a {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* nested active links */
|
||||
.affix ul ul > li.active > a,
|
||||
.affix ul ul > li.active:hover > a,
|
||||
.affix ul ul > li.active:focus > a {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* all links */
|
||||
.affix ul > li > a {
|
||||
color: #999;
|
||||
border-left: 2px solid transparent;
|
||||
padding: 4px 20px;
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
/* nested links */
|
||||
.affix ul ul > li > a {
|
||||
padding-top: 1px;
|
||||
padding-bottom: 1px;
|
||||
padding-left: 30px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* hide inactive nested list */
|
||||
.affix ul ul {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* show active nested list */
|
||||
.affix ul > li.active > ul {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.affix > ul > li > a:before {
|
||||
content: '';
|
||||
}
|
||||
|
||||
.affix ul ul > li > a:before {
|
||||
content: '';
|
||||
}
|
||||
|
||||
/* Style Buttons
|
||||
------------------------------------------------------- */
|
||||
.btn-warning {
|
||||
background-color: #0071c5;
|
||||
}
|
||||
|
||||
.btn-info {
|
||||
background-color: #0071c5;
|
||||
}
|
||||
|
||||
/* Navbar Hamburger
|
||||
------------------------------------------------------- */
|
||||
.icon-bar {
|
||||
transition: 0.4s;
|
||||
}
|
||||
|
||||
/* Rotate first bar */
|
||||
.change .icon-bar:nth-of-type(2) {
|
||||
transform: rotate(-45deg) translate(-4px, 5px) ;
|
||||
}
|
||||
|
||||
/* Fade out the second bar */
|
||||
.change .icon-bar:nth-of-type(3) {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* Rotate last bar */
|
||||
.change .icon-bar:nth-of-type(4) {
|
||||
transform: rotate(45deg) translate(-4px, -5px) ;
|
||||
}
|
||||
|
||||
/* Custom Navbar
|
||||
------------------------------------------------------- */
|
||||
.navbar-inverse {
|
||||
background-color: #0071c5;
|
||||
opacity: 0.95;
|
||||
border-color: #0071c5;
|
||||
}
|
||||
.navbar-inverse .navbar-brand {
|
||||
color: #ffffff;
|
||||
}
|
||||
.navbar-inverse .navbar-brand:hover,
|
||||
.navbar-inverse .navbar-brand:focus {
|
||||
color: #ecdbff;
|
||||
}
|
||||
.navbar-inverse .navbar-text {
|
||||
color: #ffffff;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > li > a {
|
||||
color: #ffffff;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > li > a:hover,
|
||||
.navbar-inverse .navbar-nav > li > a:focus {
|
||||
color: #ecdbff;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > .active > a,
|
||||
.navbar-inverse .navbar-nav > .active > a:hover,
|
||||
.navbar-inverse .navbar-nav > .active > a:focus {
|
||||
color: #ecdbff;
|
||||
background-color: #0071c5;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > .open > a,
|
||||
.navbar-inverse .navbar-nav > .open > a:hover,
|
||||
.navbar-inverse .navbar-nav > .open > a:focus {
|
||||
color: #ecdbff;
|
||||
background-color: #0071c5;
|
||||
}
|
||||
.navbar-inverse .navbar-toggle {
|
||||
border-color: #0071c5;
|
||||
}
|
||||
.navbar-inverse .navbar-toggle:hover,
|
||||
.navbar-inverse .navbar-toggle:focus {
|
||||
background-color: #0071c5;
|
||||
}
|
||||
.navbar-inverse .navbar-toggle .icon-bar {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.navbar-inverse .navbar-collapse,
|
||||
.navbar-inverse .navbar-form {
|
||||
border: none;
|
||||
}
|
||||
.navbar-inverse .navbar-link {
|
||||
color: #ffffff;
|
||||
}
|
||||
.navbar-inverse .navbar-link:hover {
|
||||
color: #ecdbff;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
|
||||
color: #ffffff;
|
||||
}
|
||||
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
|
||||
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
|
||||
color: #ecdbff;
|
||||
}
|
||||
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
|
||||
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
|
||||
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
|
||||
color: #ecdbff;
|
||||
background-color: #0071c5;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-version-select {
|
||||
padding: 2px;
|
||||
border: none;
|
||||
border-radius: 2px;
|
||||
box-shadow: none;
|
||||
-webkit-appearance: media-time-remaining-display;
|
||||
margin-top: 14px;
|
||||
}
|
|
@ -0,0 +1,143 @@
|
|||
// Use container fluid
|
||||
var containers = $(".container");
|
||||
containers.removeClass("container");
|
||||
containers.addClass("container-fluid");
|
||||
|
||||
WINDOW_CONTENTS = window.location.href.split('/');
|
||||
SELECTED_LANGUAGE = 'c';
|
||||
STORAGE_ACCOUNT_NAME = 'azuresdkdocs';
|
||||
BLOB_URI_PREFIX = "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net/$web/" + SELECTED_LANGUAGE + "/";
|
||||
|
||||
ATTR1 = '[<span class="hljs-meta">System.ComponentModel.EditorBrowsable</span>]\n<';
|
||||
|
||||
// Navbar Hamburger
|
||||
$(function () {
|
||||
$(".navbar-toggle").click(function () {
|
||||
$(this).toggleClass("change");
|
||||
})
|
||||
})
|
||||
|
||||
// Select list to replace affix on small screens
|
||||
$(function () {
|
||||
var navItems = $(".sideaffix .level1 > li");
|
||||
|
||||
if (navItems.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
var selector = $("<select/>");
|
||||
selector.addClass("form-control visible-sm visible-xs");
|
||||
var form = $("<form/>");
|
||||
form.append(selector);
|
||||
form.prependTo("article");
|
||||
|
||||
selector.change(function () {
|
||||
window.location = $(this).find("option:selected").val();
|
||||
})
|
||||
|
||||
function work(item, level) {
|
||||
var link = item.children('a');
|
||||
|
||||
var text = link.text();
|
||||
|
||||
for (var i = 0; i < level; ++i) {
|
||||
text = ' ' + text;
|
||||
}
|
||||
|
||||
selector.append($('<option/>', {
|
||||
'value': link.attr('href'),
|
||||
'html': text
|
||||
}));
|
||||
|
||||
var nested = item.children('ul');
|
||||
|
||||
if (nested.length > 0) {
|
||||
nested.children('li').each(function () {
|
||||
work($(this), level + 1);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
navItems.each(function () {
|
||||
work($(this), 0);
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
function httpGetAsync(targetUrl, callback) {
|
||||
var xmlHttp = new XMLHttpRequest();
|
||||
xmlHttp.onreadystatechange = function () {
|
||||
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
|
||||
callback(xmlHttp.responseText);
|
||||
}
|
||||
xmlHttp.open("GET", targetUrl, true); // true for asynchronous
|
||||
xmlHttp.send(null);
|
||||
}
|
||||
|
||||
function populateOptions(selector, packageName) {
|
||||
var versionRequestUrl = BLOB_URI_PREFIX + packageName + "/versioning/versions"
|
||||
|
||||
httpGetAsync(versionRequestUrl, function (responseText) {
|
||||
var versionselector = document.createElement("select")
|
||||
versionselector.className = 'navbar-version-select'
|
||||
if (responseText) {
|
||||
options = responseText.match(/[^\r\n]+/g)
|
||||
|
||||
for (var i in options) {
|
||||
$(versionselector).append('<option value="' + options[i] + '">' + options[i] + '</option>')
|
||||
}
|
||||
}
|
||||
$(versionselector).val(WINDOW_CONTENTS[6]);
|
||||
$(selector).append(versionselector)
|
||||
|
||||
$(versionselector).change(function () {
|
||||
targetVersion = $(this).val()
|
||||
url = WINDOW_CONTENTS.slice()
|
||||
url[6] = targetVersion
|
||||
window.location.href = url.join('/')
|
||||
});
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function populateIndexList(selector, packageName) {
|
||||
url = BLOB_URI_PREFIX + packageName + "/versioning/versions"
|
||||
|
||||
httpGetAsync(url, function (responseText) {
|
||||
|
||||
var publishedversions = document.createElement("ul")
|
||||
if (responseText) {
|
||||
options = responseText.match(/[^\r\n]+/g)
|
||||
|
||||
for (var i in options) {
|
||||
$(publishedversions).append('<li><a href="' + getPackageUrl(SELECTED_LANGUAGE, packageName, options[i]) + '" target="_blank">' + options[i] + '</a></li>')
|
||||
}
|
||||
}
|
||||
else {
|
||||
$(publishedversions).append('<li>No discovered versions present in blob storage.</li>')
|
||||
}
|
||||
$(selector).after(publishedversions)
|
||||
})
|
||||
}
|
||||
|
||||
function getPackageUrl(language, package, version) {
|
||||
return "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net/$web/" + language + "/" + package + "/" + version + "/index.html";
|
||||
}
|
||||
|
||||
// Populate Versions
|
||||
$(function () {
|
||||
if (WINDOW_CONTENTS.length < 7 && WINDOW_CONTENTS[WINDOW_CONTENTS.length - 1] != 'index.html') {
|
||||
console.log("Run PopulateList")
|
||||
|
||||
$('h4').each(function () {
|
||||
var pkgName = $(this).text()
|
||||
populateIndexList($(this), pkgName)
|
||||
})
|
||||
}
|
||||
|
||||
if (WINDOW_CONTENTS.length > 7) {
|
||||
var pkgName = WINDOW_CONTENTS[5]
|
||||
populateOptions($('#navbar'), pkgName)
|
||||
}
|
||||
})
|
|
@ -1,6 +1,7 @@
|
|||
parameters:
|
||||
Artifacts: []
|
||||
ServiceDirectory: not-specified
|
||||
CtestRegex: .*
|
||||
BuildReleaseArtifacts: true
|
||||
|
||||
jobs:
|
||||
|
@ -8,53 +9,53 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
Linux_x64:
|
||||
vm.image: 'ubuntu-18.04'
|
||||
vcpkg.deps: 'curl[ssl] libxml2 openssl'
|
||||
OSVmImage: 'ubuntu-18.04'
|
||||
VcpkgInstall: 'curl[ssl] libxml2 openssl'
|
||||
VCPKG_DEFAULT_TRIPLET: 'x64-linux'
|
||||
Win_x86:
|
||||
vm.image: 'windows-2019'
|
||||
vcpkg.deps: 'curl[winssl] libxml2'
|
||||
OSVmImage: 'windows-2019'
|
||||
VcpkgInstall: 'curl[winssl] libxml2'
|
||||
VCPKG_DEFAULT_TRIPLET: 'x86-windows-static'
|
||||
CMAKE_GENERATOR: 'Visual Studio 16 2019'
|
||||
CMAKE_GENERATOR_PLATFORM: Win32
|
||||
Win_x64:
|
||||
vm.image: 'windows-2019'
|
||||
vcpkg.deps: 'curl[winssl] libxml2'
|
||||
OSVmImage: 'windows-2019'
|
||||
VcpkgInstall: 'curl[winssl] libxml2'
|
||||
VCPKG_DEFAULT_TRIPLET: 'x64-windows-static'
|
||||
CMAKE_GENERATOR: 'Visual Studio 16 2019'
|
||||
CMAKE_GENERATOR_PLATFORM: x64
|
||||
MacOS_x64:
|
||||
vm.image: 'macOS-10.14'
|
||||
vcpkg.deps: 'curl[ssl] libxml2 openssl'
|
||||
OSVmImage: 'macOS-10.14'
|
||||
VcpkgInstall: 'curl[ssl] libxml2 openssl'
|
||||
VCPKG_DEFAULT_TRIPLET: 'x64-osx'
|
||||
|
||||
# Unit testing ON
|
||||
Linux_x64_with_unit_test:
|
||||
vm.image: 'ubuntu-18.04'
|
||||
vcpkg.deps: 'curl[ssl] libxml2 openssl'
|
||||
OSVmImage: 'ubuntu-18.04'
|
||||
VcpkgInstall: 'curl[ssl] libxml2 openssl'
|
||||
VCPKG_DEFAULT_TRIPLET: 'x64-linux'
|
||||
build.args: ' -DBUILD_TESTING=ON'
|
||||
CmakeArgs: ' -DBUILD_TESTING=ON'
|
||||
Win_x86_with_unit_test:
|
||||
vm.image: 'windows-2019'
|
||||
vcpkg.deps: 'curl[winssl] libxml2'
|
||||
OSVmImage: 'windows-2019'
|
||||
VcpkgInstall: 'curl[winssl] libxml2'
|
||||
VCPKG_DEFAULT_TRIPLET: 'x86-windows-static'
|
||||
CMAKE_GENERATOR: 'Visual Studio 16 2019'
|
||||
CMAKE_GENERATOR_PLATFORM: Win32
|
||||
build.args: ' -DBUILD_TESTING=ON'
|
||||
CmakeArgs: ' -DBUILD_TESTING=ON'
|
||||
Win_x64_with_unit_test:
|
||||
vm.image: 'windows-2019'
|
||||
vcpkg.deps: 'curl[winssl] libxml2'
|
||||
OSVmImage: 'windows-2019'
|
||||
VcpkgInstall: 'curl[winssl] libxml2'
|
||||
VCPKG_DEFAULT_TRIPLET: 'x64-windows-static'
|
||||
CMAKE_GENERATOR: 'Visual Studio 16 2019'
|
||||
CMAKE_GENERATOR_PLATFORM: x64
|
||||
build.args: ' -DBUILD_TESTING=ON'
|
||||
CmakeArgs: ' -DBUILD_TESTING=ON'
|
||||
MacOS_x64_with_unit_test:
|
||||
vm.image: 'macOS-10.14'
|
||||
vcpkg.deps: 'curl[ssl] libxml2 openssl'
|
||||
VCPKG_DEFAULT_TRIPLET: 'x64-osx'
|
||||
build.args: ' -DBUILD_TESTING=ON'
|
||||
OSVmImage: 'macOS-10.14'
|
||||
VcpkgInstall: 'curl[ssl] libxml2 openssl'
|
||||
VCPKG_DEFAULT_TRIPLET: 'x64-osx'
|
||||
CmakeArgs: ' -DBUILD_TESTING=ON'
|
||||
pool:
|
||||
vmImage: $(vm.image)
|
||||
vmImage: $(OSVmImage)
|
||||
variables:
|
||||
CMOCKA_XML_FILE: "%g-test-results.xml"
|
||||
CMOCKA_MESSAGE_OUTPUT: "xml"
|
||||
|
@ -63,74 +64,56 @@ jobs:
|
|||
- checkout: self
|
||||
submodules: recursive
|
||||
|
||||
# Mac OS specific requirements
|
||||
- task: Bash@3
|
||||
inputs:
|
||||
targetType: inline
|
||||
script: |
|
||||
sudo xcode-select --switch /Applications/Xcode_11.3.1.app
|
||||
echo "xcode path:"
|
||||
sudo xcode-select --print-path
|
||||
- template: /eng/pipelines/templates/steps/vcpkg.yml
|
||||
parameters:
|
||||
DependenciesVariableName: VcpkgInstall
|
||||
|
||||
# Install gcc 9
|
||||
brew install gcc@9
|
||||
gcc --version
|
||||
- template: /eng/pipelines/templates/steps/cmake-build.yml
|
||||
parameters:
|
||||
GenerateArgs: $(CmakeArgs)
|
||||
|
||||
git clone https://github.com/Microsoft/vcpkg.git
|
||||
cd vcpkg
|
||||
git rev-parse --verify HEAD
|
||||
git status
|
||||
|
||||
./bootstrap-vcpkg.sh
|
||||
|
||||
# Validate that vcpkg bootstrap succeeded
|
||||
./vcpkg version
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "./bootstrap-vcpkg.sh FAILED"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "##vso[task.prependpath]$(pwd)"
|
||||
echo "##vso[task.setvariable variable=VCPKG_INSTALLATION_ROOT;]$(pwd)"
|
||||
|
||||
# Execute only for Mac and if there is at least one dependency to be installed
|
||||
condition: and(succeeded(), contains(variables['vm.image'], 'macOS'), not(eq(variables['vcpkg.deps'], '')))
|
||||
displayName: vcpkg bootstrap
|
||||
|
||||
|
||||
- script: |
|
||||
vcpkg install $(vcpkg.deps)
|
||||
displayName: vcpkg install dependencies
|
||||
# Execute only if there is at least one dependency to be installed
|
||||
condition: and(succeeded(), not(eq(variables['vcpkg.deps'], '')))
|
||||
|
||||
- script: mkdir build
|
||||
displayName: create working directory
|
||||
|
||||
- script: cmake --version
|
||||
workingDirectory: build
|
||||
displayName: cmake --version
|
||||
|
||||
- script: cmake ${{ parameters.BuildArgs }} ..
|
||||
workingDirectory: build
|
||||
displayName: cmake generate
|
||||
|
||||
- script: cmake --build .
|
||||
workingDirectory: build
|
||||
displayName: cmake build
|
||||
|
||||
- script: |
|
||||
ctest -V
|
||||
- script: ctest -V --tests-regex ${{ parameters.CtestRegex }}
|
||||
workingDirectory: build
|
||||
displayName: ctest
|
||||
|
||||
# Disable build for cpp - client
|
||||
# Disable build for cpp - client
|
||||
- ${{ if ne(parameters.ServiceDirectory, 'not-specified' )}}:
|
||||
- job: GenerateReleaseArtifacts
|
||||
pool:
|
||||
vmImage: windows-2019
|
||||
variables:
|
||||
VcpkgDependencies: curl[winssl]
|
||||
VCPKG_DEFAULT_TRIPLET: 'x64-windows-static'
|
||||
steps:
|
||||
- pwsh: |
|
||||
$setupFile="doxygen-1.8.18-setup.exe";
|
||||
|
||||
Invoke-WebRequest `
|
||||
-MaximumRetryCount 10 `
|
||||
-Uri "https://azuresdktooling.blob.core.windows.net/dependencies/$setupFile" `
|
||||
-OutFile $setupFile `
|
||||
| Wait-Process;
|
||||
|
||||
Start-Process -Filepath .\$setupFile -ArgumentList @("/VERYSILENT") -Wait
|
||||
workingDirectory: $(Agent.TempDirectory)
|
||||
displayName: Download and Install Doxygen
|
||||
|
||||
# Install dependencies required for build from vcpkg
|
||||
# TODO: We should be able to generate docs without having to install these
|
||||
# prerequisites:
|
||||
- template: /eng/pipelines/templates/steps/vcpkg.yml
|
||||
parameters:
|
||||
DependenciesVariableName: VcpkgDependencies
|
||||
|
||||
- template: /eng/pipelines/templates/steps/cmake-build.yml
|
||||
parameters:
|
||||
Build: false
|
||||
GenerateArgs: >-
|
||||
-DINSTALL_GTEST=OFF
|
||||
-DBUILD_TESTING=OFF
|
||||
-DBUILD_CURL_TRANSPORT=OFF
|
||||
-DBUILD_DOCUMENTATION=YES
|
||||
|
||||
# Generate package spec JSON files for tagging the repo
|
||||
- ${{ each artifact in parameters.Artifacts }}:
|
||||
- pwsh: >-
|
||||
|
@ -142,10 +125,15 @@ jobs:
|
|||
|
||||
- pwsh: |
|
||||
$outputPath = Join-Path -Path $(Build.ArtifactStagingDirectory) packages/${{ artifact.Name }}/package-info.json
|
||||
|
||||
# TODO: Read version from a .h file instead of version.txt
|
||||
$version = Get-Content -Path sdk/${{ parameters.ServiceDirectory }}/${{ artifact.Path }}/version.txt
|
||||
$outputObject = @{ version = $version.ToString(); name = '${{ artifact.Name }}' } | ConvertTo-Json
|
||||
|
||||
Set-Content -Path $outputPath -Value $outputObject
|
||||
|
||||
# Set AZURE_SDK_VERSION for use in Doxygen generation
|
||||
Write-Host "##vso[task.setvariable variable=AZURE_SDK_VERSION]$version"
|
||||
displayName: Create package info JSON file
|
||||
|
||||
- pwsh: |
|
||||
|
@ -163,3 +151,28 @@ jobs:
|
|||
inputs:
|
||||
artifactName: packages
|
||||
path: $(Build.ArtifactStagingDirectory)/packages
|
||||
|
||||
- script: cmake --build . --target ${{ artifact.Name }}-docs
|
||||
workingDirectory: build
|
||||
displayName: Generate docs (${{ artifact.Name }}-docs)
|
||||
|
||||
- pwsh: New-Item -ItemType directory -Path $(Build.ArtifactStagingDirectory) -Name docs/${{ artifact.Name }}
|
||||
displayName: Create doc artifact location
|
||||
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.ArtifactStagingDirectory)/packages/${{ artifact.Name }}/package-info.json
|
||||
targetFolder: build/sdk/${{ parameters.ServiceDirectory }}/${{ artifact.Path }}/docs/html
|
||||
displayName: Copy package-info.json to documentation path
|
||||
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: build/sdk/${{ parameters.ServiceDirectory }}/${{ artifact.Path }}/docs/html
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/docs/${{ artifact.Name }}
|
||||
displayName: Copy documentation to artifact staging directory
|
||||
|
||||
# After all docs artifacts are generated publis docs artifacts
|
||||
- task: PublishPipelineArtifact@1
|
||||
inputs:
|
||||
artifactName: docs
|
||||
path: $(Build.ArtifactStagingDirectory)/docs
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
parameters:
|
||||
Artifacts: []
|
||||
ServiceDirectory: not-specified
|
||||
CtestRegex: .*
|
||||
|
||||
|
||||
stages:
|
||||
|
@ -10,6 +11,7 @@ stages:
|
|||
parameters:
|
||||
ServiceDirectory: ${{ parameters.ServiceDirectory }}
|
||||
Artifacts: ${{ parameters.Artifacts }}
|
||||
CtestRegex: ${{ parameters.CtestRegex }}
|
||||
|
||||
- ${{if and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal'))}}:
|
||||
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
parameters:
|
||||
GenerateArgs: ''
|
||||
Build: true
|
||||
BuildArgs: ''
|
||||
|
||||
|
||||
steps:
|
||||
- script: mkdir build
|
||||
displayName: create working directory
|
||||
|
||||
- script: cmake --version
|
||||
workingDirectory: build
|
||||
displayName: cmake --version
|
||||
|
||||
- script: cmake ${{ parameters.GenerateArgs }} ..
|
||||
workingDirectory: build
|
||||
displayName: cmake generate
|
||||
|
||||
- ${{ if eq(parameters.Build, true) }}:
|
||||
- script: cmake ${{ parameters.BuildArgs }} --build .
|
||||
workingDirectory: build
|
||||
displayName: cmake build
|
|
@ -0,0 +1,48 @@
|
|||
# Assumes that the VM image is in a variable called OSVmImage
|
||||
|
||||
parameters:
|
||||
# Use the variable name itself (no $() or other wrapping syntax). This is
|
||||
# because we use runtime and macro expressions for conditions and script
|
||||
# invocations
|
||||
DependenciesVariableName: vcpkg.deps
|
||||
|
||||
steps:
|
||||
# Mac OS specific requirements
|
||||
- task: Bash@3
|
||||
inputs:
|
||||
targetType: inline
|
||||
script: |
|
||||
sudo xcode-select --switch /Applications/Xcode_11.3.1.app
|
||||
echo "xcode path:"
|
||||
sudo xcode-select --print-path
|
||||
|
||||
# Install gcc 9
|
||||
brew install gcc@9
|
||||
gcc --version
|
||||
|
||||
git clone https://github.com/Microsoft/vcpkg.git
|
||||
cd vcpkg
|
||||
git rev-parse --verify HEAD
|
||||
git status
|
||||
|
||||
./bootstrap-vcpkg.sh
|
||||
|
||||
# Validate that vcpkg bootstrap succeeded
|
||||
./vcpkg version
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "./bootstrap-vcpkg.sh FAILED"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "##vso[task.prependpath]$(pwd)"
|
||||
echo "##vso[task.setvariable variable=VCPKG_INSTALLATION_ROOT;]$(pwd)"
|
||||
# Execute only for Mac and if there is at least one dependency to be installed
|
||||
condition: and(succeeded(), contains(variables['OSVmImage'], 'macOS'), not(eq(variables['${{ parameters.DependenciesVariableName }}'], '')))
|
||||
displayName: vcpkg bootstrap
|
||||
|
||||
- script: |
|
||||
vcpkg install $(${{ parameters.DependenciesVariableName }})
|
||||
displayName: vcpkg install dependencies
|
||||
# Execute only if there is at least one dependency to be installed
|
||||
condition: and(succeeded(), not(eq(variables['${{ parameters.DependenciesVariableName }}'], '')))
|
|
@ -35,3 +35,5 @@ add_library (Azure::Core ALIAS ${TARGET_NAME})
|
|||
|
||||
target_include_directories(${TARGET_NAME} PUBLIC ${CURL_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE CURL::libcurl)
|
||||
|
||||
generate_documentation(${TARGET_NAME} 1.0.0-preview.1)
|
||||
|
|
|
@ -12,11 +12,28 @@ trigger:
|
|||
- feature/*
|
||||
- release/*
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- sdk/core
|
||||
- eng/
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- feature/*
|
||||
- release/*
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- sdk/core/
|
||||
- eng/
|
||||
|
||||
stages:
|
||||
- template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml
|
||||
parameters:
|
||||
ServiceDirectory: core
|
||||
CtestRegex: azure-core
|
||||
Artifacts:
|
||||
- Name: azure-core
|
||||
Path: azure-core
|
||||
|
|
|
@ -124,3 +124,5 @@ endif()
|
|||
|
||||
# make sure that users can consume the project as a library.
|
||||
add_library (azure::storage ALIAS azure-storage)
|
||||
|
||||
generate_documentation(azure-storage 1.0.0-preview.1)
|
|
@ -0,0 +1,39 @@
|
|||
resources:
|
||||
repositories:
|
||||
- repository: azure-sdk-tools
|
||||
type: github
|
||||
name: Azure/azure-sdk-tools
|
||||
endpoint: azure
|
||||
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- feature/*
|
||||
- release/*
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- sdk/core
|
||||
- sdk/storage
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- feature/*
|
||||
- release/*
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- sdk/core/
|
||||
- sdk/storage
|
||||
|
||||
stages:
|
||||
- template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml
|
||||
parameters:
|
||||
ServiceDirectory: storage
|
||||
CtestRegex: azure-storage
|
||||
Artifacts:
|
||||
- Name: azure-storage
|
||||
Path: .
|
|
@ -0,0 +1 @@
|
|||
1.0.0-preview.1
|
Загрузка…
Ссылка в новой задаче