From 7f77e4a71d2ecac30fab55548dbeb414b1241cc0 Mon Sep 17 00:00:00 2001 From: "Matsievskiy S.V" Date: Tue, 12 May 2020 12:16:32 +0300 Subject: [PATCH] add PackageCompiler project and compilation script --- contrib/.gitignore | 1 + contrib/JuliaLSP/Project.toml | 8 +++++ contrib/JuliaLSP/precompile_app.jl | 4 +++ contrib/JuliaLSP/src/JuliaLSP.jl | 13 ++++++++ contrib/compile.sh | 48 ++++++++++++++++++++++++++++++ 5 files changed, 74 insertions(+) create mode 100644 contrib/.gitignore create mode 100644 contrib/JuliaLSP/Project.toml create mode 100644 contrib/JuliaLSP/precompile_app.jl create mode 100644 contrib/JuliaLSP/src/JuliaLSP.jl create mode 100755 contrib/compile.sh diff --git a/contrib/.gitignore b/contrib/.gitignore new file mode 100644 index 000000000..e6f181597 --- /dev/null +++ b/contrib/.gitignore @@ -0,0 +1 @@ +JuliaLSP_compiled diff --git a/contrib/JuliaLSP/Project.toml b/contrib/JuliaLSP/Project.toml new file mode 100644 index 000000000..155700f65 --- /dev/null +++ b/contrib/JuliaLSP/Project.toml @@ -0,0 +1,8 @@ +name = "JuliaLSP" +uuid = "9488cb22-ff86-4d62-8f4a-077fe1791049" +authors = ["Matsievskiy S.V. "] +version = "0.1.0" + +[deps] +LanguageServer = "2b0e0bc5-e4fd-59b4-8912-456d1b03d8d7" +SymbolServer = "cf896787-08d5-524d-9de7-132aaa0cb996" diff --git a/contrib/JuliaLSP/precompile_app.jl b/contrib/JuliaLSP/precompile_app.jl new file mode 100644 index 000000000..257d62a37 --- /dev/null +++ b/contrib/JuliaLSP/precompile_app.jl @@ -0,0 +1,4 @@ +using JuliaLSP + +push!(ARGS, "arg") +JuliaLSP.julia_main() diff --git a/contrib/JuliaLSP/src/JuliaLSP.jl b/contrib/JuliaLSP/src/JuliaLSP.jl new file mode 100644 index 000000000..133a56e8e --- /dev/null +++ b/contrib/JuliaLSP/src/JuliaLSP.jl @@ -0,0 +1,13 @@ +module JuliaLSP + +using LanguageServer +import SymbolServer + +function julia_main()::Cint + server = LanguageServer.LanguageServerInstance(stdin, stdout) + server.runlinter = true + run(server) + return 0 # if things finished successfully +end + +end # module diff --git a/contrib/compile.sh b/contrib/compile.sh new file mode 100755 index 000000000..1346bfc07 --- /dev/null +++ b/contrib/compile.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +JULIABIN="julia" +JULIAPROJ="JuliaLSP" +JULIACOMP="JuliaLSP_compiled" + +REPO="https://github.com/julia-vscode/LanguageServer.jl" +BRANCH="master" + +RED='\033[0;31m' +NC='\033[0m' + +while [[ $# -gt 0 ]] + do + key="$1" + + case $key in + -j|--julia) + JULIABIN="$2" + shift + ;; + -b|--branch) + BRANCH="$2" + shift + ;; + -r|--repo) + REPO="$2" + shift + ;; + *) + echo -e "Usage:\ncompile.sh [-j|--julia ] [-b|--branch ]" >&2 + exit + ;; + esac + shift +done + +echo -e ${RED}Updating packages${NC} + +$JULIABIN --startup-file=no --history-file=no -e \ + "import Pkg; Pkg.activate(\"${JULIAPROJ}\"); Pkg.add(Pkg.PackageSpec(url=\"${REPO}\", rev=\"${BRANCH}\")); Pkg.update();" || exit + +echo -e ${RED}Compiling...${NC} + +$JULIABIN --startup-file=no --history-file=no -e \ + "import Pkg; Pkg.add(\"PackageCompiler\"); using PackageCompiler; create_app(\"${JULIAPROJ}\", \"${JULIACOMP}\", force=true);" || exit + +echo -e ${RED}Compiled${NC}