Removed obsolete ccm.sh script, refactored build-site.sh to use new profile
parent
7293c3b189
commit
e317c290e8
|
|
@ -1 +1 @@
|
|||
mvn clean package site site:stage -Dmaven.test.failure.ignore=true -Pwildfly-remote-h2-mem
|
||||
mvn clean verify site site:stage -Dmaven.test.failure.ignore=true -Prun-its-with-wildfly-h2mem
|
||||
|
|
|
|||
501
ccm.sh
501
ccm.sh
|
|
@ -1,501 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Provides shortcuts for working with LibreCCM
|
||||
|
||||
wildfly_version="16.0.0.Final"
|
||||
wildfly_pid_file="./WILDFLY_PID"
|
||||
wildfly_home=""
|
||||
|
||||
# Helper function for finding Wildfly. First the function checks if the
|
||||
# environment variable JBOSS_HOME is set. If JBOSS_HOME is set is make sure
|
||||
# that JBOSS_HOME points to a valid Wildfly installation. If JBOSS_HOME is not
|
||||
# set the function checks if Wildfly is installed in ./runtime. If there is no
|
||||
# Wildfly in runtime the function exits the script.
|
||||
find_wildfly_home() {
|
||||
#local wildfly_home=""
|
||||
if [[ -n $JBOSS_HOME ]]; then
|
||||
echo "JBOSS_HOME = $JBOSS_HOME"
|
||||
if [ -f "$JBOSS_HOME/bin/standalone.sh" ]; then
|
||||
echo $JBOSS_HOME
|
||||
else
|
||||
echo -e "\e[41mJBOSS_HOME is set but there is no $JBOSS_HOME/bin/standalone.sh. Please make sure that JBOSS_HOME points to a valid Wildfly installation.\e[0m"
|
||||
exit 1
|
||||
fi
|
||||
elif [[ -d "./runtime/wildfly-$wildfly_version" ]]; then
|
||||
wildfly_home="./runtime/wildfly-$wildfly_version"
|
||||
echo "wildfly_home is '$wildfly_home'"
|
||||
pushd $wildfly_home
|
||||
wildfly_home=$(pwd)
|
||||
echo "wildfly_home is '$wildfly_home'"
|
||||
popd
|
||||
#echo $wildfly_home
|
||||
else
|
||||
echo -e "\e[41mThere is no Wildfly in ./runtime/ neither is JBOSS_HOME set. Please install Wildfly $wildfly_version into ./runtime/ using install-runtime or set the JBOSS_HOME enviroment variable.\e[0m"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Build the project site.
|
||||
#
|
||||
# @param $1 (optional): Maven profile to use.
|
||||
#
|
||||
build_site() {
|
||||
echo "build_site_param1: $1"
|
||||
echo "build_site_param2: $2"
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
echo "Building project site with profile $1..."
|
||||
mvn clean package site site:stage -Dmaven.test.failure.ignore=true -P$1
|
||||
else
|
||||
echo "Building project site without a profile..."
|
||||
mvn clean package site site:stage -Dmaven.test.failure.ignore=true
|
||||
fi
|
||||
}
|
||||
|
||||
# Build all modules
|
||||
#
|
||||
# @param $1 (optional): Maven profile to use.
|
||||
#
|
||||
build() {
|
||||
if [ -n "$1" ]; then
|
||||
mvn clean package -P$1
|
||||
else
|
||||
mvn clean package
|
||||
fi
|
||||
}
|
||||
|
||||
# Build a module
|
||||
#
|
||||
# @param $1 (mandantory): The artifact ID of the module to build.
|
||||
# @param $2 (optional) : The profile to use.
|
||||
#
|
||||
build_module() {
|
||||
if [ -n "$1" ]; then
|
||||
if [ -n "$2" ]; then
|
||||
mvn clean package -P$2 -pl $1 -am
|
||||
else
|
||||
mvn clean package -pl $1 -am
|
||||
fi
|
||||
else
|
||||
echo "Usage: ccm.sh build-module MODULE [PROFILE]"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Helper method for starting runtime for integration tests
|
||||
# @param $1 (mandantory): Runtime to start
|
||||
#
|
||||
start_test_runtime() {
|
||||
if [ "$1"="wildfly" ]; then
|
||||
echo "Starting Wildfly running tests..."
|
||||
#local wildfly_home=$(find_wildfly_home)
|
||||
|
||||
find_wildfly_home
|
||||
#pushd $(find_wildfly_home)
|
||||
pushd $wildfly_home
|
||||
LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$wildfly_pid_file ./bin/standalone.sh &
|
||||
popd
|
||||
echo "Waiting 120s for Wildfly to start up..."
|
||||
sleep 120
|
||||
|
||||
if [ -n "$profile" ]; then
|
||||
mvn clean test -P$profile
|
||||
else
|
||||
mvn clean test
|
||||
fi
|
||||
|
||||
echo "Stopping Wildfly..."
|
||||
pushd $wildfly_home
|
||||
kill $(<"$wildfly_pid_file")
|
||||
popd
|
||||
|
||||
elif [ "$1"="tomee" ]; then
|
||||
echo "Not implemented yet."
|
||||
exit 1
|
||||
else
|
||||
echo "Unsupported runtime $1. Supported runtimes are wildfly and tomee."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
# Helper method for stopping the test runtime
|
||||
#
|
||||
# @param $1 (mandantory): Runtime to stop
|
||||
#
|
||||
stop_test_runtime() {
|
||||
if [ "$1" = "wildfly" ]; then
|
||||
echo "Stopping Wildfly..."
|
||||
find_wildfly_home
|
||||
#local wildfly_home=$(find_wildfly_home)
|
||||
|
||||
pushd $wildfly_home
|
||||
kill $(<"$wildfly_pid_file")
|
||||
popd
|
||||
elif [ "$1" = "tomee" ]; then
|
||||
echo "Not implemented yet."
|
||||
exit 1
|
||||
else
|
||||
echo "Unsupported runtime $1. Supported runtime are wildfly and tomee."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
# Run all tests
|
||||
test_all() {
|
||||
echo "Running all tests for all modules..."
|
||||
if [[ $1 =~ ^wildfly-managed.* ]]; then
|
||||
echo "...using a managed Wildfly container"
|
||||
find_wildfly_home
|
||||
#local wildfly_home=$(find_wildfly_home)
|
||||
|
||||
echo "...using profile $1"
|
||||
echo ""
|
||||
if [ -n $STARTUP_TIMEOUT ]; then
|
||||
mvn clean test -Djboss.home=$wildfly_home -DstartuptimeoutInSeconds=$STARTUP_TIMEOUT -P$1
|
||||
else
|
||||
mvn clean test -Djboss.home=$wildfly_home -P$1
|
||||
fi
|
||||
|
||||
elif [[ $1 =~ ^wildfly-remote.* ]]; then
|
||||
echo "...using a remote Wildfly container"
|
||||
if [[ $2 == "start" ]]; then
|
||||
echo "...starting runtime"
|
||||
start_test_runtime wildfly
|
||||
else
|
||||
echo "...runtime is started manually"
|
||||
fi
|
||||
|
||||
echo "...using profile $1"
|
||||
mvn clean test -P$1
|
||||
|
||||
if [[ $2 == "start" ]]; then
|
||||
echo "...stopping runtime"
|
||||
fi
|
||||
else
|
||||
if [[ -n $1 ]]; then
|
||||
echo -n -e "\e[43m"
|
||||
echo "Warning: "
|
||||
echo "The provided profile starts with an unknown prefix. Tests"
|
||||
echo "which require a running application server may fail. "
|
||||
echo -n -e "\e[0m"
|
||||
|
||||
fi
|
||||
|
||||
mvn clean test
|
||||
fi
|
||||
}
|
||||
|
||||
# Run tests for a module
|
||||
test_module() {
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
echo -e "\e[41mUsage: ccm.sh test-module MODULE [PROFILE] [start]\e[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Running tests for module $1..."
|
||||
if [[ $2 =~ ^wildfly-managed.* ]]; then
|
||||
echo "...using a managed Wildfly container."
|
||||
find_wildfly_home
|
||||
#local wildfly_home=$(find_wildfly_home)
|
||||
echo "...using profile $2"
|
||||
echo ""
|
||||
if [ -n $STARTUP_TIMEOUT ]; then
|
||||
mvn clean test -Djboss.home=$wildfly_home -DstartupTimeoutInSeconds=$STARTUP_TIMEOUT -pl $1 -am -P$1
|
||||
else
|
||||
mvn clean test -Djboss.home=$wildfly_home -pl $1 -am -P$2
|
||||
fi
|
||||
elif [[ $2 =~ ^wildfly-remote.* ]]; then
|
||||
echo "Using a remote Wildfly container..."
|
||||
if [[ $3 == "start" ]]; then
|
||||
echo "...starting runtime"
|
||||
start_test_runtime wildfly
|
||||
else
|
||||
echo "...runtime is started manually"
|
||||
fi
|
||||
|
||||
echo "...using profile $2"
|
||||
mvn clean test -pl $1 -am -P$2
|
||||
|
||||
if [[ $3 == "start" ]]; then
|
||||
echo "...stopping runtime"
|
||||
fi
|
||||
else
|
||||
if [[ -n $2 ]]; then
|
||||
echo -n -e "\e[43m"
|
||||
echo "Warning: "
|
||||
echo "The provided profile starts with an unknown prefix. Tests"
|
||||
echo "which require a running application server may fail. "
|
||||
echo -n -e "\e[0m"
|
||||
fi
|
||||
|
||||
mvn clean test -pl $1 -am
|
||||
fi
|
||||
}
|
||||
|
||||
# Run a single testsuite or test
|
||||
run_test() {
|
||||
|
||||
if [ -z "$1" -o -z "$2" ]; then
|
||||
echo -e "\e[41mUsage: ccm.sh test-module MODULE TEST [PROFILE] [start]\e[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Running test $2 from module $1..."
|
||||
if [[ $3 =~ ^wildfly-managed.* ]]; then
|
||||
echo "...using a managed Wildfly container."
|
||||
find_wildfly_home
|
||||
#local wildfly_home=$(find_wildfly_home)
|
||||
|
||||
echo "...using Wildfly in $wildfly_home"
|
||||
echo "...using profile $3"
|
||||
echo ""
|
||||
if [ -n $STARTUP_TIMEOUT ]; then
|
||||
mvn clean test -Djboss.home=$wildfly_home -DstartupTimeoutInSeconds=$STARTUP_TIMEOUT -Dtest=$2 -DfailIfNoTests=false -pl $1 -am -P$3
|
||||
else
|
||||
mvn clean test -Djboss.home=$wildfly_home -Dtest=$2 -DfailIfNoTests=false -pl $1 -am -P$3
|
||||
fi
|
||||
elif [[ $3 =~ ^wildfly-remote.* ]]; then
|
||||
echo "Using a remote Wildfly container..."
|
||||
if [[ $4 == "start" ]]; then
|
||||
echo "...starting runtime"
|
||||
start_test_runtime wildfly
|
||||
else
|
||||
echo "...runtime is started manually"
|
||||
fi
|
||||
|
||||
mvn clean test -Dtest=$2 -DfailIfNoTests=false -pl $1 -am -P$3
|
||||
|
||||
if [[ $4 == "start" ]]; then
|
||||
echo "...stopping runtime"
|
||||
stop_test_runtime wildfly
|
||||
fi
|
||||
else
|
||||
if [[ -n $3 ]]; then
|
||||
echo -n -e "\e[43m"
|
||||
echo "Warning: "
|
||||
echo "The provided profile starts with an unknown prefix. Tests"
|
||||
echo "which require a running application server may fail. "
|
||||
echo -n -e "\e[0m"
|
||||
fi
|
||||
|
||||
mvn clean test -Dtest=$2 -DfailIfNoTests=false -pl $1 -am
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
install_runtime() {
|
||||
local runtime=""
|
||||
if [ -z $1 ]; then
|
||||
runtime="wildfly"
|
||||
else
|
||||
runtime=$1
|
||||
fi
|
||||
|
||||
echo "Installing runtime $runtime..."
|
||||
if [ $runtime = wildfly ]; then
|
||||
|
||||
if [ -d ./runtime/wildfly-$wildfly_version ]; then
|
||||
echo "Wildfly $wildfly_version is already installed as runtime. Exiting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d ./runtime ]; then
|
||||
mkdir ./runtime
|
||||
fi
|
||||
|
||||
pushd runtime
|
||||
if [ -f wildfly-$wildfly_version.tar.gz ]; then
|
||||
echo "Wildfly $wildfly_version has already been downloaded, using existing archive."
|
||||
else
|
||||
wget http://download.jboss.org/wildfly/$wildfly_version/wildfly-$wildfly_version.tar.gz
|
||||
fi
|
||||
|
||||
if [ ! -f wildfly-$wildfly_version.tar.gz ]; then
|
||||
echo "Failed to download Wildfly."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tar vxzf wildfly-$wildfly_version.tar.gz
|
||||
echo ""
|
||||
echo "Wildfly extracted successfully. Please provide a username and password for a Wildfly management user (admin):"
|
||||
echo ""
|
||||
local username=""
|
||||
while [ -z $username ]; do
|
||||
echo -n "Username.......: "
|
||||
read username
|
||||
if [ -z $username ]; then
|
||||
echo "Username can't be empty!"
|
||||
fi
|
||||
done
|
||||
local password=""
|
||||
local passwordrepeat=""
|
||||
while [ -z $password -o $password != $passwordrepeat ]; do
|
||||
echo -n "Password.......: "
|
||||
read -s password
|
||||
if [ -z $password ]; then
|
||||
echo ""
|
||||
echo "Password can't be empty!"
|
||||
continue
|
||||
fi
|
||||
echo ""
|
||||
echo -n "Repeat password: "
|
||||
read -s passwordrepeat
|
||||
if [ $password != $passwordrepeat ]; then
|
||||
echo ""
|
||||
echo "Passwords do not match."
|
||||
continue
|
||||
fi
|
||||
done
|
||||
echo ""
|
||||
echo "Creating Wildfly management user $username..."
|
||||
pushd wildfly-$wildfly_version
|
||||
sh ./bin/add-user.sh $username $password
|
||||
popd
|
||||
popd
|
||||
|
||||
echo ""
|
||||
echo "Wildfly $wildfly_version successfully installed in ./runtime."
|
||||
echo "Before running LibreCCM you have to configure a datasource."
|
||||
echo "To do that run"
|
||||
echo ""
|
||||
echo "ccm.sh run --with-runtime wildfly "
|
||||
echo ""
|
||||
echo "Then open a browser and go to "
|
||||
echo ""
|
||||
echo "localhost:9990"
|
||||
echo ""
|
||||
echo "and configure a datasource. Refer to the Wildfly documentation for more details."
|
||||
|
||||
elif [ $runtime = tomee ]; then
|
||||
echo "Not implememented yet."
|
||||
else
|
||||
echo "Unsupported runtime. Supported runtimes are wildfly (default) and tomee."
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
run() {
|
||||
local runtime=""
|
||||
local runtime_only=false
|
||||
local bundle=""
|
||||
|
||||
if [ "$1" = "-r" ]; then
|
||||
runtime="$2"
|
||||
runtime_only=true
|
||||
else
|
||||
runtime_only=false
|
||||
bundle=$1
|
||||
fi
|
||||
|
||||
if [ $runtime_only == true ]; then
|
||||
echo "Starting application server without deploying a bundle..."
|
||||
if [[ -z "$runtime" ]]; then
|
||||
echo "No application server set, using default (Wildfly)..."
|
||||
runtime="wildfly"
|
||||
fi
|
||||
|
||||
if [ $runtime="wildfly" ]; then
|
||||
find_wildfly_home
|
||||
# local wildfly_home=$(find_wildfly_home)
|
||||
|
||||
pushd $wildfly_home
|
||||
sh ./bin/standalone.sh
|
||||
popd
|
||||
elif [ $runtime="tomee" ]; then
|
||||
echo "Not implemented yet."
|
||||
exit 0
|
||||
else
|
||||
echo -e "\e[41mUnknown runtime $runtime. Please specify a supported runtime.\e[0m"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
if [[ -z $bundle ]]; then
|
||||
echo "No bundle specificed. Please specifiy a bundle."
|
||||
echo "Usage: ccm.sh run BUNDLE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Running bundle $bundle..."
|
||||
if [[ $bundle=~^.*-wildfly$ ]]; then
|
||||
find_wildfly_home
|
||||
# local wildfly_home=$(find_wildfly_home)
|
||||
echo "Using Wildfly in $wildfly_home..."
|
||||
mvn package wildfly:run -Djboss-as.home=${wildfly_home} -DskipTests -pl $bundle -am -Pgeneric
|
||||
elif [[ $bundle=~^.*-wildfly-swarm$ ]]; then
|
||||
echo "Not implemented yet"
|
||||
exit 0
|
||||
elif [[ $bundle=~^.*-tomee$ ]]; then
|
||||
echo "Not implemented yet"
|
||||
exit 0
|
||||
else
|
||||
echo -e "\e[41mThe bundle '$bundle' has an unknown suffix. Are you sure that you specified a valid bundle?\e[0m"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
stop_runtime() {
|
||||
local runtime=""
|
||||
if [ -n "$1" ]; then
|
||||
runtime=$1
|
||||
else
|
||||
runtime="wildfly"
|
||||
fi
|
||||
|
||||
if [ runtime = "wildfly"]; then
|
||||
echo "Nothing to do, the Wildfly Maven plugins automatically stops Wildfly."
|
||||
elif [ $runtime = "tomee"]; then
|
||||
echo "Not implemented yet."
|
||||
exit 0
|
||||
else
|
||||
echo "Unknown runtime."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
show_help() {
|
||||
echo "ccm.sh is a helper script for building and running LibreCCM in a
|
||||
development environment. It provides shortcuts for several Maven goals. The available subcommands are:
|
||||
|
||||
build-site [PROFILE] : Builds the Maven project site.
|
||||
build [PROFILE] : Build all LibreCCM modules.
|
||||
build-module MODULE [PROFILE] : Build a specific LibreCCM module.
|
||||
test-all [[PROFILE] [start]] : Run all tests for all modules.
|
||||
test-module MODULE [[PROFILE] [start]] : Run all tests for a specific
|
||||
LibreCCM module.
|
||||
run-test MODULE TEST [[PROFILE] [start]]: Run a specific testsuite or a
|
||||
single test method.
|
||||
install-runtime [RUNTIME] : Download and install a runtime
|
||||
(application server) into
|
||||
./runtime
|
||||
run [-r RUNTIME] [BUNDLE] : Run a runtime (application server)
|
||||
help : Show this help message.
|
||||
|
||||
A detailed description of the subcommands is provided in ccm-readme.txt"
|
||||
|
||||
|
||||
|
||||
exit 0;
|
||||
}
|
||||
|
||||
echo "param1: $1"
|
||||
echo "param2: $2"
|
||||
|
||||
case $1 in
|
||||
build-site) build_site $2 ;;
|
||||
build) build $2 ;;
|
||||
build-module) build_module $2 ;;
|
||||
test-all) test_all $2 $3 $4 ;;
|
||||
test-module) test_module $2 $3 $4 $5 ;;
|
||||
run-test) run_test $2 $3 $4 $5 ;;
|
||||
install-runtime) install_runtime $2 ;;
|
||||
run) run $2 $3 $4 ;;
|
||||
stop-runtime) stop_runtime $2 ;;
|
||||
help) show_help ;;
|
||||
*) show_help ;;
|
||||
|
||||
esac
|
||||
Loading…
Reference in New Issue