diff --git a/Cargo.lock b/Cargo.lock index 1aeeb419f7e8..39325f7ffce3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1341,7 +1341,6 @@ dependencies = [ "aws-sdk-ecr", "aws-sdk-s3", "base64 0.13.1", - "byte-unit", "bytes", "chrono", "clap 4.5.4", @@ -1354,7 +1353,6 @@ dependencies = [ "enso-font", "enso-install-config", "futures", - "futures-util", "glob", "handlebars", "heck 0.4.1", @@ -1414,20 +1412,15 @@ name = "enso-build-cli" version = "0.1.0" dependencies = [ "anyhow", - "byte-unit", "clap 4.5.4", "derivative", "enso-build", "enso-build-base", "enso-formatter", "futures-util", - "glob", - "humantime", "ide-ci", "octocrab", - "tempfile", "tokio", - "toml 0.5.11", "tracing", ] @@ -1514,20 +1507,14 @@ dependencies = [ "chrono", "dirs", "embed-resource", - "enso-build-base", "enso-install-config", - "flate2", "ide-ci", - "indicatif", "mslnk", "named-lock", "native-windows-gui", - "self-replace", "serde_json", "strum", "sysinfo", - "tar", - "tokio", "tracing", "tracing-subscriber", "windows 0.53.0", @@ -1555,7 +1542,6 @@ dependencies = [ "byte-unit", "chrono", "embed-resource", - "enso-build-base", "enso-install", "enso-install-config", "flate2", @@ -1564,11 +1550,6 @@ dependencies = [ "serde_json", "sysinfo", "tar", - "tokio", - "tracing", - "tracing-subscriber", - "winapi", - "windows 0.52.0", ] [[package]] @@ -1723,8 +1704,6 @@ name = "enso-uninstaller" version = "0.1.0" dependencies = [ "anyhow", - "enso-build", - "enso-build-base", "enso-install", "enso-install-config", "ide-ci", @@ -2414,7 +2393,6 @@ dependencies = [ "pathdiff", "platforms", "portpicker", - "rand 0.8.5", "regex", "reqwest", "semver", diff --git a/build/build/Cargo.toml b/build/build/Cargo.toml index 9fd651189320..cc09f7e709c7 100644 --- a/build/build/Cargo.toml +++ b/build/build/Cargo.toml @@ -11,14 +11,12 @@ aws-sdk-ecr = "0.21.0" aws-sdk-s3 = "0.21.0" base64 = "0.13.0" bytes = { workspace = true } -byte-unit = { workspace = true } chrono = { workspace = true } clap = { workspace = true } derivative = { workspace = true } derive_more = { workspace = true } dirs = { workspace = true } futures = { workspace = true } -futures-util = "0.3.17" glob = "0.3.0" handlebars = "4.3.5" heck = "0.4.0" diff --git a/build/build/examples/experiments.rs b/build/build/examples/experiments.rs deleted file mode 100644 index b951dc0ced09..000000000000 --- a/build/build/examples/experiments.rs +++ /dev/null @@ -1,21 +0,0 @@ -use enso_build::prelude::*; - -use ide_ci::github::setup_octocrab; -use ide_ci::github::Repo; -use octocrab::models::ReleaseId; - - - -#[tokio::main] -async fn main() -> Result { - let octo = setup_octocrab().await?; - let repo = Repo::from_str("enso-org/enso-staging")?; - let handler = repo.handle(&octo); - let repos = handler.repos(); - let releases = repos.releases(); - - let release = releases.get_by_id(ReleaseId(59585385)).await?; - dbg!(&release); - - Ok(()) -} diff --git a/build/build/examples/s3.rs b/build/build/examples/s3.rs deleted file mode 100644 index 15ddf20f37d6..000000000000 --- a/build/build/examples/s3.rs +++ /dev/null @@ -1,31 +0,0 @@ -use enso_build::prelude::*; - -use aws_sdk_s3::model::ObjectCannedAcl; -use aws_sdk_s3::types::ByteStream; -use aws_sdk_s3::Client; -use enso_build::aws::s3::BucketContext; -use enso_build::aws::EDITIONS_BUCKET_NAME; - - - -#[tokio::main] -async fn main() -> Result { - let config = dbg!(aws_config::load_from_env().await); - let bucket_context = BucketContext { - client: Client::new(&config), - bucket: EDITIONS_BUCKET_NAME.to_string(), - upload_acl: ObjectCannedAcl::PublicRead, - key_prefix: Some("enso".into()), - }; - - // crate::env::set_var("AWS_SECRET_ACCESS_KEY", std::env::var("AWS_SECRET_ACCESS_KEY")?.trim()); - - let test_file = "test_file.exe"; - dbg!( - bucket_context - .put(test_file, ByteStream::from_path(&std::env::current_exe()?).await?) - .await? - ); - - Ok(()) -} diff --git a/build/build/src/aws.rs b/build/build/src/aws.rs index 29aa16221ac7..88b73dac4436 100644 --- a/build/build/src/aws.rs +++ b/build/build/src/aws.rs @@ -128,15 +128,6 @@ mod tests { use super::*; - // #[tokio::test] - // async fn aaa() -> Result { - // let repo = RepoContext::from_str("enso-org/enso")?; - // let paths = - // Paths::new_version(r"H:\NBO\enso", Version::parse("2022.1.1-nightly.2022-01-28")?)?; - // update_manifest(&repo, &paths).await?; - // Ok(()) - // } - #[test] fn updating_manifest() -> Result { let old_nightly = serde_yaml::from_str::( diff --git a/build/build/src/bump_version.rs b/build/build/src/bump_version.rs deleted file mode 100644 index 5ccbfb5bc564..000000000000 --- a/build/build/src/bump_version.rs +++ /dev/null @@ -1,14 +0,0 @@ -// const fs = require('fs') -// -// const path = 'build.sbt' -// const version = process.argv[2] -// const edition = process.argv[3] -// -// const content = fs.readFileSync(path, { encoding: 'utf-8' }) -// const updated = content -// .replace(/val ensoVersion.*= ".*"/, 'val ensoVersion = "' + version + '"') -// .replace(/val currentEdition.*= ".*"/, 'val currentEdition = "' + edition + '"') -// fs.writeFileSync(path, updated) -// -// console.log('Updated build version to ' + version) -// console.log('Updated build edition to ' + edition) diff --git a/build/build/src/ide/web.rs b/build/build/src/ide/web.rs index 978bed6a8c8c..8f496bc83a59 100644 --- a/build/build/src/ide/web.rs +++ b/build/build/src/ide/web.rs @@ -9,7 +9,6 @@ use crate::version::ENSO_VERSION; use anyhow::Context; use ide_ci::env::known::electron_builder::WindowsSigningCredentials; -use ide_ci::io::download_all; use ide_ci::program::command::FallibleManipulator; use ide_ci::programs::node::NpmCommand; use ide_ci::programs::Npm; @@ -36,11 +35,6 @@ lazy_static! { pub static ref BUILD_INFO: PathBuf = PathBuf::from("build.json"); } -pub const IDE_ASSETS_URL: &str = - "https://github.com/enso-org/ide-assets/archive/refs/heads/main.zip"; - -pub const ARCHIVED_ASSET_FILE: &str = "ide-assets-main/content/assets/"; - pub mod env { use super::*; @@ -148,16 +142,6 @@ impl FallibleManipulator for IconsArtifacts { } } -/// Fill the directory under `output_path` with the assets. -pub async fn download_js_assets(output_path: impl AsRef) -> Result { - let output = output_path.as_ref(); - let archived_asset_prefix = PathBuf::from(ARCHIVED_ASSET_FILE); - let archive = download_all(IDE_ASSETS_URL).await?; - let mut archive = zip::ZipArchive::new(std::io::Cursor::new(archive))?; - ide_ci::archive::zip::extract_subtree(&mut archive, &archived_asset_prefix, output)?; - Ok(()) -} - /// Get a relative path to the Project Manager executable in the PM bundle. pub fn path_to_executable_in_pm_bundle( artifact: &generated::ProjectManagerBundle, @@ -370,15 +354,3 @@ impl IdeDesktop { Ok(()) } } - -#[cfg(test)] -mod tests { - use super::*; - - #[tokio::test] - async fn download_test() -> Result { - let temp = TempDir::new()?; - download_js_assets(temp.path()).await?; - Ok(()) - } -} diff --git a/build/build/src/lib.rs b/build/build/src/lib.rs index 58d42b650b4e..0e076d2d590a 100644 --- a/build/build/src/lib.rs +++ b/build/build/src/lib.rs @@ -33,7 +33,6 @@ pub mod prelude { } pub mod aws; -pub mod bump_version; pub mod changelog; pub mod ci; pub mod ci_gen; diff --git a/build/build/src/postgres.rs b/build/build/src/postgres.rs index 9120a4fca194..d244608e3b18 100644 --- a/build/build/src/postgres.rs +++ b/build/build/src/postgres.rs @@ -226,27 +226,4 @@ mod tests { std::mem::forget(child); Ok(()) } - - #[tokio::test] - #[ignore] - async fn test_postgres() -> Result { - // let config = Configuration { - // postgres_container: ContainerId("something".into()), - // endpoint: EndpointConfiguration::deduce()?, - // version: "latest".into(), - // user: "test".into(), - // password: "test".into(), - // database_name: "test".into(), - // }; - // let child = Postgresql::start(config).await?; - // std::mem::forget(child); - // // let mut httpbin = get_and_spawn_httpbin_on_free_port().await?; - // Command::new("cmd") - // .args(["/c", - // "H:\\NBO\\enso2\\built-distribution\\enso-engine-0.2.32-SNAPSHOT-windows-amd64\\enso-0.2. - // 32-SNAPSHOT\\bin\\enso", "--no-ir-caches", "--run", - // "H:\\NBO\\enso2\\test\\Database_Tests"]).run_ok().await?; httpbin.process.kill(). - // await?; - Ok(()) - } } diff --git a/build/build/src/project.rs b/build/build/src/project.rs index 305d65014878..8e80c13df617 100644 --- a/build/build/src/project.rs +++ b/build/build/src/project.rs @@ -25,10 +25,8 @@ use octocrab::models::repos::Asset; // ============== pub mod backend; -pub mod engine; pub mod gui; pub mod ide; -pub mod project_manager; pub mod runtime; pub mod wasm; @@ -256,20 +254,6 @@ pub trait IsTarget: Clone + Debug + Sized + Send + Sync + 'static { todo!("Not implemented for target {self:?}!") } - // /// Upload the artifact as an asset to the GitHub release. - // fn upload_asset( - // &self, - // release_handle: ReleaseHandle, - // output: impl Future> + Send + 'static, - // ) -> BoxFuture<'static, Result> { - // async move { - // let artifact = output.await?; - // release_handle.upload_compressed_dir(&artifact).await?; - // Ok(()) - // } - // .boxed() - // } - fn download_asset( &self, context: Context, diff --git a/build/build/src/project/engine.rs b/build/build/src/project/engine.rs deleted file mode 100644 index 6e406dfa5732..000000000000 --- a/build/build/src/project/engine.rs +++ /dev/null @@ -1,73 +0,0 @@ -// use crate::prelude::*; -// -// use crate::engine::BuildConfigurationFlags; -// use crate::project::Context; -// use crate::project::IsArtifact; -// use crate::project::IsTarget; -// -// use ide_ci::goodie::GoodieDatabase; -// use ide_ci::ok_ready_boxed; -// -// pub use crate::project::backend::BuildInput; -// use crate::source::BuildTargetJob; -// use crate::source::WithDestination; -// -// #[derive(Clone, Debug)] -// pub struct Artifact { -// pub root: PathBuf, -// } -// -// impl AsRef for Artifact { -// fn as_ref(&self) -> &Path { -// &self.root -// } -// } -// -// impl IsArtifact for Artifact {} -// -// -// #[derive(Clone, Copy, Debug, PartialEq)] -// pub struct Engine; -// -// impl IsTarget for Engine { -// type BuildInput = BuildInput; -// type Artifact = Artifact; -// -// fn artifact_name(&self) -> String { -// "Enso Engine".into() -// } -// -// fn adapt_artifact(self, path: impl AsRef) -> BoxFuture<'static, Result> -// { ok_ready_boxed(Artifact { root: path.as_ref().into() }) -// } -// -// fn build_internal( -// &self, -// context: Context, -// job: BuildTargetJob, -// ) -> BoxFuture<'static, Result> { -// let WithDestination { inner, destination } = job; -// let this = self.clone(); -// async move { -// let paths = crate::paths::Paths::new_versions(&inner.repo_root, inner.versions)?; -// let context = crate::engine::context::RunContext { -// operation: crate::engine::Operation::Build, -// goodies: GoodieDatabase::new()?, -// config: BuildConfigurationFlags { -// clean_repo: false, -// build_engine_package: true, -// ..crate::engine::NIGHTLY -// } -// .into(), -// inner: context, -// paths, -// }; -// let artifacts = context.build().await?; -// let engine_distribution = -// artifacts.packages.engine.context("Missing Engine Distribution!")?; -// ide_ci::fs::mirror_directory(&engine_distribution.dir, &destination).await?; -// this.adapt_artifact(destination).await -// } -// .boxed() -// } -// } diff --git a/build/build/src/project/project_manager.rs b/build/build/src/project/project_manager.rs deleted file mode 100644 index 73154c8c8f15..000000000000 --- a/build/build/src/project/project_manager.rs +++ /dev/null @@ -1,72 +0,0 @@ -// use crate::prelude::*; -// -// use crate::engine::BuildConfigurationFlags; -// use crate::project::Context; -// use crate::project::IsArtifact; -// use crate::project::IsTarget; -// -// use ide_ci::goodie::GoodieDatabase; -// use ide_ci::ok_ready_boxed; -// -// pub use crate::project::backend::BuildInput; -// use crate::source::BuildTargetJob; -// use crate::source::WithDestination; -// -// #[derive(Clone, Debug)] -// pub struct Artifact { -// pub root: PathBuf, -// } -// -// impl AsRef for Artifact { -// fn as_ref(&self) -> &Path { -// &self.root -// } -// } -// -// impl IsArtifact for Artifact {} -// -// #[derive(Clone, Copy, Debug, PartialEq)] -// pub struct ProjectManager; -// -// impl IsTarget for ProjectManager { -// type BuildInput = BuildInput; -// type Artifact = Artifact; -// -// fn artifact_name(&self) -> String { -// "Enso Project Manager".into() -// } -// -// fn adapt_artifact(self, path: impl AsRef) -> BoxFuture<'static, Result> -// { ok_ready_boxed(Artifact { root: path.as_ref().into() }) -// } -// -// fn build_internal( -// &self, -// context: Context, -// job: BuildTargetJob, -// ) -> BoxFuture<'static, Result> { -// let WithDestination { inner, destination } = job; -// let this = self.clone(); -// async move { -// let paths = crate::paths::Paths::new_versions(&inner.repo_root, inner.versions)?; -// let context = crate::engine::context::RunContext { -// operation: crate::engine::Operation::Build, -// goodies: GoodieDatabase::new()?, -// config: BuildConfigurationFlags { -// clean_repo: false, -// build_project_manager_package: true, -// ..crate::engine::NIGHTLY -// } -// .into(), -// inner: context, -// paths, -// }; -// let artifacts = context.build().await?; -// let engine_distribution = -// artifacts.packages.project_manager.context("Missing Project Manager package!")?; -// ide_ci::fs::mirror_directory(&engine_distribution.dir, &destination).await?; -// this.adapt_artifact(destination).await -// } -// .boxed() -// } -// } diff --git a/build/build/src/project/wasm/test.rs b/build/build/src/project/wasm/test.rs index d4590926ee38..53c785a86822 100644 --- a/build/build/src/project/wasm/test.rs +++ b/build/build/src/project/wasm/test.rs @@ -157,7 +157,6 @@ pub async fn test_all(repo_root: PathBuf, browsers: &[Browser]) -> Result { .apply(&wasm_pack::TestFlags::Headless) .apply_iter(browser_flags.iter().copied()) .env("WASM_BINDGEN_TEST_TIMEOUT", "300") - // .args(&wasm_pack_args) .arg(member.strip_prefix(&repo_root).with_context(|| { format!( "Failed to strip prefix {} from {}. Is the test part of the repository?", diff --git a/build/ci_utils/Cargo.toml b/build/ci_utils/Cargo.toml index c6f881f4708b..ef7bc0a39c4f 100644 --- a/build/ci_utils/Cargo.toml +++ b/build/ci_utils/Cargo.toml @@ -41,7 +41,6 @@ pathdiff = "0.2.1" path-slash = "0.2.1" platforms = { workspace = true } portpicker = { workspace = true } -rand = "0.8.4" regex = { workspace = true } reqwest = { workspace = true } semver = { workspace = true } diff --git a/build/ci_utils/src/actions/artifacts.rs b/build/ci_utils/src/actions/artifacts.rs index 469d42354413..4b34432286c8 100644 --- a/build/ci_utils/src/actions/artifacts.rs +++ b/build/ci_utils/src/actions/artifacts.rs @@ -15,7 +15,6 @@ use tempfile::tempdir; // === Export === // ============== -pub mod artifact; pub mod context; pub mod download; pub mod models; diff --git a/build/ci_utils/src/actions/artifacts/artifact.rs b/build/ci_utils/src/actions/artifacts/artifact.rs deleted file mode 100644 index 8b137891791f..000000000000 --- a/build/ci_utils/src/actions/artifacts/artifact.rs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/build/ci_utils/src/actions/artifacts/models.rs b/build/ci_utils/src/actions/artifacts/models.rs index c109f2a3934d..4bab95713071 100644 --- a/build/ci_utils/src/actions/artifacts/models.rs +++ b/build/ci_utils/src/actions/artifacts/models.rs @@ -114,13 +114,8 @@ pub struct ContainerEntry { impl ContainerEntry { pub fn relative_path(&self) -> PathBuf { - //ensure!(self.path.is_relative(), "Path {} is not relative.", self.path.display()); // First part is artifact name. let path_iter = self.path.iter().skip(1); - // ensure!( - // path_iter.next() == Some(&OsStr::new(artifact_name)), - // "Entry path does not start with an artifact name." - // ); PathBuf::from_iter(path_iter) } } diff --git a/build/ci_utils/src/actions/artifacts/raw.rs b/build/ci_utils/src/actions/artifacts/raw.rs index b71cc8f1402d..d85a8b06ecc5 100644 --- a/build/ci_utils/src/actions/artifacts/raw.rs +++ b/build/ci_utils/src/actions/artifacts/raw.rs @@ -36,16 +36,8 @@ pub mod endpoints { artifact_name: impl AsRef, ) -> Result { let body = CreateArtifactRequest::new(artifact_name.as_ref(), None); - // - // dbg!(&self.json_client); - // dbg!(serde_json::to_string(&body)?); let request = json_client.post(artifact_url).json(&body).build()?; - - // dbg!(&request); - // TODO retry let response = json_client.execute(request).await?; - // dbg!(&response); - // let status = response.status(); check_response_json(response, |status, err| match status { StatusCode::FORBIDDEN => err.context( "Artifact storage quota has been hit. Unable to upload any new artifacts.", @@ -130,11 +122,7 @@ pub mod endpoints { bin_client: &reqwest::Client, artifact_location: Url, ) -> Result>> { - // debug!("Downloading {} to {}.", artifact_location, destination.as_ref().display()); - // let file = tokio::fs::File::create(destination); - let response = crate::io::web::execute(bin_client.get(artifact_location)).await?; - // let expected_size = decode_content_length(response.headers()); let is_gzipped = response .headers() .get(reqwest::header::ACCEPT_ENCODING) @@ -144,10 +132,8 @@ pub mod endpoints { if is_gzipped { let decoded_stream = async_compression::tokio::bufread::GzipDecoder::new(reader); Ok(Box::pin(decoded_stream) as Pin>) - // tokio::io::copy(&mut decoded_stream, &mut file.await?).await?; } else { Ok(Box::pin(reader) as Pin>) - // tokio::io::copy(&mut reader, &mut destination).await?; } } } @@ -216,7 +202,6 @@ pub async fn check_response( response: Response, additional_context: impl FnOnce(StatusCode, anyhow::Error) -> anyhow::Error, ) -> Result { - // dbg!(&response); let status = response.status(); if !status.is_success() { let mut err = anyhow!("Server replied with status {}.", status); diff --git a/build/ci_utils/src/buffer.rs b/build/ci_utils/src/buffer.rs deleted file mode 100644 index 8b137891791f..000000000000 --- a/build/ci_utils/src/buffer.rs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/build/ci_utils/src/extensions/command.rs b/build/ci_utils/src/extensions/command.rs index 98a3568644e9..4b55ddca9ea2 100644 --- a/build/ci_utils/src/extensions/command.rs +++ b/build/ci_utils/src/extensions/command.rs @@ -5,12 +5,6 @@ use std::fmt::Write; pub trait CommandExt { - // fn run_ok(&mut self, program: &impl Program) -> BoxFuture<'static, Result<()>>; - // - // fn output_ok(&mut self) -> BoxFuture<'static, Result>; - // // TODO: `spawn` but does logs like some other methods. They all need a naming unification - // pass. fn spawn_nicer(&mut self) -> Result; - fn as_std(&self) -> &std::process::Command; fn describe(&self) -> String { @@ -55,24 +49,4 @@ impl CommandExt for tokio::process::Command { fn as_std(&self) -> &std::process::Command { self.as_std() } - // fn run_ok(&mut self) -> BoxFuture<'static, Result<()>> { - // let pretty = self.describe(); - // debug!("Will run: {}", pretty); - // let status = self.status(); - // async move { status.await?.exit_ok().context(format!("Command failed: {}", pretty)) } - // .boxed() - // } - // - // fn output_ok(&mut self) -> BoxFuture<'static, Result> { - // let pretty = self.describe(); - // debug!("Will run: {}", pretty); - // let output = self.output(); - // async move { output.await.context(format!("Command failed: {}", pretty)) }.boxed() - // } - // - // fn spawn_nicer(&mut self) -> Result { - // let pretty = self.describe(); - // debug!("Spawning {}", pretty); - // self.spawn().context(format!("Failed to spawn: {}", pretty)) - // } } diff --git a/build/ci_utils/src/extensions/output.rs b/build/ci_utils/src/extensions/output.rs index a0b5df6e89d4..06050cf51475 100644 --- a/build/ci_utils/src/extensions/output.rs +++ b/build/ci_utils/src/extensions/output.rs @@ -6,7 +6,6 @@ use anyhow::Context; pub trait OutputExt { fn single_line_stdout(&self) -> Result; - //fn run_ok(&self) -> Result; fn describe(&self) -> String; fn stdout_as_str(&self) -> Result<&str>; @@ -23,9 +22,6 @@ impl OutputExt for std::process::Output { } } - // fn run_ok(&self) -> Result { - // self.status.exit_ok().with_context(|| self.describe()) - // } fn describe(&self) -> String { format!( "Stdout:\n{:?}\n\nStderr:\n{:?}\n", diff --git a/build/ci_utils/src/future.rs b/build/ci_utils/src/future.rs index 3e532df2cddd..a41436954c8c 100644 --- a/build/ci_utils/src/future.rs +++ b/build/ci_utils/src/future.rs @@ -70,24 +70,3 @@ where pub fn perhaps(should_do: bool, f: impl FnOnce() -> F) -> OptionFuture { should_do.then(f).into() } - -// pub fn perhaps_spawn_try<'a, F>( -// should_do: bool, -// f: impl FnOnce() -> F + 'a, -// ) -> BoxFuture<'static, Result>> -// where -// F: TryFuture + Send + 'static, -// F::Ok: Send + 'static, -// F::Error: Send + Sync + 'static, -// anyhow::Error: From, -// { -// let job = should_do.then(|| tokio::spawn(f().into_future())); -// async move { -// if let Some(job) = job { -// Ok(Some(job.await??)) -// } else { -// Ok(None) -// } -// } -// .boxed() -// } diff --git a/build/ci_utils/src/global.rs b/build/ci_utils/src/global.rs index 898bc44e2630..da1dcc4848b8 100644 --- a/build/ci_utils/src/global.rs +++ b/build/ci_utils/src/global.rs @@ -144,14 +144,3 @@ pub async fn complete_tasks() -> Result { debug!("All pending tasks have been completed."); Ok(()) } - - -// -// pub fn complete_tasks(rt: &Runtime) -> Result { -// info!("Waiting for remaining tasks to complete."); -// while let tasks = std::mem::replace(&mut GLOBAL.lock().unwrap().ongoing_tasks, default()) && -// !tasks.is_empty() { let tasks = try_join_all(tasks, AsyncPolicy::FutureParallelism); -// rt.block_on(tasks)?; -// } -// Ok(()) -// } diff --git a/build/ci_utils/src/goodies.rs b/build/ci_utils/src/goodies.rs deleted file mode 100644 index 3a50fc5063d8..000000000000 --- a/build/ci_utils/src/goodies.rs +++ /dev/null @@ -1,8 +0,0 @@ -//! Top-level module for [goodie](`crate::Goodie`) implementations. - - -// ============== -// === Export === -// ============== - -pub mod shader_tools; diff --git a/build/ci_utils/src/goodies/musl.rs b/build/ci_utils/src/goodies/musl.rs deleted file mode 100644 index 92145a070116..000000000000 --- a/build/ci_utils/src/goodies/musl.rs +++ /dev/null @@ -1,133 +0,0 @@ - - -// use crate::prelude::*; -// -// use crate::goodie::GoodieDatabase; -// -// use crate::fs::expect_dir; -// use crate::fs::expect_file; -// use crate::io::download_and_extract; -// use crate::programs::Bash; -// use lazy_static::lazy_static; -// use std::env::consts::EXE_EXTENSION; -// use std::env::consts::EXE_SUFFIX; -// -// lazy_static! { -// pub static ref PROGRAM_NAME: String = format!("{}-musl-gcc{}", filename_stem(), EXE_SUFFIX); -// } -// -// pub struct Gcc; -// -// impl Program for Gcc { -// fn executable_name(&self) -> &'static str { -// &PROGRAM_NAME -// } -// } -// -// pub struct Musl; -// -// pub struct Instance { -// directory: PathBuf, -// } -// -// impl crate::goodie::Instance for Instance { -// fn add_to_environment(&self) -> anyhow::Result<()> { -// crate::env::set_var("TOOLCHAIN_DIR", &self.directory); -// crate::env::prepend_to_path(self.directory.join("bin")) -// } -// } -// -// #[async_trait] -// impl Goodie for Musl { -// const NAME: &'static str = "musl libc toolchain"; -// type Instance = Instance; -// -// async fn is_already_available(&self) -> Result { -// Ok(Gcc.lookup().is_ok()) -// } -// -// async fn lookup(&self, database: &GoodieDatabase) -> Result { -// database.find_dir("musl").map(|directory| Instance { directory }) -// } -// -// async fn install(&self, database: &GoodieDatabase) -> Result { -// // Reportedly for my "convenience". :( -// let archive_format = if TARGET_OS == OS::Windows { "zip" } else { "tgz" }; -// let url = format!( -// "https://more.musl.cc/10.2.1/x86_64-linux-musl/{}.{}", -// filename_stem(), -// archive_format -// ); -// // let url = format!("https://musl.cc/{}.{}", filename_stem(), archive_format); -// let downloaded_dir = database.root_directory.join(filename_stem()); -// let target_dir = database.root_directory.join("musl"); -// crate::fs::reset_dir(&downloaded_dir)?; -// crate::fs::reset_dir(&target_dir)?; -// // let result = (async move || -> Result { -// crate::io::download_and_extract(url.clone(), &database.root_directory).await?; -// add_zlib(&downloaded_dir).await?; -// // Ok(()) -// // })().await; -// // if result.is_err() { -// // crate::io::remove_dir_if_exists(&downloaded_dir)?; -// // crate::io::remove_dir_if_exists(&target_dir)?; -// // }; -// // result?; -// std::fs::rename(downloaded_dir, target_dir)?; -// self.lookup(database).await -// } -// } -// -// pub async fn add_zlib(musl_toolchain: &Path) -> Result { -// let temp = tempfile::tempdir()?; -// let zlib_url = Url::from_str("http://www.zlib.net/zlib-1.2.11.tar.gz")?; -// let zlib_dirname = PathBuf::from("zlib-1.2.11"); -// download_and_extract(zlib_url, &temp).await?; -// let zlib_path = temp.path().join(zlib_dirname); -// expect_dir(&zlib_path)?; -// let gcc_path = musl_toolchain.join_iter(["bin", -// "gcc"]).with_appended_extension(EXE_EXTENSION); expect_file(&gcc_path)?; -// -// Bash.run_command()? -// .arg("./configure --prefix=$TOOLCHAIN_DIR --static && make && make install") -// .env("CC", &gcc_path) -// .env("TOOLCHAIN_DIR", musl_toolchain) -// .current_dir(&zlib_path) -// .run_ok() -// .await?; -// -// Ok(()) -// } -// -// pub fn target_path() -> String { -// let os_name = match TARGET_OS { -// OS::Linux => "linux", -// OS::Windows => "w64", -// other_os => unimplemented!("System `{}` is not supported!", other_os), -// }; -// -// let arch_name = match TARGET_ARCH { -// Arch::X86_64 => "x86_64", -// Arch::AArch64 => "aarch64", -// other_arch => unimplemented!("Architecture `{}` is not supported!", other_arch), -// }; -// -// let name: &[&str] = if TARGET_OS == OS::Windows { &[] } else { &["musl"] }; -// [arch_name, os_name].iter().chain(name).join("-") -// } -// -// pub fn filename_stem() -> String { -// format!("{}-native", target_path()) -// } -// -// #[cfg(test)] -// mod tests { -// use super::*; -// -// #[tokio::test] -// async fn musl_get_test() -> Result { -// let db = GoodieDatabase::new()?; -// db.require(&Musl).await?; -// Ok(()) -// } -// } diff --git a/build/ci_utils/src/goodies/sbt.rs b/build/ci_utils/src/goodies/sbt.rs deleted file mode 100644 index c4830cb8de5c..000000000000 --- a/build/ci_utils/src/goodies/sbt.rs +++ /dev/null @@ -1,37 +0,0 @@ - - -// use crate::goodie::GoodieDatabase; -// use crate::prelude::*; -// use crate::programs; -// -// pub struct Sbt; -// -// pub struct Instance { -// directory: PathBuf, -// } -// -// impl crate::goodie::Instance for Instance { -// fn add_to_environment(&self) -> anyhow::Result<()> { -// crate::env::prepend_to_path(self.directory.join("bin")) -// } -// } -// -// #[async_trait] -// impl Goodie for Sbt { -// const NAME: &'static str = "SBT"; -// type Instance = Instance; -// -// async fn is_already_available(&self) -> Result { -// Ok(programs::Sbt.lookup().is_ok()) -// } -// -// async fn lookup(&self, database: &GoodieDatabase) -> Result { -// database.find_dir("sbt").map(|directory| Instance { directory }) -// } -// -// async fn install(&self, database: &GoodieDatabase) -> Result { -// let url = "https://github.com/sbt/sbt/releases/download/v1.5.5/sbt-1.5.5.tgz"; -// crate::io::download_and_extract(url.clone(), &database.root_directory).await?; -// self.lookup(database).await -// } -// } diff --git a/build/ci_utils/src/goodies/shader_tools.rs b/build/ci_utils/src/goodies/shader_tools.rs deleted file mode 100644 index 66e9703b6b43..000000000000 --- a/build/ci_utils/src/goodies/shader_tools.rs +++ /dev/null @@ -1,79 +0,0 @@ -//! Shader Tools is our collection of tools for working with shaders. -//! -//! The included programs are: -//! * [glslc](Glslc); -//! * [spirv-opt](SpirvOpt); -//! * [spirv-cross](SpirvCross). -//! -//! This module only deals with downloading and activating the tools. The code for building and -//! uploading the tools package is in the `enso-build-shader-tools` crate. - -use crate::prelude::*; - -use crate::cache::goodie; -use crate::cache::Cache; -use crate::env::known::PATH; -use crate::github::RepoRef; -use crate::programs::shaderc::Glslc; -use crate::programs::shaderc::SpirvOpt; -use crate::programs::spirv_cross::SpirvCross; - - - -// ================= -// === Constants === -// ================= - -/// Repository where we store releases of the shader tools. -pub const SHADER_TOOLS_REPO: RepoRef = RepoRef { owner: "enso-org", name: "shader-tools" }; - -/// Version of the shader tools package that we download. -pub const VERSION: Version = Version::new(0, 2, 0); - - -// ========================= -// === Asset description === -// ========================= - -pub fn asset_name(os: OS) -> String { - // At the moment we don't have non-x64 binaries, so we can hardcode the architecture. - let arch = Arch::X86_64; - format!("shader-tools-{os}-{arch}.tar.gz") -} - - -// ========================= -// === Goodie definition === -// ========================= - -#[derive(Clone, Copy, Debug, Default)] -pub struct ShaderTools; - -impl Goodie for ShaderTools { - fn get(&self, cache: &Cache) -> BoxFuture<'static, Result> { - let url = SHADER_TOOLS_REPO.url().and_then(|url_base| { - let asset = asset_name(TARGET_OS); - let suffix = format!("releases/download/{VERSION}/{asset}"); - url_base - .join(&suffix) - .with_context(|| "Failed to append suffix {suffix} to URL {url_base}") - }); - goodie::download_try_url(url, cache) - } - - fn is_active(&self) -> BoxFuture<'static, Result> { - async move { - let glslc = Glslc.lookup(); - let spirv_cross = SpirvCross.lookup(); - let spirv_opt = SpirvOpt.lookup(); - Ok(glslc.is_ok() && spirv_cross.is_ok() && spirv_opt.is_ok()) - } - .boxed() - } - - fn activation_env_changes(&self, package_path: &Path) -> Result> { - let path = package_path.join_iter(["bin"]); - let path = crate::env::Modification::prepend_path(&PATH, path); - Ok(vec![path]) - } -} diff --git a/build/ci_utils/src/lib.rs b/build/ci_utils/src/lib.rs index 3f2f6b007969..449d570d8900 100644 --- a/build/ci_utils/src/lib.rs +++ b/build/ci_utils/src/lib.rs @@ -28,7 +28,6 @@ pub mod actions; pub mod archive; -pub mod buffer; pub mod cache; pub mod ci; pub mod deploy; @@ -39,7 +38,6 @@ pub mod fs; pub mod future; pub mod github; pub mod global; -pub mod goodies; pub mod io; pub mod log; pub mod models; diff --git a/build/ci_utils/src/program.rs b/build/ci_utils/src/program.rs index 3cda07a10dc8..13597c0a41ff 100644 --- a/build/ci_utils/src/program.rs +++ b/build/ci_utils/src/program.rs @@ -12,7 +12,6 @@ pub mod location; pub mod resolver; pub mod shell; pub mod version; -pub mod with_cwd; pub use command::Command; pub use resolver::Resolver; diff --git a/build/ci_utils/src/program/command.rs b/build/ci_utils/src/program/command.rs index 7131b8838738..a0f5fe6d65fc 100644 --- a/build/ci_utils/src/program/command.rs +++ b/build/ci_utils/src/program/command.rs @@ -232,23 +232,6 @@ pub trait IsCommandWrapper { self } - // fn spawn(&mut self) -> Result { - // self.borrow_mut_command().spawn().anyhow_err() - // } - // - // - // fn status(&mut self) -> BoxFuture<'static, Result> { - // let fut = self.borrow_mut_command().status(); - // async move { fut.await.anyhow_err() }.boxed() - // } - // - // fn output(&mut self) -> BoxFuture<'static, Result> { - // let fut = self.borrow_mut_command().output(); - // async move { fut.await.anyhow_err() }.boxed() - // } - - - /// Value-based variant of [`Self::current_dir`], for convenience. fn with_current_dir(self, dir: impl AsRef) -> Self where Self: Sized { @@ -424,16 +407,6 @@ impl Command { } }) } - - // pub fn status(&mut self) -> BoxFuture<'static, Result> { - // let fut = self.borrow_mut_command().status(); - // async move { fut.await.anyhow_err() }.boxed() - // } - // - // pub fn output(&mut self) -> BoxFuture<'static, Result> { - // let fut = self.borrow_mut_command().output(); - // async move { fut.await.anyhow_err() }.boxed() - // } } impl Command { @@ -533,60 +506,3 @@ impl Manipulator for Option { pub trait FallibleManipulator { fn try_applying(&self, command: &mut C) -> Result; } - - -#[cfg(test)] -mod tests { - // use super::*; - // use crate::global::new_spinner; - // // use crate::global::println; - // use tokio::io::AsyncBufReadExt; - // use tokio::io::AsyncRead; - // use tokio::io::BufReader; - // use tokio::process::ChildStdout; - // use tokio::task::JoinHandle; - - // pub fn spawn_log_processor( - // prefix: String, - // out: impl AsyncRead + Send + Unpin + 'static, - // ) -> JoinHandle { - // tokio::task::spawn(async move { - // let bufread = BufReader::new(out); - // let mut lines = bufread.lines(); - // while let Some(line) = lines.next_line().await? { - // println(format!("{} {}", prefix, line)) - // } - // println(format!("{} {}", prefix, "")); - // Result::Ok(()) - // }) - // }U - // - // pub fn spawn_logged(cmd: &mut Command) { - // cmd.stdout(Stdio::piped()); - // cmd.stderr(Stdio::piped()); - // } - // - // #[tokio::test] - // async fn test_cmd_out_interception() -> Result { - // pretty_env_logger::init(); - // let mut cmd = Command::new("cargo"); - // cmd.arg("update"); - // cmd.stdout(Stdio::piped()); - // cmd.stderr(Stdio::piped()); - // - // let mut child = cmd.spawn()?; - // spawn_log_processor("[out]".into(), child.stdout.take().unwrap()); - // spawn_log_processor("[err]".into(), child.stderr.take().unwrap()); - // let bar = new_spinner(format!("Running {:?}", cmd)); - // child.wait().await?; - // Ok(()) - // } - // - // #[tokio::test] - // async fn spawning() -> Result { - // println!("Start"); - // tokio::process::Command::new("python").spawn()?.wait().await?; - // println!("Finish"); - // Ok(()) - // } -} diff --git a/build/ci_utils/src/program/with_cwd.rs b/build/ci_utils/src/program/with_cwd.rs deleted file mode 100644 index cfbdeacb0ac9..000000000000 --- a/build/ci_utils/src/program/with_cwd.rs +++ /dev/null @@ -1,26 +0,0 @@ -use crate::prelude::*; - - - -/// Wrapper over a program that invokes it with a given working directory. -#[derive(Clone, Debug, Default)] -pub struct WithCwd { - pub working_directory: Option, - pub underlying_program: T, -} - -impl Program for WithCwd { - fn executable_name(&self) -> &str { - self.underlying_program.executable_name() - } - - fn current_directory(&self) -> Option { - self.working_directory.clone() - } -} - -impl WithCwd { - pub fn new(underlying_program: T, working_directory: impl Into) -> Self { - Self { underlying_program, working_directory: Some(working_directory.into()) } - } -} diff --git a/build/ci_utils/src/programs.rs b/build/ci_utils/src/programs.rs index ee0cebc957b8..f4d6ac3000ca 100644 --- a/build/ci_utils/src/programs.rs +++ b/build/ci_utils/src/programs.rs @@ -23,9 +23,7 @@ pub mod rustup; pub mod sbt; pub mod seven_zip; pub mod sh; -pub mod shaderc; pub mod signtool; -pub mod spirv_cross; pub mod strip; pub mod tar; pub mod vs; diff --git a/build/ci_utils/src/programs/shaderc.rs b/build/ci_utils/src/programs/shaderc.rs deleted file mode 100644 index 47aa80731837..000000000000 --- a/build/ci_utils/src/programs/shaderc.rs +++ /dev/null @@ -1,36 +0,0 @@ -//! A collection of tools, libraries, and tests for Vulkan shader compilation. -//! -//! See the [GitHub repository](https://github.com/google/shaderc) for more information. - -use crate::prelude::*; - - - -// ============= -// === glslc === -// ============= - -/// A command-line GLSL/HLSL to SPIR-V compiler with Clang-compatible arguments. -#[derive(Clone, Copy, Debug, Default)] -pub struct Glslc; - -impl Program for Glslc { - fn executable_name(&self) -> &'static str { - "glslc" - } -} - - -// ================= -// === spirv-opt === -// ================= - -/// SPIR-V Optimizer. -#[derive(Clone, Copy, Debug, Default)] -pub struct SpirvOpt; - -impl Program for SpirvOpt { - fn executable_name(&self) -> &'static str { - "spirv-opt" - } -} diff --git a/build/ci_utils/src/programs/spirv_cross.rs b/build/ci_utils/src/programs/spirv_cross.rs deleted file mode 100644 index 0a6f2bcc8a86..000000000000 --- a/build/ci_utils/src/programs/spirv_cross.rs +++ /dev/null @@ -1,16 +0,0 @@ -//! Wrapper for [spirv-cross](https://github.com/KhronosGroup/SPIRV-Cross). - -use crate::prelude::Program; - - - -/// SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and -/// disassembling SPIR-V back to high level languages. -#[derive(Clone, Copy, Debug, Default)] -pub struct SpirvCross; - -impl Program for SpirvCross { - fn executable_name(&self) -> &'static str { - "spirv-cross" - } -} diff --git a/build/cli/Cargo.toml b/build/cli/Cargo.toml index 17ddf79fe3ad..ac4012992667 100644 --- a/build/cli/Cargo.toml +++ b/build/cli/Cargo.toml @@ -7,20 +7,15 @@ default-run = "enso-build-cli" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] anyhow = { workspace = true } -byte-unit = { workspace = true } clap = { workspace = true } derivative = { workspace = true } enso-build-base = { path = "../base" } enso-build = { path = "../build" } enso-formatter = { path = "../enso-formatter" } futures-util = "0.3.17" -glob = "0.3.0" -humantime = "2.1.0" ide-ci = { path = "../ci_utils" } octocrab = { workspace = true } -tempfile = "3.2.0" tokio = { workspace = true } -toml = "0.5.9" tracing = { workspace = true } [lints] diff --git a/build/cli/src/arg.rs b/build/cli/src/arg.rs index c256b845ee76..13e001f5c22a 100644 --- a/build/cli/src/arg.rs +++ b/build/cli/src/arg.rs @@ -23,12 +23,10 @@ use octocrab::models::RunId; // ============== pub mod backend; -pub mod engine; pub mod git_clean; pub mod gui; pub mod ide; pub mod java_gen; -pub mod project_manager; pub mod release; pub mod runtime; pub mod wasm; diff --git a/build/cli/src/arg/engine.rs b/build/cli/src/arg/engine.rs deleted file mode 100644 index 02cd816798a9..000000000000 --- a/build/cli/src/arg/engine.rs +++ /dev/null @@ -1,17 +0,0 @@ -// use enso_build::prelude::*; -// -// use crate::arg::Source; -// use crate::source_args_hlp; -// use clap::Args; -// // use enso_build::project::engine::Engine; -// -// source_args_hlp!(Engine, "engine", BuildInput); -// -// #[derive(Args, Clone, Debug, PartialEq)] -// pub struct BuildInput {} -// -// #[derive(Args, Clone, Debug)] -// pub struct Target { -// #[clap(flatten)] -// pub source: Source, -// } diff --git a/build/cli/src/arg/project_manager.rs b/build/cli/src/arg/project_manager.rs deleted file mode 100644 index cfbd9b969814..000000000000 --- a/build/cli/src/arg/project_manager.rs +++ /dev/null @@ -1,18 +0,0 @@ -// use enso_build::prelude::*; -// -// use crate::arg::Source; -// use crate::source_args_hlp; -// use enso_build::project::project_manager::ProjectManager; -// -// use clap::Args; -// -// source_args_hlp!(ProjectManager, "project-manager", BuildInput); -// -// #[derive(Args, Clone, Debug, PartialEq)] -// pub struct BuildInput {} -// -// #[derive(Args, Clone, Debug)] -// pub struct Target { -// #[clap(flatten)] -// pub source: Source, -// } diff --git a/build/cli/src/bin/enso-build4/main.rs b/build/cli/src/bin/enso-build4/main.rs deleted file mode 100644 index 41435ed5d32a..000000000000 --- a/build/cli/src/bin/enso-build4/main.rs +++ /dev/null @@ -1,24 +0,0 @@ -use enso_build::prelude::*; - -use ide_ci::actions::workflow::MessageLevel; - - - -#[tokio::main] -async fn main() -> Result { - setup_logging()?; - - ide_ci::actions::workflow::debug("Debug"); - ide_ci::actions::workflow::message(MessageLevel::Debug, "Debug2"); - ide_ci::actions::workflow::message(MessageLevel::Notice, "Notice"); - ide_ci::actions::workflow::message(MessageLevel::Warning, "Warning"); - ide_ci::actions::workflow::message(MessageLevel::Error, "Error"); - - println!("Hello"); - trace!("Hello"); - debug!("Hello"); - info!("Hello"); - warn!("Hello"); - error!("Hello"); - Ok(()) -} diff --git a/build/cli/src/bin/enso-disable-wasm-opt.rs b/build/cli/src/bin/enso-disable-wasm-opt.rs deleted file mode 100644 index 388defac1ba8..000000000000 --- a/build/cli/src/bin/enso-disable-wasm-opt.rs +++ /dev/null @@ -1,87 +0,0 @@ -//! This script is used to disable the `wasm-opt` optimization in the crates that can be used as -//! WASM entry points. Unfortunately, wasm-opt does not allow for disabling wasm-opt through a -//! command line flag, so we have to disable it by setting an appropriate flag in each Cargo.toml. - -// === Features === -#![feature(associated_type_bounds)] - -use enso_build_cli::prelude::*; - -use enso_build::paths::parent_cargo_toml; -use enso_build::repo::deduce_repository_path; - - - -/// Path in the Cargo.toml file where the `wasm-opt` flag is stored. -/// -/// This flag controls whether wasm-pack shall invoke wasm-opt on the generated wasm file. -const WASM_OPT_PATH: [&str; 6] = - ["package", "metadata", "wasm-pack", "profile", "release", "wasm-opt"]; - -/// Piece of code that will disable wasm-opt when added to Cargo.toml. -pub fn suffix_that_disables_wasm_opt() -> String { - let without_last = WASM_OPT_PATH[..WASM_OPT_PATH.len() - 1].join("."); - let last = WASM_OPT_PATH.last().unwrap(); - format!( - r#" -# Stop wasm-pack from running wasm-opt, because we run it from our build scripts in order to customize options. -[{without_last}] -{last} = false"# - ) -} - -/// Check if the Rust source file under given path contains a WASM entry point. -pub fn contains_entry_point(path: impl AsRef) -> Result { - Ok(ide_ci::fs::read_to_string(path)?.contains("#[entry_point")) -} - -/// Retrieve item by repeatedly indexing. -pub fn traverse( - item: &toml::Value, - keys: impl IntoIterator>, -) -> Option<&toml::Value> { - keys.into_iter().try_fold(item, |item, key| item.get(key.as_ref())) -} - -/// Check if the given (parsed) Cargo.toml has already disabled wasm-opt. -fn has_wasm_opt_disabled(document: &toml::Value) -> bool { - let wasm_opt_entry = traverse(document, WASM_OPT_PATH); - wasm_opt_entry.and_then(toml::Value::as_bool).contains(&false) -} - -/// Disable wasm-opt in the Cargo.toml file. -/// -/// Does nothing if wasm-opt is already disabled. -fn disable_wasm_opt_in_cargo_toml(path: impl AsRef) -> Result { - assert!(path.as_ref().is_file()); - assert_eq!(path.as_ref().file_name().unwrap(), "Cargo.toml"); - let doc = toml::Value::from_str(&ide_ci::fs::read_to_string(&path)?)?; - if !has_wasm_opt_disabled(&doc) { - info!("Disabling wasm-opt in {}", path.as_ref().display()); - ide_ci::fs::append(path, suffix_that_disables_wasm_opt())?; - } else { - info!("wasm-opt is already disabled in {}", path.as_ref().display()); - } - Ok(()) -} - -#[tokio::main] -async fn main() -> Result { - setup_logging()?; - let root = deduce_repository_path()?; - let rs_source_glob = PathBuf::from_iter([root.as_str(), "**", "*.rs"]).display().to_string(); - info!("Searching for Rust source files in {}", rs_source_glob); - let rs_files = glob::glob(&rs_source_glob)?.try_collect_vec()?; - info!("Completed source discovery. Found {} files.", rs_files.len()); - - let entry_points: Vec<_> = rs_files.into_iter().try_filter(|p| contains_entry_point(p))?; - info!("{} of them are entry points.", entry_points.len()); - - let cargo_tomls: BTreeSet<_> = entry_points.into_iter().try_map(parent_cargo_toml)?; - info!("They belong to {} crates.", cargo_tomls.len()); - - for cargo_toml in &cargo_tomls { - disable_wasm_opt_in_cargo_toml(cargo_toml)?; - } - Ok(()) -} diff --git a/build/install/Cargo.toml b/build/install/Cargo.toml index 05995b58835d..804edd0a1ed4 100644 --- a/build/install/Cargo.toml +++ b/build/install/Cargo.toml @@ -8,18 +8,12 @@ edition = "2021" [dependencies] chrono = { workspace = true } dirs = { workspace = true } -enso-build-base = { path = "../base" } enso-install-config = { path = "config" } -flate2 = { workspace = true } ide-ci = { path = "../ci_utils" } -indicatif = { workspace = true } named-lock = "0.4.1" -self-replace = "1.3.7" serde_json = { workspace = true } strum = { workspace = true } sysinfo = { workspace = true } -tar = { workspace = true } -tokio = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } windows = { version = "0.53.0", features = [ diff --git a/build/install/installer/Cargo.toml b/build/install/installer/Cargo.toml index d33e205509a5..270ac3fd39d0 100644 --- a/build/install/installer/Cargo.toml +++ b/build/install/installer/Cargo.toml @@ -7,7 +7,6 @@ edition = "2021" anyhow = { workspace = true } byte-unit = { workspace = true } chrono = { workspace = true } -enso-build-base = { path = "../../base" } enso-install = { path = ".." } enso-install-config = { path = "../config" } flate2 = { workspace = true } @@ -15,11 +14,6 @@ ide-ci = { path = "../../ci_utils" } serde_json = { workspace = true } sysinfo = { workspace = true } tar = { workspace = true } -tokio = { workspace = true } -tracing = { workspace = true } -tracing-subscriber = { workspace = true } -windows = { workspace = true } -winapi = "0.3" [target.'cfg(windows)'.dependencies] native-windows-gui = { workspace = true } diff --git a/build/install/uninstaller/Cargo.toml b/build/install/uninstaller/Cargo.toml index b667f8307141..fee9141798e3 100644 --- a/build/install/uninstaller/Cargo.toml +++ b/build/install/uninstaller/Cargo.toml @@ -7,8 +7,6 @@ edition = "2021" [dependencies] anyhow = { workspace = true } -enso-build-base = { path = "../../base" } -enso-build = { path = "../../build" } enso-install = { path = ".." } enso-install-config = { path = "../config" } ide-ci = { path = "../../ci_utils" }