Build script fixes & improvements (#8285)

This commit is contained in:
Michał Wawrzyniec Urbańczyk 2023-11-23 21:19:31 +01:00 committed by GitHub
parent 36996c8938
commit 8021109d8c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 193 additions and 804 deletions

View File

@ -56,7 +56,6 @@ jobs:
- run: ./run backend get
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LC_ALL: C.UTF-8
- if: failure() && runner.os == 'Windows'
name: List files if failed (Windows)
run: Get-ChildItem -Force -Recurse
@ -113,7 +112,6 @@ jobs:
- run: ./run backend get
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LC_ALL: C.UTF-8
- if: failure() && runner.os == 'Windows'
name: List files if failed (Windows)
run: Get-ChildItem -Force -Recurse
@ -172,7 +170,6 @@ jobs:
- run: ./run backend get
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LC_ALL: C.UTF-8
- if: failure() && runner.os == 'Windows'
name: List files if failed (Windows)
run: Get-ChildItem -Force -Recurse

View File

@ -70,7 +70,6 @@ jobs:
AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LC_ALL: C.UTF-8
- if: success() || failure()
name: Engine Test Reporter
uses: dorny/test-reporter@v1
@ -150,7 +149,6 @@ jobs:
AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LC_ALL: C.UTF-8
- if: success() || failure()
name: Engine Test Reporter
uses: dorny/test-reporter@v1
@ -232,7 +230,6 @@ jobs:
AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LC_ALL: C.UTF-8
- if: success() || failure()
name: Engine Test Reporter
uses: dorny/test-reporter@v1

739
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -85,13 +85,17 @@ debug-assertions = true
# We are tryingto maintain minimum set of dependencies. Before adding a new dependency, consult it
# with the core development team. Thank you!
console-subscriber = "0.1.8"
nix = "0.26.1"
dirs = { version = "5.0.1" }
nix = { version = "0.27.1" }
octocrab = { git = "https://github.com/enso-org/octocrab", default-features = false, features = [
"rustls",
] }
platforms = { version = "3.2.0", features = ["serde"] }
regex = { version = "1.6.0" }
serde = { version = "1.0.130", features = ["derive", "rc"] }
serde_yaml = { version = "0.9.16" }
serde-wasm-bindgen = { version = "0.4.5" }
sysinfo = { version = "0.29.10" }
tokio = { version = "1.23.0", features = ["full", "tracing"] }
tokio-stream = { version = "0.1.12", features = ["fs"] }
tokio-util = { version = "0.7.4", features = ["full"] }
@ -126,7 +130,8 @@ bytes = { version = "1.1.0" }
matches = { version = "0.1" }
console_error_panic_hook = { version = "0.1.6" }
reqwest = { version = "0.11.5", default-features = false, features = [
"rustls-tls"
"rustls-tls",
"stream"
] }
proc-macro2 = { version = "1.0.50" }
syn = { version = "2.0", features = [

View File

@ -53,7 +53,7 @@ js-sys = { workspace = true }
mockall = { version = "0.7.1", features = ["nightly"] }
nalgebra = { workspace = true }
semver = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
serde_json = { workspace = true }
sha3 = { version = "0.8.2" }
superslice = { workspace = true }

View File

@ -18,7 +18,7 @@ enso-text = { path = "../../../../lib/rust/text" }
const_format = { workspace = true }
failure = { workspace = true }
itertools = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
uuid = { version = "0.8", features = ["serde", "v4", "wasm-bindgen"] }
[dev-dependencies]

View File

@ -19,7 +19,7 @@ futures = { workspace = true }
hex = { version = "0.4.2" }
json-rpc = { path = "../../../../lib/rust/json-rpc" }
mockall = { version = "0.7.1", features = ["nightly"] }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
serde_json = { workspace = true }
sha3 = { version = "0.8.2" }
strum = { workspace = true }

View File

@ -7,7 +7,7 @@ authors = ["Enso Team <contact@enso.org>"]
[dependencies]
chrono = { version = "0.4.19", features = ["serde"] }
csv = "1.1"
serde = { version = "1", features = ["derive"] }
serde = { workspace = true }
enso-profiler = { path = "../../../lib/rust/profiler" }
enso-profiler-data = { path = "../../../lib/rust/profiler/data" }
ensogl-core = { path = "../../../lib/rust/ensogl/core" }

View File

@ -12,7 +12,7 @@ derive_more = { workspace = true }
failure = { workspace = true }
lazy_static = { workspace = true }
regex = { workspace = true }
serde = { version = "1.0", features = ["derive", "rc"] }
serde = { workspace = true }
uuid = { version = "0.8.1", features = ["serde", "v4", "wasm-bindgen"] }
ast-macros = { path = "../macros" }
enso-data-structures = { path = "../../../../../lib/rust/data-structures" }

View File

@ -12,7 +12,7 @@ ast = { path = "../ast/impl" }
enso-parser = { path = "../../../../lib/rust/parser" }
enso-prelude = { path = "../../../../lib/rust/prelude" }
enso-profiler = { path = "../../../../lib/rust/profiler" }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
serde_json = { version = "1.0", features = ["unbounded_depth"] }
enso-text = { path = "../../../../lib/rust/text" }
failure = { version = "0.1" }

View File

@ -23,7 +23,7 @@ ensogl-icons = { path = "../../../lib/rust/ensogl/component/icons" }
flo_stream = { version = "0.4.0" }
failure = { workspace = true }
enso-notification = { path = "../../../lib/rust/notification" }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
serde_json = "1.0"
[dev-dependencies]

View File

@ -33,7 +33,7 @@ multi-map = { workspace = true }
nalgebra = { workspace = true }
ordered-float = { workspace = true }
serde_json = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
strum = { workspace = true }
uuid = { version = "0.8", features = ["serde", "v4", "wasm-bindgen"] }
wasm-bindgen = { workspace = true }

View File

@ -33,7 +33,7 @@ js-sys = { workspace = true }
nalgebra = { workspace = true }
ordered-float = { workspace = true }
parser = { path = "../../language/parser" }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
serde-wasm-bindgen = { workspace = true }
serde_json = { workspace = true }
sourcemap = "6.0"

View File

@ -6,80 +6,48 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
anyhow = { workspace = true }
async-compression = "0.3.12"
async-trait = "0.1.51"
aws-config = "0.49.0"
aws-sdk-ecr = "0.19.0"
aws-sdk-s3 = "0.19.0"
base64 = "0.13.0"
bytes = { workspace = true }
byte-unit = { workspace = true }
cached = "0.39.0"
cfg-if = "1.0.0"
chrono = { version = "0.4.19", features = ["serde"] }
clap = { version = "3.1.5", features = ["derive", "env", "wrap_help"] }
derivative = { workspace = true }
derive_more = { workspace = true }
dirs = "4.0.0"
filetime = "0.2.15"
flate2 = "1.0.22"
flume = "0.10.10"
fs_extra = "1.2.0"
dirs = { workspace = true }
futures = { workspace = true }
futures-util = "0.3.17"
glob = "0.3.0"
#graphql_client = "0.10.0"
handlebars = "4.3.5"
heck = "0.4.0"
humantime = "2.1.0"
enso-build-base = { path = "../base" }
enso-enso-font = { path = "../../lib/rust/enso-font" }
enso-font = { path = "../../lib/rust/font" }
ensogl-pack = { path = "../../lib/rust/ensogl/pack" }
ide-ci = { path = "../ci_utils" }
indexmap = "1.7.0"
indicatif = "0.17.1"
itertools = { workspace = true }
lazy_static = { workspace = true }
#git2 = "0.13.25"
mime = "0.3.16"
new_mime_guess = "4.0.1"
nix = { workspace = true }
octocrab = { workspace = true }
ouroboros = "0.15.0"
paste = { workspace = true }
path-absolutize = "3.0.11"
path-slash = "0.2.1"
platforms = { version = "3.0.0", features = ["serde"] }
pin-project = "1.0.8"
port_check = "0.1.5"
pretty_env_logger = "0.4.0"
pulldown-cmark = "0.9.1"
rand = "0.8.4"
regex = { workspace = true }
reqwest = { version = "0.11.5", default-features = false, features = [
"stream"
] }
reqwest = { workspace = true }
semver = { workspace = true }
serde = { version = "1.0.130", features = ["derive"] }
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
scopeguard = "1.1.0"
strum = { workspace = true }
sysinfo = "0.26.2"
tar = "0.4.37"
sysinfo = { workspace = true }
tempfile = "3.2.0"
toml = "0.5.8"
tokio = { workspace = true }
tracing = { version = "0.1.37" }
tracing-subscriber = "0.3.11"
console-subscriber = { workspace = true }
unicase = "2.6.0"
url = "2.2.2"
uuid = { version = "1.1.0", features = ["v4"] }
walkdir = "2.3.2"
which = "4.2.2"
whoami = "1.2.1"
zip = { version = "0.6.2", default-features = false, features = ["deflate"] }
[build-dependencies]

View File

@ -167,12 +167,7 @@ impl JobArchetype for BuildWasm {
pub struct BuildBackend;
impl JobArchetype for BuildBackend {
fn job(&self, os: OS) -> Job {
plain_job_customized(&os, "Build Backend", "backend get", |step| {
let step = step
// This prevents https://github.com/sbt/sbt-assembly/issues/496
.with_env("LC_ALL", "C.UTF-8");
vec![step]
})
plain_job(&os, "Build Backend", "backend get")
}
}
@ -250,8 +245,8 @@ pub fn expose_os_specific_signing_secret(os: OS, step: Step) -> Step {
secret::APPLE_NOTARIZATION_TEAM_ID,
&crate::ide::web::env::APPLETEAMID,
)
.with_env(&crate::ide::web::env::CSC_IDENTITY_AUTO_DISCOVERY, "true")
.with_env(&crate::ide::web::env::CSC_FOR_PULL_REQUEST, "true"),
.with_env(crate::ide::web::env::CSC_IDENTITY_AUTO_DISCOVERY, "true")
.with_env(crate::ide::web::env::CSC_FOR_PULL_REQUEST, "true"),
_ => step,
}
}
@ -334,9 +329,7 @@ impl JobArchetype for CiCheckBackend {
.with_secret_exposed_as(
secret::ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY,
crate::aws::env::AWS_SECRET_ACCESS_KEY,
)
// This prevents https://github.com/sbt/sbt-assembly/issues/496
.with_env("LC_ALL", "C.UTF-8");
);
vec![main_step, step::engine_test_reporter(os), step::stdlib_test_reporter(os)]
})
.with_permission(Permission::Checks, Access::Write)

