preload.sh 824 Bytes
Newer Older
Łukasz Magiera's avatar
Łukasz Magiera committed
1
#!/usr/bin/env bash
2 3 4 5 6

DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

to_preload() {
	awk 'NF' "$DIR/preload_list" | sed '/^#/d'
7 8 9 10 11
  if [[ -n "$IPFS_PLUGINS" ]]; then
      for plugin in $IPFS_PLUGINS; do
          echo "$plugin github.com/ipfs/go-ipfs/plugin/plugins/$plugin *"
      done
  fi
12 13 14 15 16 17 18 19 20
}

cat <<EOL
package loader

import (
EOL

to_preload | while read -r name path num; do
21
	echo "plugin$name \"$path\""
22 23 24 25 26
done | sort -u

cat <<EOL
)

27 28 29 30 31

// DO NOT EDIT THIS FILE
// This file is being generated as part of plugin build process
// To change it, modify the plugin/loader/preload.sh

32
func init() {
33 34 35
EOL

to_preload | while read -r name path num; do
36 37 38 39
	case "$num" in
		'*') echo "	Preload(plugin$name.Plugins...)" ;; # All plugins
		*) echo "	Preload(plugin$name.Plugins[$num])" ;; # A specific plugin
	esac
40 41 42
done

echo "}"