Skip to content

Commit

Permalink
Add the rust package index
Browse files Browse the repository at this point in the history
  • Loading branch information
weshaggard committed Feb 27, 2025
1 parent f784bd8 commit f02216a
Show file tree
Hide file tree
Showing 14 changed files with 124 additions and 1 deletion.
14 changes: 14 additions & 0 deletions _data/releases/latest/rust-packages.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"Package","VersionGA","VersionPreview","DisplayName","ServiceName","RepoPath","MSDocs","GHDocs","Type","New","PlannedVersions","LatestGADate","FirstGADate","FirstPreviewDate","Support","EOLDate","Hide","Replace","ReplaceGuide","MSDocService","ServiceId","Notes"
"azure","","0.38.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_core","","0.22.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_core_amqp","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_data_cosmos","","0.21.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_identity","","0.22.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_messaging_eventhubs","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_security_keyvault_keys","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_security_keyvault_secrets","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_template","","0.0.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_template_core","","0.0.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"typespec","","0.2.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"typespec_client_core","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"typespec_macros","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
2 changes: 2 additions & 0 deletions _data/sidebars/releases_sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ entries:
url: /releases/latest/go.html
- title: C++
url: /releases/latest/cpp.html
- title: Rust
url: /releases/latest/rust.html
- title: Embedded C
url: /releases/latest/c.html
- title: Android
Expand Down
1 change: 1 addition & 0 deletions _includes/refs.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
[python-latest-releases]: {{ site.baseurl }}{% link releases/latest/python.md %}
[cpp-latest-releases]: {{ site.baseurl }}{% link releases/latest/cpp.md %}
[c-latest-releases]: {{ site.baseurl }}{% link releases/latest/c.md %}
[rust-latest-releases]: {{ site.baseurl }}{% link releases/latest/rust.md %}

[README-EXAMPLE]: https://github.com/Azure/azure-sdk/blob/main/docs/policies/README-EXAMPLE.md
[README-TEMPLATE]: https://github.com/Azure/azure-sdk/blob/main/docs/policies/README-TEMPLATE.md
1 change: 1 addition & 0 deletions _includes/releases/languages.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
{% include releases/python.md type=include.type %}
{% include releases/go.md type=include.type %}
{% include releases/cpp.md type=include.type %}
{% include releases/rust.md type=include.type %}
{% include releases/c.md type=include.type %}
{% include releases/android.md type=include.type %}
{% include releases/ios.md type=include.type %}
3 changes: 2 additions & 1 deletion _includes/releases/nav.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
<div class="nav-language-filter-cell"><a href="#javascript">JavaScript/TypeScript</a></div>
<div class="nav-language-filter-cell"><a href="#python">Python</a></div>
<div class="nav-language-filter-cell"><a href="#go">Go</a></div>

<div class="nav-language-filter-cell"><a href="#rust">rust</a></div>

{% if include.type != "deprecated" %}
<div class="nav-language-filter-cell"><a href="#c">C++</a></div>
<div class="nav-language-filter-cell"><a href="#embedded-c">Embedded C</a></div>
Expand Down
31 changes: 31 additions & 0 deletions _includes/releases/notes/rust.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
## Release highlights

{% include releases/notes/release_highlights.md %}

## Latest Releases

View all the latest versions of Rust crates [here][rust-latest-releases].

## Installation Instructions

To install any of our crates, copy and paste the following commands into a terminal:

{% assign allPackagesSortedByName = allPackages | sort: 'Name' %}
{%- capture install_instructions -%}
{% for package in allPackagesSortedByName %}
{%- capture install_instruction -%}
$> cargo add {{ package.Name }}@{{ package.Version }}
{%- endcapture -%}
{{ install_instruction }}
{% endfor %}
{%- endcapture -%}
```
{{ install_instructions | rstrip }}
```
{: .language-bash}

## Feedback

