-
Notifications
You must be signed in to change notification settings - Fork 104
Developing Juliaup
Lilith Orion Hafner edited this page Jul 3, 2024
·
2 revisions
This document has a collection of tips on how to work on Juliaup itself.
- Install the rust toolchain https://rustup.rs/
- (Optional) Install VS Code and the
rust-analyzerextension. There are also debugger extensions that work. - (Optional) Install cargo-release if you want to create releases by running
cargo install cargo-release. - (Optional) Install cargo-msix if you want to build MSIX packages locally by running
cargo install cargo-msix. You will also need PowerShell to run a script that vendors the current Julia version into the MSIX.
-
cdto the source and runcargo build. -
cdtotargets/debugand run./juliaupand./juliato use the newly built version. - You can run
cargo build --releaseto build a release build that you can then find intargets/release.
-
cdto the source. - Run
cargo run -- ARGSto compile and runjuliaupfrom source.ARGSare the regularjuliaupcommand line arguments. For examplecargo run -- status. - Run
cargo run --bin julialauncher -- ARGSto run thejulialauncher(that in a normal install is symlinked asjulia). For examplecargo run --bin julialauncher -- +lts. - Run
cargo run --bin juliainstaller -- ARGSto run thejuliainstaller(the binary that is downloaded and then executed by the install shell script).ARGShere can be left out or specify the Julia channel one wants to use.
-
cdto the source. - Run
cargo test.
-
cdto the source. - Run
cargo updateto update all dependencies to the latest compatible version. This works similar to Julia, i.e. it will update the specific versions used and recorded inCargo.lock(the equivalent to a JuliaManifest.toml), subject to the semver constraints recorded inCargo.toml(the equivalent to a JuliaProject.toml). - To update packages over a semver breaking version jump you need to manually edit the
Cargo.toml. The crates extension for VS Code is very convenient for this.