master
sh 44 lines 834 Bytes
Raw
1 #!/usr/bin/env bash
2
3 DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
4
5 LIST="$DIR/preload_list"
6
7 to_preload() {
8 awk 'NF' $LIST | sed '/^#/d'
9 if [[ -n "$IPFS_PLUGINS" ]]; then
10 for plugin in $IPFS_PLUGINS; do
11 echo "$plugin github.com/ipfs/kubo/plugin/plugins/$plugin *"
12 done
13 fi
14 }
15
16 cat <<EOL
17 package loader
18
19 import (
20 EOL
21
22 to_preload | while read -r name path num; do
23 echo "plugin$name \"$path\""
24 done | sort -u
25
26 cat <<EOL
27 )
28
29
30 // DO NOT EDIT THIS FILE
31 // This file is being generated as part of plugin build process
32 // To change it, modify the plugin/loader/preload.sh
33
34 func init() {
35 EOL
36
37 to_preload | while read -r name path num; do
38 case "$num" in
39 '*') echo " Preload(plugin$name.Plugins...)" ;; # All plugins
40 *) echo " Preload(plugin$name.Plugins[$num])" ;; # A specific plugin
41 esac
42 done
43
44 echo "}"