2023-10-13 20:44:34 +09:00
|
|
|
#!/usr/bin/julia
|
|
|
|
project_path = joinpath(homedir(), ".julia", "environments", "nvim-lspconfig")
|
2024-10-22 18:27:36 +09:00
|
|
|
cd(project_path) do
|
|
|
|
@info "now at " pwd()
|
|
|
|
run(`julia --project=. -e 'using Pkg; Pkg.update()'`)
|
|
|
|
compile_traces = Iterators.filter(eachline("tracecompile.jl")) do line
|
|
|
|
# Remove anonymous functions from compile trace
|
|
|
|
!startswith(line, '#') && !occursin(r"\#\d+\#\d+", line) && !occursin(r"\#\#printstyled\#", line)
|
|
|
|
end |> join
|
|
|
|
read("precompile_exec_head.jl", String) * compile_traces |> (b -> write("precompile_exec.jl", b))
|
|
|
|
@info "compiling sysimage..."
|
|
|
|
run(`julia --project=. -e 'using PackageCompiler; create_sysimage(["LanguageServer"], sysimage_path = "sys-ls.so", precompile_execution_file = ["precompile_exec.jl"])'`)
|
|
|
|
@info "post precompile"
|
|
|
|
run(`julia --project=. -J sys-ls.so -e 'using Pkg; Pkg.precompile()'`)
|
|
|
|
end
|
2023-10-13 20:44:34 +09:00
|
|
|
|