View File

@ -39,6 +39,8 @@ impl CommandProvider for Context {
for property in &self.system_properties {
cmd.args(property);
}
// This prevents https://github.com/sbt/sbt-assembly/issues/496
cmd.env(ide_ci::env::known::LC_ALL, ide_ci::env::known::C_UTF8);
Ok(cmd)
}
}

View File

@ -43,6 +43,9 @@ async fn main() -> Result {
ide_ci::fs::tokio::write(path, contents).await?;
}
warn!("Remember to run formatter on the generated files!");
// Ensure that generated files are properly formatted.
enso_build::web::install(&repo_root).await?;
enso_build::web::run_script(&repo_root, enso_build::web::Script::Format).await?;
Ok(())
}

View File

@ -11,31 +11,24 @@ async-trait = "0.1.51"
bincode = "1.3.3"
byte-unit = { workspace = true }
bytes = { workspace = true }
cached = "0.39.0"
convert_case = { workspace = true }
cfg-if = "1.0.0"
chrono = { version = "0.4.19", features = ["serde"] }
clap = { version = "3.1.5", features = ["derive", "env"] }
cron = "0.12.0"
data-encoding = "2.3.2"
dependency_runner = "1.0.0"
derivative = { workspace = true }
derive_more = { workspace = true }
dirs = "4.0.0"
dirs = { workspace = true }
enso-build-base = { path = "../base" }
enso-zst = { path = "../../lib/rust/zst" }
filetime = "0.2.15"
flate2 = "1.0.22"
flume = "0.10.10"
fs_extra = "1.2.0"
futures = { workspace = true }
futures-util = "0.3.17"
glob = "0.3.0"
graphql_client = "0.11.0"
headers = "0.3.7"
heck = "0.4.0"
http-serde = "1.1.0"
indexmap = "1.7.0"
indicatif = { version = "0.17.1", features = ["tokio"] }
itertools = { workspace = true }
lazy_static = { workspace = true }
@ -43,33 +36,23 @@ log = "0.4.14"
mime = "0.3.16"
multimap = "0.8.3"
new_mime_guess = "4.0.0"
nix = { workspace = true }
octocrab = { workspace = true }
paste = { workspace = true }
path-absolutize = "3.0.11"
pathdiff = "0.2.1"
path-slash = "0.2.1"
platforms = "3.0.0"
pin-project = "1.0.8"
port_check = "0.1.5"
pretty_env_logger = "0.4.0"
proc-macro2 = { workspace = true }
quote = { workspace = true }
platforms = { workspace = true }
rand = "0.8.4"
regex = { workspace = true }
reqwest = { version = "0.11.5", default-features = false, features = [
"stream",
] }
reqwest = { workspace = true }
semver = { workspace = true }
serde = { version = "1.0.130", features = ["derive"] }
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
scopeguard = "1.1.0"
sha2 = "0.10.2"
strum = { workspace = true }
symlink = "0.1.0"
syn = { workspace = true }
sysinfo = "0.26.2"
sysinfo = { workspace = true }
tar = "0.4.37"
tempfile = "3.2.0"
tokio = { workspace = true }
@ -82,7 +65,6 @@ url = "2.2.2"
uuid = { version = "1.1.0", features = ["v4", "serde"] }
walkdir = "2.3.2"
which = "4.2.2"
whoami = "1.2.1"
zip = { version = "0.6.2", default-features = false, features = ["deflate"] }
[dev-dependencies]

