2022-07-19 16:35:58 -04:00
|
|
|
#!/usr/bin/env -S deno run -A --lock=tools/deno.lock.json
|
2024-01-01 14:58:21 -05:00
|
|
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2024-08-20 15:14:37 -04:00
|
|
|
|
|
|
|
// deno-lint-ignore-file no-console
|
|
|
|
|
2022-03-30 16:37:00 -04:00
|
|
|
import { DenoWorkspace } from "./deno_workspace.ts";
|
2022-07-19 16:35:58 -04:00
|
|
|
import { $, getCratesPublishOrder } from "./deps.ts";
|
2022-03-30 16:37:00 -04:00
|
|
|
|
2022-07-19 16:35:58 -04:00
|
|
|
$.logStep(`Running cargo publish...`);
|
2022-03-30 16:37:00 -04:00
|
|
|
|
|
|
|
const workspace = await DenoWorkspace.load();
|
|
|
|
const cliCrate = workspace.getCliCrate();
|
|
|
|
|
|
|
|
const dependencyCrates = getCratesPublishOrder(
|
|
|
|
workspace.getCliDependencyCrates(),
|
|
|
|
);
|
|
|
|
|
|
|
|
try {
|
|
|
|
for (const [i, crate] of dependencyCrates.entries()) {
|
2022-07-19 16:35:58 -04:00
|
|
|
await crate.publish();
|
|
|
|
$.log(`Finished ${i + 1} of ${dependencyCrates.length} crates.`);
|
2022-03-30 16:37:00 -04:00
|
|
|
}
|
|
|
|
|
2022-07-19 16:35:58 -04:00
|
|
|
await cliCrate.publish();
|
2022-03-30 16:37:00 -04:00
|
|
|
} finally {
|
|
|
|
// system beep to notify error or completion
|
|
|
|
console.log("\x07");
|
|
|
|
}
|