preload.sh 660 Bytes
Newer Older
Łukasz Magiera's avatar
Łukasz Magiera committed
1
#!/usr/bin/env bash
2 3 4 5 6 7 8 9 10 11 12 13 14 15

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

to_preload() {
	awk 'NF' "$DIR/preload_list" | sed '/^#/d'
}

cat <<EOL
package loader

import (
EOL

to_preload | while read -r name path num; do
16
	echo "plugin$name \"$path\""
17 18 19 20 21
done | sort -u

cat <<EOL
)

22 23 24 25 26

// 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

27
func init() {
28 29 30
EOL

to_preload | while read -r name path num; do
31 32 33 34
	case "$num" in
		'*') echo "	Preload(plugin$name.Plugins...)" ;; # All plugins
		*) echo "	Preload(plugin$name.Plugins[$num])" ;; # A specific plugin
	esac
35 36 37
done

echo "}"