47 lines
1.5 KiB
Bash
Executable File
47 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (c) HashiCorp, Inc.
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
|
|
#
|
|
# This script builds the required plugins.
|
|
set -e
|
|
|
|
BINARY_SUFFIX=""
|
|
if [ "${GOOS}x" = "windowsx" ]; then
|
|
BINARY_SUFFIX=".exe"
|
|
fi
|
|
|
|
# Get the parent directory of where this script is.
|
|
SOURCE="${BASH_SOURCE[0]}"
|
|
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
|
|
export DIR="$( cd -P "$( dirname "$SOURCE" )/.." && pwd )"
|
|
|
|
# Create boundary plugins
|
|
echo "==> Building boundary plugins..."
|
|
rm -f $DIR/plugins/boundary/assets/boundary-plugin-*
|
|
for CURR_PLUGIN in $(ls $DIR/plugins/boundary/mains); do
|
|
cd $DIR/plugins/boundary/mains/$CURR_PLUGIN;
|
|
go build -v -o $DIR/plugins/boundary/assets/boundary-plugin-${CURR_PLUGIN}${BINARY_SUFFIX} .;
|
|
cd $DIR;
|
|
done;
|
|
cd $DIR/plugins/boundary/assets;
|
|
for CURR_PLUGIN in $(ls boundary-plugin*); do
|
|
gzip -f -9 $CURR_PLUGIN;
|
|
done;
|
|
cd $DIR;
|
|
|
|
# Create other plugins
|
|
for PLUGIN_TYPE in "kms"; do
|
|
echo "==> Building ${PLUGIN_TYPE} plugins..."
|
|
rm -f $DIR/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}*
|
|
for CURR_PLUGIN in $(ls $DIR/plugins/$PLUGIN_TYPE/mains); do
|
|
cd $DIR/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN;
|
|
go build -v -o $DIR/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN}${BINARY_SUFFIX} .;
|
|
cd $DIR;
|
|
done;
|
|
cd $DIR/plugins/$PLUGIN_TYPE/assets;
|
|
for CURR_PLUGIN in $(ls boundary-plugin*); do
|
|
gzip -f -9 $CURR_PLUGIN;
|
|
done;
|
|
cd $DIR;
|
|
done; |