29 lines
989 B
Julia
29 lines
989 B
Julia
# Add dependencies to Language Server project
|
|
# TODO: automatically list up necessary packages
|
|
using Pkg
|
|
@info "project path" Pkg.project().path
|
|
|
|
# add LanguageServer.jl
|
|
Pkg.add("LanguageServer")
|
|
|
|
# add dependencies of LanguageServer.jl
|
|
pkg_ls = Pkg.project().dependencies["LanguageServer"]
|
|
pkg_ls_deps = Pkg.dependencies()[pkg_ls].dependencies |> keys
|
|
foreach(Pkg.add, pkg_ls_deps)
|
|
|
|
# add extra dependencies
|
|
# these packages are manually collected
|
|
pkg_extra = ["Logging", "Sockets", "DataStructures", "Tar", "ArgTools", "Dates", "Downloads"]
|
|
foreach(Pkg.add, pkg_extra)
|
|
@info "dependency added"
|
|
|
|
# save pkgs to be used for precompile functions with traced script
|
|
out_path = joinpath(Pkg.project().path |> dirname, "precompile_exec_head.jl")
|
|
@info "writing $(out_path)"
|
|
open(out_path, "w") do io
|
|
println(io, "using LanguageServer")
|
|
println(io, "using " * join(pkg_ls_deps, ", "))
|
|
println(io, "using " * join(pkg_extra, ", "))
|
|
end
|
|
@info "finished writing precompile head file"
|
|
|