If you have a bug or feature request for one of the libraries, please post an issue to [GitHub](https://github.com/Azure/azure-sdk-for-rust/issues).

{% include refs.md %}
17 changes: 17 additions & 0 deletions _includes/releases/rust.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{% include releases/header.md type=include.type %}

## C++

{% if include.type == "all" %}
{% assign packages = site.data.releases.latest.cpp-packages | where_exp: 'item', "item.Support <> 'deprecated'" %}
{% elsif include.type == "deprecated" %}
{% assign packages = site.data.releases.latest.cpp-packages | where: 'Support', 'deprecated' | where_exp: 'item', "item.Support <> 'deprecated'" %}
{% else %}
{% assign packages = site.data.releases.latest.cpp-packages | where: 'Type', include.type | where: 'New', 'true' | where_exp: 'item', "item.Support <> 'deprecated'" %}
{% endif %}

{{ description | replace: 'PackageCount', packages.size }}

{% include releases/variables/cpp.md %}

{% include releases/pkgtable.md type=include.type %}
8 changes: 8 additions & 0 deletions _includes/releases/variables/rust.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{% assign package_label = "crate" %}
{% assign pre_suffix = "" %}
{% assign package_root_url_template = "https://crates.io/crates/item.Package" %}
{% assign package_url_template = "https://crates.io/crates/item.Package/item.Version" %}
<!-- Currently for rust we don't have any docs published -->
<!-- {% assign msdocs_url_template = "https://docs.microsoft.com/rust/api/overview/azure/item.TrimmedPackage-readme" %} -->
<!-- {% assign ghdocs_url_template = "https://azuresdkdocs.z19.web.core.windows.net/rust/item.Package/item.Version/index.html" %} -->
{% assign source_url_template = "https://github.com/Azure/azure-sdk-for-rust/tree/[email protected]/sdk/item.RepoPath/" %}
2 changes: 2 additions & 0 deletions eng/pipelines/template/steps/generate-releasenotes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ parameters:
Language: js
azure-sdk-for-python:
Language: python
azure-sdk-for-rust:
Language: rust

steps:
- pwsh: |
Expand Down
1 change: 1 addition & 0 deletions eng/scripts/PackageList-Helpers.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ $languageNameMapping = @{
go = "Go" # -- No csv or tagging info
ios = "iOS" # -- These don't follow normal tagging rules
android = "Android" # -- These don't follow normal tagging/githubio rules
rust = "Rust"
}

function CreatePackage(
Expand Down
1 change: 1 addition & 0 deletions eng/scripts/PackageVersion-Helpers.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ function GetPackageVersions($lang, [DateTimeOffset]$afterDate = [DateTimeOffset]
$repoName = "azure-sdk-for-$lang"
if ($lang -eq "dotnet") { $repoName = "azure-sdk-for-net" }
if ($lang -eq "go") { $tagSplit = "/v" }
if ($lang -eq "rust") { $tagSplit = "@" }
if ($lang -eq "c") { $tagSplit = $null }

$tags = GetLatestTags $repoName $afterDate
Expand Down
27 changes: 27 additions & 0 deletions eng/scripts/Query-Azure-Packages.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,28 @@ function Get-go-Packages
return $packages
}

function Get-rust-Packages
{
$packages = @()
# https://crates.io/api/v1/users/azure-sdk to find user id
$next_page = '?user_id=313465&per_page=100'
$crates = while ($next_page) {
$page = Invoke-RestMethod "https://crates.io/api/v1/crates$next_page"
$next_page = $page.meta.next_page
$page.crates
}

Write-Host "Found $($crates.Count) crates belonging to azure-sdk"

$packages = @()
foreach ($crate in $crates)
{
$packages += CreatePackage $crate.name $crate.max_version
}

return $packages
}

function Write-Latest-Versions($lang)
{
$packageList = Get-PackageListForLanguage $lang
Expand Down Expand Up @@ -624,6 +646,7 @@ switch($language)
Write-Latest-Versions "python"
Write-Latest-Versions "cpp"
Write-Latest-Versions "go"
Write-Latest-Versions "rust"

# Maven search api has lots of reliability issues so keeping this error
# handling here to keep it from failing the pipeline all the time.
Expand Down Expand Up @@ -665,6 +688,10 @@ switch($language)
Write-Latest-Versions $language
break
}
"rust" {
Write-Latest-Versions $language
break
}
default {
Write-Host "Unrecognized Language: $language"
exit 1
Expand Down
8 changes: 8 additions & 0 deletions eng/scripts/release-template/rust.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Azure SDK for Rust (%%MMMM yyyy%%)
layout: post
tags: rust
sidebar: releases_sidebar
repository: Azure/azure-sdk-for-rust
---
{% include releases/notes/common.md language="rust" date="%%yyyy-MM%%" displayDate="%%MMMM yyyy%%" %}
9 changes: 9 additions & 0 deletions releases/latest/rust.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Azure SDK for Rust (Latest)
layout: default
tags: rust
sidebar: releases_sidebar
header: true
---
{% include releases/rust.md type="client" %}
{% include refs.md %}

0 comments on commit f02216a

Please sign in to comment.