View File

@ -836,7 +836,7 @@ impl Step {
input: impl AsRef<str>,
given_name: impl Into<String>,
) -> Self {
let input_expr = get_input_expression(format!("secrets.{}", input.as_ref()));
let input_expr = get_input_expression(input.as_ref());
self.with_env(given_name, input_expr)
}

View File

@ -62,7 +62,7 @@ pub fn remove_var<K: AsRef<OsStr>>(key: K) {
/// define_env_var! {
/// /// Documentation.
/// ENV_VAR_NAME, PathBuf;
/// };
/// }
/// let path = ENV_VAR_NAME.get().unwrap_or_else(|_error| PathBuf::from("default"));
/// ```
#[macro_export]
@ -117,18 +117,6 @@ pub fn prepend_to_path(path: impl AsRef<Path>) -> Result {
known::PATH.prepend(path)
}
// pub async fn fix_duplicated_env_var(var_name: impl AsRef<OsStr>) -> Result {
// let var_name = var_name.as_ref();
//
// let mut paths = indexmap::IndexSet::new();
// while let Ok(path) = std::env::var(var_name) {
// paths.extend(std::env::split_paths(&path));
// std::env::remove_var(var_name);
// }
// crate::env::set_var(var_name, std::env::join_paths(paths)?);
// Ok(())
// }
/// A modification to some environment variable.
#[derive(Clone, Debug)]
pub enum Action {

View File

@ -124,7 +124,7 @@ impl TypedVariable for PathBufVariable {
}
}
#[derive(Clone, Debug, Ord, PartialOrd, Eq, PartialEq, derive_more::Deref)]
#[derive(Clone, Copy, Debug, Ord, PartialOrd, Eq, PartialEq, derive_more::Deref)]
pub struct SimpleVariable<Value, Borrowed: ?Sized = Value> {
#[deref]
pub name: &'static str,
@ -144,6 +144,12 @@ impl<Value, Borrowed: ?Sized> const AsRef<str> for SimpleVariable<Value, Borrowe
}
}
impl<Value, Borrowed: ?Sized> AsRef<OsStr> for SimpleVariable<Value, Borrowed> {
fn as_ref(&self) -> &OsStr {
OsStr::new(self.name)
}
}
impl<Value, Borrowed: ?Sized> From<&SimpleVariable<Value, Borrowed>> for String {
fn from(value: &SimpleVariable<Value, Borrowed>) -> Self {
value.name.to_string()

View File

@ -1,5 +1,6 @@
//! Universally known environment variables.
use crate::define_env_var;
use crate::env::accessor::PathLike;
@ -9,3 +10,17 @@ use crate::env::accessor::PathLike;
/// It is a special variable that contains a list of paths, that define the search path for
/// executable files.
pub const PATH: PathLike = PathLike("PATH");
define_env_var! {
/// Variable in Unix-like systems that overrides individual `LC_*` settings for locale-specific
/// program behavior, such as time formatting (`LC_TIME`), string sorting (`LC_COLLATE`), and
/// currency formatting (`LC_MONETARY`). Setting `LC_ALL` ensures uniform application of locale
/// settings, commonly utilized in scripting and debugging to maintain consistency irrespective
/// of user-specific configurations.
LC_ALL, String;
}
/// The `C.UTF-8` locale, when used as a value for [`LC_ALL`] or other `LC_*` environment variables
/// in Unix-like systems, combines the minimalistic behavior of the default C locale with UTF-8
/// character encoding.
pub const C_UTF8: &str = "C.UTF-8";

View File

@ -2,30 +2,23 @@
name = "enso-build-cli"
version = "0.1.0"
edition = "2021"
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 = { version = "3.2.23", features = ["derive", "env", "wrap_help"] }
chrono = "0.4.19"
derivative = { workspace = true }
enso-build-base = { path = "../base" }
enso-build = { path = "../build" }
enso-formatter = { path = "../enso-formatter" }
ensogl-pack = { path = "../../lib/rust/ensogl/pack" }
futures = { workspace = true }
futures-util = "0.3.17"
glob = "0.3.0"
humantime = "2.1.0"
ide-ci = { path = "../ci_utils" }
octocrab = { workspace = true }
serde = { version = "1.0.130", features = ["derive"] }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
strum = { workspace = true }
tempfile = "3.2.0"
tokio = { workspace = true }
toml = "0.5.9"
tracing = { version = "0.1.37" }
tracing-subscriber = "0.3.11"

View File

@ -8,6 +8,6 @@ edition = "2021"
crate-type = ["rlib"]
[dependencies]
serde = { version = "1.0" }
serde = { workspace = true }
serde_yaml = { workspace = true }
Inflector = { version = "0.11.4" }

View File

@ -17,7 +17,7 @@ crate-type = ["rlib", "cdylib"]
[dependencies]
enso-prelude = { path = "../prelude" }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
typenum = { version = "1.11.2" }
rustversion = { version = "1.0" }
failure = { workspace = true }

View File

@ -22,7 +22,7 @@ const_format = { workspace = true }
xi-rope = { version = "0.3.0" }
owned_ttf_parser = { workspace = true }
bincode = { workspace = true }
serde = { version = "1", features = ["rc"] }
serde = { workspace = true }
serde_json = { workspace = true }
ordered-float = { workspace = true }
rustybuzz = { workspace = true }

View File

@ -16,7 +16,7 @@ failure = { workspace = true }
js-sys = { workspace = true }
nalgebra = { workspace = true }
wasm-bindgen = { workspace = true }
serde = { version = "1", features = ["rc", "derive"] }
serde = { workspace = true }
owned_ttf_parser = { workspace = true }
enso-web = { path = "../../../../../../web" }

View File

@ -46,7 +46,7 @@ num-traits = { version = "0.2" }
ordered-float = { workspace = true }
rustc-hash = { version = "1.0.1" }
semver = { workspace = true }
serde = { version = "1" }
serde = { workspace = true }
smallvec = { workspace = true }
typenum = { version = "1.11.2" }
# We require exact version of wasm-bindgen because we do patching final js in our build process,

View File

@ -11,12 +11,8 @@ crate-type = ["rlib"]
futures = { version = "0.3" }
ide-ci = { path = "../../../../build/ci_utils" }
manifest-dir-macros = "0.1.16"
regex = { workspace = true }
serde = { version = "1.0.130", features = ["derive"] }
serde = { workspace = true }
serde_json = { workspace = true }
tempfile = "3"
tokio = { workspace = true }
fs_extra = "1.2.0"
walkdir = "2"
enso-bitmap = { path = "../../bitmap" }
enso-prelude = { path = "../../prelude" }

View File

@ -16,7 +16,7 @@ publish = true
[dependencies]
enso-zst = { path = "../zst" }
serde = { version = "1.0.0", features = ["derive"] }
serde = { workspace = true }
nalgebra = { workspace = true }
paste = { workspace = true }
derivative = { workspace = true }

View File

@ -15,5 +15,5 @@ enso-profiler-data = { path = "../profiler/data" }
enso-profiler = { path = "../profiler" }
futures = { version = "0.3.1" }
failure = { workspace = true }
serde = { version = "1.0.0", features = ["derive"] }
serde = { workspace = true }
serde_json = { workspace = true }

View File

@ -9,6 +9,6 @@ proc-macro = true
[dependencies]
enso-prelude = { path = "../prelude" }
serde = { version = "1.0" }
serde = { workspace = true }
serde_json = { workspace = true }
proc-macro2 = "1.0"

View File

@ -12,5 +12,5 @@ enso-metamodel = { path = "../" }
derivative = { workspace = true }
[dev-dependencies]
serde = { version = "1", features = ["derive"] }
serde = { workspace = true }
enso-reflect = { path = "../../reflect" }

View File

@ -16,7 +16,7 @@ enso-data-structures = { path = "../data-structures" }
enso-types = { path = "../types" }
enso-shapely-macros = { path = "../shapely/macros" }
enso-parser-syntax-tree-visitor = { path = "src/syntax/tree/visitor" }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
serde_json = { workspace = true }
uuid = { version = "1.1", features = ["serde"] }
bincode = "1.3"

View File

@ -15,5 +15,5 @@ enso-metamodel = { path = "../../metamodel", features = ["rust"] }
enso-metamodel-lexpr = { path = "../../metamodel/lexpr" }
enso-reflect = { path = "../../reflect" }
lexpr = "0.2.6"
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
serde_json = { workspace = true }

View File

@ -14,7 +14,7 @@ enso-parser = { path = ".." }
enso-prelude = { path = "../../prelude" }
enso-profiler = { path = "../../profiler" }
enso-reflect = { path = "../../reflect" }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
[dev-dependencies]
enso-metamodel = { path = "../../metamodel", features = ["rust"] }

View File

@ -13,7 +13,7 @@ license-file = "../../LICENSE"
enso-metamodel = { path = "../../metamodel", features = ["rust"] }
enso-parser = { path = ".." }
enso-reflect = { path = "../../reflect", features = ["graphviz"] }
serde = { version = "1", features = ["derive"] }
serde = { workspace = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
serde_json = { workspace = true }

View File

@ -31,7 +31,7 @@ futures = { workspace = true }
itertools = { workspace = true }
lazy_static = { workspace = true }
paste = { workspace = true }
serde = { version = "1.0.126", features = ["derive", "rc"] }
serde = { workspace = true }
serde_json = { workspace = true }
smallvec = { workspace = true }
wasm-bindgen = { workspace = true }

View File

@ -6,7 +6,7 @@ authors = ["Enso Team <contact@enso.org>"]
[dependencies]
futures = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
serde_json = { version = "1.0.59", features = ["raw_value"] }
wasm-bindgen = { workspace = true }
enso-profiler-macros = { path = "macros" }

View File

@ -6,7 +6,7 @@ authors = ["Enso Team <contact@enso.org>"]
[dependencies]
derivative = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
serde_json = { workspace = true }
enso-prelude = { path = "../../prelude" }
enso-profiler = { path = "../" }

View File

@ -21,9 +21,6 @@ default = []
[dependencies]
enso-zst = { path = "../zst" }
enso-shapely-macros = { path = "macros" }
paste = { workspace = true }
derivative = { workspace = true }
rustversion = { version = "1.0" }
wasm-bindgen = { workspace = true }
[dependencies.web-sys]

View File

@ -30,6 +30,3 @@ paste = { workspace = true }
[dependencies.syn]
version = "1.0"
features = ['extra-traits', 'visit', 'full']
[dev-dependencies]
wasm-bindgen-test = "0.3.8"

View File

@ -15,7 +15,7 @@ enso-web = { path = "../web" }
wasm-bindgen = { workspace = true }
nalgebra = { workspace = true }
serde_json = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
js-sys = { workspace = true }
[dependencies.web-sys]

View File

@ -16,7 +16,7 @@ enso-web = { path = "../../web" }
wasm-bindgen = { workspace = true }
nalgebra = { workspace = true }
serde_json = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
js-sys = { workspace = true }
[dependencies.web-sys]

View File

@ -11,4 +11,4 @@ crate-type = ["rlib", "cdylib"]
enso-prelude = { path = "../prelude" }
enso-types = { path = "../types" }
xi-rope = { version = "0.3.0" }
serde = { version = "1", features = ["derive"] }
serde = { workspace = true }

View File

@ -11,7 +11,7 @@ enso-reflect = { path = "../reflect" }
nalgebra = { workspace = true }
num-traits = { version = "0.2" }
paste = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde = { workspace = true }
enso-prelude = { path = "../prelude" }
[build-dependencies]

View File

@ -18,5 +18,5 @@ default = []
[dependencies]
bytemuck = { workspace = true }
serde = { version = "1.0.126", features = ["derive", "rc"] }
serde = { workspace = true }
paste = { workspace = true }

10
run
View File

@ -1,12 +1,4 @@
#!/usr/bin/env bash
set -e # Exit on error.
# Get the directory of the script, as per https://stackoverflow.com/a/246128
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
BIN_CRATE_NAME=enso-build-cli
TARGET_DIR="${SCRIPT_DIR}/target/enso-build/"
TARGET_EXE="${TARGET_DIR}buildscript/${BIN_CRATE_NAME}"
cargo build --profile buildscript --target-dir "$TARGET_DIR" --package ${BIN_CRATE_NAME}
"$TARGET_EXE" $@
cargo run --profile buildscript --package enso-build-cli -- $@

View File

@ -1,6 +1,4 @@
@ pushd %~dp0
@ set TARGET_DIR=%~dp0target\enso-build
@ set TARGET_EXE=%TARGET_DIR%\buildscript\enso-build-cli.exe
cargo build --profile buildscript --target-dir "%TARGET_DIR%" --package enso-build-cli && "%TARGET_EXE%" %*
cargo run --profile buildscript --package enso-build-cli -- %*
@ popd
@ exit /b %ERRORLEVEL%

19
run.ps1
View File

@ -5,17 +5,12 @@
#
# This was developed and tested on Windows only, though there is no reason
# why it should not work on other platforms through PowerShell Core.
$ErrorActionPreference = "Stop"
$TargetDir = Join-Path $PSScriptRoot "target" "enso-build"
$BuildScriptProfile = "buildscript"
$BuildScriptBin = "enso-build-cli"
$TargetExe = Join-Path $TargetDir $BuildScriptProfile $BuildScriptBin
$RunArgs = @("run", "--profile", "buildscript", "--package", "enso-build-cli", "--")
$RunArgs += $args
$BuildArgs = "build", "--profile", $BuildScriptProfile, "--target-dir", $TargetDir, "--package", $BuildScriptBin
$BuildScriptProcess = Start-Process cargo -NoNewWindow -PassThru -Wait -WorkingDirectory $PSScriptRoot -ArgumentList $BuildArgs
if ($BuildScriptProcess.ExitCode -ne 0) {
Exit $BuildScriptProcess.ExitCode
}
$BuildScriptBinProcess = Start-Process $TargetExe -NoNewWindow -PassThru -Wait -WorkingDirectory $PSScriptRoot -ArgumentList $args
Exit $BuildScriptBinProcess.ExitCode
$psi = New-Object -TypeName System.Diagnostics.ProcessStartInfo -ArgumentList "cargo",$RunArgs
$psi.WorkingDirectory = $PSScriptRoot
$handle = [System.Diagnostics.Process]::Start($psi)
$handle.WaitForExit()
Exit $handle.ExitCode