- Notifications
You must be signed in to change notification settings - Fork2
Project(s) → Standalone Depot
License
NotificationsYou must be signed in to change notification settings
JuliaComputing/DepotDelivery.jl
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
DepotDelivery bundles a Julia project into a standalone depot (contents of a `.julia/` directory).
- Bundles all Julia code of one or more projects.
- Can be deployed in air-gapped environments.
- Build for platforms other than the host platform.
- Can precompile all dependencies to built path.
build(src=pwd(), dest=mktempdir(); triplet, platform, verbose, precompiled)
Arguments:
src = pwd(): AString/Vector{String}of the project path/paths containingProject.tomlorJuliaProject.tomlfiles.dest::String = <tempdir>: The depot directory to populate.platform::AbstractPlatform = <host platform>: The targetBase.BinaryPlatforms.Platform.triplet = nothing: The target triplet of the platform to build for. If notnothing, it overridesplatform.verbose = true: Whether to display verbose output during the build process (default istrue).precompiled = false: Whether to enable precompilation of packages.
Returns:
dest::String
using DepotDelivery# `path/Project.toml` (or `path/JuliaProject.toml`) must existpath=abspath(joinpath(pathof(DepotDelivery),"..",".."))depot= DepotDelivery.build(path)
Then in your production environment, either:
- Replace the
.julia/directory withdepot - Run
include(joinpath(depot, "config", "startup.jl"))to begin your Julia session.
Be aware thatbuild will copy everything inside the source directories todepot/dev/. Avoid populating those directories with unnecessary files. For example, when starting a new project, it's better to runjulia --project=./isolated_folder/ rather thanjulia --project=., as in the latter case theProject.toml file will coexist with other stuff.
- Use any
Base.BinaryPlatforms.AbstractPlatformas theplatformortarget triplet as thetriplet. - SeeJulia's supported OS/architectures.
- See
?Base.BinaryPlatforms.Platformand the types inPkg.BinaryPlatformsfor details, e.g.
import PkgBase.BinaryPlatforms.HostPlatform()Base.BinaryPlatforms.Platform("windows","x86_64"; cuda=="10.1")# `arch` argument must be in (:x86_64, :i686m, :armv7l, :armv6l, :aarch64, :powerpc64le)Pkg.BinaryPlatforms.Windows(:x86_64)Pkg.BinaryPlatforms.MacOS()Pkg.BinaryPlatforms.Linux(:powerpc64le)Pkg.BinaryPlatforms.FreeBSD(:armv7l)
About
Project(s) → Standalone Depot
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.