Skip to content
This repository has been archived by the owner on Nov 20, 2023. It is now read-only.

Disambiguate the names of the Rust client crates. #126

Closed
wants to merge 1 commit into from
Closed

Disambiguate the names of the Rust client crates. #126

wants to merge 1 commit into from

Conversation

ojacobson
Copy link

@ojacobson ojacobson commented Mar 15, 2023

This is a breaking change, as it renames the two nomad_client crates and thus every symbol exported by either of them.

Cargo's git dependency resolution is able to locate crates in subdirectories of a Git repository, so long as the crate names are unique within the repo. Unfortunately, the existing crates are both named nomad_client, which is ambiguous and causes Cargo to arbitrarily pick one when resolving the crate.

This change distinguishes the crates so that they have distinct names, allowing clients to pick the crate and depend on it directly from Git. The option to vendor the crate remains open, but it's no longer strictly required, which simplifies dependency upgrades a bit (cargo upgrade can update the commit hash, for example).

Publishing these crates to crates.io for general use is beyond the scope of this change. However, please consider that as an alternative way of resolving this pull request.

@hashicorp-cla
Copy link

hashicorp-cla commented Mar 15, 2023

CLA assistant check
All committers have signed the CLA.

This is a breaking change, as it renames the two `nomad_client` crates and thus every symbol exported by either of them.

Cargo's `git` dependency resolution is able to locate crates in subdirectories of a Git repository, so long as the crate names are unique within the repo[1]. Unfortunately, the existing crates are both named `nomad_client`, which is ambiguous and causes Cargo to arbitrarily pick one when resolving the crate.

This change distinguishes the crates so that they have distinct names, allowing clients to pick the crate and depend on it directly from Git. The option to vendor the crate remains open, but it's no longer strictly required, which simplifies dependency upgrades a bit (`cargo upgrade` can update the commit hash, for example).

Publishing these crates to crates.io for general use is beyond the scope of this change.

[1]: rust-lang/cargo#1462
@ojacobson ojacobson closed this by deleting the head repository Feb 21, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants