forked from cloudsimplus/cloudsimplus
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbootstrap.sh
More file actions
executable file
·67 lines (57 loc) · 2.39 KB
/
bootstrap.sh
File metadata and controls
executable file
·67 lines (57 loc) · 2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/bash
echo ""
echo "This script allows you to build CloudSim Plus and execute its examples."
echo "It requires maven to build all sources and create the JAR packages. Thus, make sure you have it installed."
echo "https://cloudsimplus.org"
echo ""
if [ "$(dirname "$0")" != "script" ]; then
SCRIPT=$(basename "$0")
echo "You must run this script from CloudSim Plus root directory by executing script/$SCRIPT">&2
exit 1
fi
#The root directory of CloudSim Plus project
BASEDIR="."
EXAMPLES="cloudsim-plus-examples"
#Gets the most recent jar file with a specific filename pattern
function get_examples_jar_file() {
find "$BASEDIR/$EXAMPLES/target/" -name "$EXAMPLES-*-with-dependencies.jar" | head -n 1
}
EXAMPLES_JAR=$(get_examples_jar_file)
#No parameter was passed to the script. Show the usage help
if [ "$#" -eq 0 ]; then
echo "Usage:"
echo " Build the project: $0 build"
echo " Run a specific example: $0 example_class"
echo " The 'example_class' has to be replaced by the fully qualified class name (that includes the package name), for instance:"
echo " $0 org.cloudsimplus.examples.BasicFirstExample"
echo " If you try to run an example before building the project, it will be built automatically"
echo ""
exit 1
fi
echo "CloudSim Plus Base Dir: $BASEDIR"
echo "CloudSim Plus Examples Package: $EXAMPLES_JAR"
echo ""
#If the build parameter was passed or if the examples jar doesn't exist, build the project
if [ "$1" = "build" ] || [ "$EXAMPLES_JAR" = "" ]; then
echo "Building all modules, running test suits and creating JAR files"
if mvn clean package install; then
echo "Error building CloudSim Plus. Check the log to try fix the build."
exit 1
fi
#If the examples jar variable is empty,
#the user requested to run an example before building the project.
#Here, the project was automatically built, then execute the requested example
if [ "$EXAMPLES_JAR" = "" ]; then
EXAMPLES_JAR=$(get_examples_jar_file)
echo ""
echo "CloudSim Plus was just built. Starting the requested example."
fi
fi
#If a parameter was passed and it is not equals to "build",
# it is expected to be a fully-qualified example class name. Thus, try to run that example.
if [ "$#" -eq 1 ] && [ "$1" != "build" ]; then
echo "Running the requested example $1:"
echo " java -cp $EXAMPLES_JAR $1"
echo ""
java -cp "$EXAMPLES_JAR" "$1"
fi