Experimental Proxmox / Docker compose tool
compose proxmox docker
0

Configure Feed

Select the types of activity you want to include in your feed.

proxpose / update-elp.bash
1.4 kB 55 lines
1set -euo pipefail 2 3app_name=$(awk -F'"' '/^name[[:space:]]*=/ { print $2; exit }' gleam.toml) 4build_dir="build/dev/erlang/$app_name" 5 6rm -rf .elp 7mkdir -p .elp 8for erl_file in "$build_dir"/_gleam_artefacts/*.erl; do 9 [ -e "$erl_file" ] || continue 10 base_name=$(basename "$erl_file") 11 already_in_src=$(find src -name "$base_name" -print -quit) 12 if [ -z "$already_in_src" ]; then 13 ln -sf "$(pwd)/$erl_file" ".elp/$base_name" 14 fi 15done 16 17list_deps() { 18 for dep_dir in build/dev/erlang/*/; do 19 dep_name=$(basename "$dep_dir") 20 [ "$dep_name" = "$app_name" ] && continue 21 22 if [ -d "${dep_dir}_gleam_artefacts" ]; then 23 dep_src_dir=_gleam_artefacts 24 elif find "${dep_dir}src" -maxdepth 1 -iname "*.erl" -print -quit 2>/dev/null | grep -q .; then 25 dep_src_dir=src 26 else 27 continue 28 fi 29 30 jq -n \ 31 --arg name "$dep_name" \ 32 --arg dir "build/dev/erlang/$dep_name" \ 33 --arg src_dir "$dep_src_dir" \ 34 '{name: $name, dir: $dir, src_dirs: [$src_dir], include_dirs: ["include"], ebin: "ebin"}' 35 done 36} 37 38jq -n \ 39 --arg name "$app_name" \ 40 --arg include_dir "$build_dir/include" \ 41 --arg ebin_dir "$build_dir/ebin" \ 42 --slurpfile deps <(list_deps) \ 43 '{ 44 apps: [{ 45 name: $name, 46 dir: ".", 47 src_dirs: ["src"], 48 extra_src_dirs: [".elp"], 49 include_dirs: [$include_dir], 50 ebin: $ebin_dir 51 }], 52 deps: $deps 53 }' > .elp.build_info 54 55echo "wrote .elp.build_info for app \"$app_name\""