diff --git a/src/JuliaHub.jl b/src/JuliaHub.jl index 1b4955a0f..af3738189 100644 --- a/src/JuliaHub.jl +++ b/src/JuliaHub.jl @@ -62,4 +62,6 @@ macro _mark_names_public() end @_mark_names_public +include("precompile.jl") + end diff --git a/src/precompile.jl b/src/precompile.jl new file mode 100644 index 000000000..128c1b8c2 --- /dev/null +++ b/src/precompile.jl @@ -0,0 +1,31 @@ +precompile(JuliaHub.authenticate, ()) +precompile(JuliaHub.authenticate, (Nothing,)) +precompile(JuliaHub.authenticate, (String,)) +precompile(JuliaHub.authenticate, (String, String)) + +precompile(JuliaHub.datasets, ()) +precompile(JuliaHub.datasets, (String,)) +precompile(JuliaHub.dataset, (Dataset,)) +precompile(JuliaHub.dataset, (String,)) +precompile(JuliaHub.dataset, (Tuple{String, String},)) + +precompile(JuliaHub.jobs, ()) +precompile(JuliaHub.job, (Job,)) +precompile(JuliaHub.job, (String,)) + +precompile(JuliaHub.nodespecs, ()) +precompile(JuliaHub.batchimages, ()) +precompile(JuliaHub.batchimages, (String,)) +precompile(JuliaHub.appbundle, (String,)) +precompile(JuliaHub.appbundle, (String, String)) +precompile(JuliaHub.submit_job, (WorkloadConfig,)) +precompile(JuliaHub.submit_job, (BatchJob,)) + +# Precompile the basic show() methods for all public types +for sym in JuliaHub._find_public_names() + t = getfield(@__MODULE__, sym) + if isa(t, DataType) + precompile(Base.show, (Base.TTY, MIME"text/plain", t)) + precompile(Base.show, (Base.TTY, MIME"text/plain", Vector{t})) + end +end