From 0766d0377dadbcf650001d3818a794837fe6319b Mon Sep 17 00:00:00 2001 From: iximeow Date: Tue, 3 Jun 2025 01:54:15 +0000 Subject: [PATCH] api_versions! should make public Semver consts they were private, so it was impossible to use version constants defined in a separate API crate. this is the relationship between the DNS server and DNS API types, as one example, so move that explicit `Semver` declaration to one from the `dns-server-api` crate. --- Cargo.lock | 1 + dev-tools/openapi-manager/types/src/versions.rs | 8 ++++---- dns-server/src/lib.rs | 2 +- internal-dns/resolver/Cargo.toml | 1 + internal-dns/resolver/src/resolver.rs | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a6f418600eb..1a5f6673b81 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4940,6 +4940,7 @@ dependencies = [ "anyhow", "assert_matches", "dns-server", + "dns-server-api", "dns-service-client", "dropshot", "expectorate", diff --git a/dev-tools/openapi-manager/types/src/versions.rs b/dev-tools/openapi-manager/types/src/versions.rs index 16c4ff4c005..160b08f58c9 100644 --- a/dev-tools/openapi-manager/types/src/versions.rs +++ b/dev-tools/openapi-manager/types/src/versions.rs @@ -106,9 +106,9 @@ impl SupportedVersions { /// these, equivalent to: /// /// ``` -/// const VERSION_ADD_FOOBAR_OPERATION: semver::Version = +/// pub const VERSION_ADD_FOOBAR_OPERATION: semver::Version = /// semver::Version::new(2, 0, 0); -/// const VERSION_INITIAL: semver::Version = +/// pub const VERSION_INITIAL: semver::Version = /// semver::Version::new(1, 0, 0); /// ``` /// @@ -147,7 +147,7 @@ macro_rules! api_versions { ) ),* $(,)? ] ) => { openapi_manager_types::paste! { $( - const []: semver::Version = + pub const []: semver::Version = semver::Version::new($major, 0, 0); )* @@ -178,7 +178,7 @@ macro_rules! api_versions_picky { ) ),* $(,)? ] ) => { openapi_manager_types::paste! { $( - const []: semver::Version = + pub const []: semver::Version = semver::Version::new($major, $minor, $patch); )* diff --git a/dns-server/src/lib.rs b/dns-server/src/lib.rs index 0a99c88793d..a209bed7c59 100644 --- a/dns-server/src/lib.rs +++ b/dns-server/src/lib.rs @@ -100,7 +100,7 @@ pub async fn start_servers( "api-version" .parse::() .expect("api-version is a valid header name"), - semver::Version::new(2, 0, 0), + dns_server_api::VERSION_SOA_AND_NS, ), ))) .start() diff --git a/internal-dns/resolver/Cargo.toml b/internal-dns/resolver/Cargo.toml index e4de05d5c9f..91766b92dbf 100644 --- a/internal-dns/resolver/Cargo.toml +++ b/internal-dns/resolver/Cargo.toml @@ -23,6 +23,7 @@ anyhow.workspace = true assert_matches.workspace = true dropshot.workspace = true dns-server.workspace = true +dns-server-api.workspace = true dns-service-client.workspace = true expectorate.workspace = true omicron-test-utils.workspace = true diff --git a/internal-dns/resolver/src/resolver.rs b/internal-dns/resolver/src/resolver.rs index 73ce579fbf3..ec9e546cefb 100644 --- a/internal-dns/resolver/src/resolver.rs +++ b/internal-dns/resolver/src/resolver.rs @@ -831,7 +831,7 @@ mod test { "api-version" .parse::() .expect("api-version is a valid header name"), - semver::Version::new(2, 0, 0), + dns_server_api::VERSION_SOA_AND_NS, ), ))) .start()