Remove workspace-hack (#40216)
We've been considering removing workspace-hack for a couple reasons: - Lukas ran into a situation where its build script seemed to be causing spurious rebuilds. This seems more likely to be a cargo bug than an issue with workspace-hack itself (given that it has an empty build script), but we don't necessarily want to take the time to hunt that down right now. - Marshall mentioned hakari interacts poorly with automated crate updates (in our case provided by rennovate) because you'd need to have `cargo hakari generate && cargo hakari manage-deps` after their changes and we prefer to not have actions that make commits. Currently removing workspace-hack causes our workspace to grow from ~1700 to ~2000 crates being built (depending on platform), which is mainly a problem when you're building the whole workspace or running tests across the the normal and remote binaries (which is where feature-unification nets us the most sharing). It doesn't impact incremental times noticeably when you're just iterating on `-p zed`, and we'll hopefully get these savings back in the future when rust-lang/cargo#14774 (which re-implements the functionality of hakari) is finished. Release Notes: - N/A
This commit is contained in:
@@ -63,7 +63,6 @@ anyhow.workspace = true
|
||||
gpui.workspace = true
|
||||
ui.workspace = true
|
||||
util.workspace = true
|
||||
workspace-hack.workspace = true
|
||||
|
||||
# Uncomment other workspace dependencies as needed
|
||||
# assistant.workspace = true
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
HAKARI_VERSION="0.9"
|
||||
|
||||
cd "$(dirname "$0")/.." || exit 1
|
||||
|
||||
if ! cargo hakari --version | grep "cargo-hakari $HAKARI_VERSION" >/dev/null; then
|
||||
echo "Installing cargo-hakari@^$HAKARI_VERSION..."
|
||||
cargo install "cargo-hakari@^$HAKARI_VERSION"
|
||||
else
|
||||
echo "cargo-hakari@^$HAKARI_VERSION is already installed."
|
||||
fi
|
||||
|
||||
# update the workspace-hack crate
|
||||
cargo hakari generate
|
||||
|
||||
# make sure workspace-hack is added as a dep for all crates in the workspace
|
||||
cargo hakari manage-deps
|
||||
@@ -1,36 +0,0 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$HAKARI_VERSION = "0.9"
|
||||
|
||||
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
Set-Location (Split-Path -Parent $scriptPath)
|
||||
|
||||
$hakariInstalled = $false
|
||||
try {
|
||||
$versionOutput = cargo hakari --version 2>&1
|
||||
if ($versionOutput -match "cargo-hakari $HAKARI_VERSION") {
|
||||
$hakariInstalled = $true
|
||||
}
|
||||
}
|
||||
catch {
|
||||
$hakariInstalled = $false
|
||||
}
|
||||
|
||||
if (-not $hakariInstalled) {
|
||||
Write-Host "Installing cargo-hakari@^$HAKARI_VERSION..."
|
||||
cargo install "cargo-hakari@^$HAKARI_VERSION"
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Failed to install cargo-hakari@^$HAKARI_VERSION"
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Host "cargo-hakari@^$HAKARI_VERSION is already installed."
|
||||
}
|
||||
|
||||
# update the workspace-hack crate
|
||||
cargo hakari generate
|
||||
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
||||
|
||||
# make sure workspace-hack is added as a dep for all crates in the workspace
|
||||
cargo hakari manage-deps
|
||||
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
||||
Reference in New Issue
Block a user