]> Kevux Git Server - fll/commitdiff
Update: implement the bootstrap.sh
authorKevin Day <thekevinday@gmail.com>
Sun, 7 Jun 2020 00:32:18 +0000 (19:32 -0500)
committerKevin Day <thekevinday@gmail.com>
Sun, 7 Jun 2020 00:32:18 +0000 (19:32 -0500)
build/scripts/bootstrap.sh

index c6e32c84c749f05f08da51609ae17de1e231a722..5f93996d8894eaa1d9be5502b513ff61b728c18c 100644 (file)
@@ -5,5 +5,91 @@
 # The purpose of this script is to provide an example on how to bootstrap this project using command line arguments.
 # Unlike the other scripts, this is not inteded to be run as if it were a program.
 # Instead this provides a functional example on what commands to perform to perform the bootstrap.
+#
+# This only accepts a two arguments (both are required):
+# 1) One of "individual", "level", or "monolithic".
+# 2) The version number of the project, such as "0.5.0".
+#
+# This will create a directory at he present working directory of the script caller called "fll" where everything will be installed.
+# This assumes the shell script is GNU bash.
+# This is not intended to provide any extensive or thorough error handling.
+
+original_path="$PWD/"
+install_path="${original_path}fll/"
+
+mkdir -vp $install_path
+
+if [[ $1 == "individual" ]] ; then
+  bash build/scripts/package.sh build -i &&
+
+  for i in f_type f_status f_memory f_string f_utf f_color f_console f_conversion f_directory f_environment f_file f_fss f_path f_pipe f_print f_serialized f_socket fl_color fl_console fl_directory fl_file fl_fss fl_print fl_serialized fl_socket fl_status fl_string fl_utf fl_utf_file fll_directory fll_execute fll_file fll_fss fll_program fll_status ; do
+    cd package/individual/$i-$2/ &&
+
+    ./generate.sh clean &&
+
+    ./generate.sh build -w $install_path -m individual &&
+
+    ./install.sh -w $install_path &&
+
+    cd $original_path || break
+  done
+fi
+
+if [[ $1 == "level" ]] ; then
+  bash build/scripts/package.sh build -l &&
+
+  cd package/level/fll-level_0-$2/ &&
+
+  ./generate.sh clean &&
+
+  ./generate.sh build -w $install_path -m level &&
+
+  ./install.sh -w $install_path &&
+
+  cd $original_path &&
+
+  cd package/level/fll-level_1-$2/ &&
+
+  ./generate.sh clean &&
+
+  ./generate.sh build -w $install_path -m level &&
+
+  ./install.sh -w $install_path &&
+
+  cd $original_path &&
+
+  cd package/level/fll-level_2-$2/ &&
+
+  ./generate.sh clean &&
+
+  ./generate.sh build -w $install_path -m level &&
+
+  ./install.sh -w $install_path
+fi
+
+if [[ $1 == "monolithic" ]] ; then
+  bash build/scripts/package.sh build -m &&
+
+  cd package/monolithic/fll-$2/ &&
+
+  ./generate.sh clean &&
+
+  ./generate.sh build -w $install_path -m monolithic &&
+
+  ./install.sh -w $install_path
+fi
+
+# the following in an example on building the Featureless Make project (fake) from the project bootstrapped from above.
+
+#bash build/scripts/package.sh build -p &&
+
+#cd package/programs/fake-$2/ &&
+
+#./generate.sh clean &&
+
+#./generate.sh build -w $install_path -m $1 &&
+
+#./install.sh -w $install_path
 
-# @todo
+# regardless of what happens always return to the starting directory.
+cd $original_path