From 092600d163e771d31da07d88a03fe669aa4708f1 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 27 May 2023 10:52:37 +0100 Subject: [PATCH] unify these scripts: build, modify and update unify them, by turning them into symlinks pointing to a generic script named lbmk the script named lbmk is a fork of the script named "build", which just checks argument 0 and adapts accordingly all of these core scripts had the exact same overall logic, and they are thus compatible Signed-off-by: Leah Rowe --- build | 119 +------------------------------------------------------ lbmk | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ modify | 104 +----------------------------------------------- update | 103 +----------------------------------------------- 4 files changed, 125 insertions(+), 323 deletions(-) mode change 100755 => 120000 build create mode 100755 lbmk mode change 100755 => 120000 modify mode change 100755 => 120000 update diff --git a/build b/build deleted file mode 100755 index 8c65cb3..0000000 --- a/build +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env bash - -# generic build script, for building components (all of them) -# -# Copyright (C) 2014,2015,2020,2021,2023 Leah Rowe -# Copyright (C) 2015 Patrick "P. J." McDermott -# Copyright (C) 2015, 2016 Klemens Nanni -# Copyright (C) 2022, Caleb La Grange -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -projectname="$(cat projectname)" -build=./resources/scripts/build -mode="" -option="" - -main() -{ - if [ $# -lt 1 ]; then - die "Wrong argument count. Run: ./build help" - fi - mode="${1}" - - ./.gitcheck - - if [ "${mode}" != "dependencies" ]; then - ./resources/scripts/misc/versioncheck - fi - if [ "${mode}" = help ]; then - usage - exit 0 - elif [ $# -lt 2 ]; then - usage - exit 0 - fi - - option="${2}" - shift 2 - - case "${option}" in - list) - printf "Options for mode '%s':\n\n" ${mode} - listoptions "${mode}" - ;; - all) - for option in $(listoptions "${mode}"); do - "${build}/${mode}/${option}" $@ - done - ;; - *) - if [ ! -d "${build}/${mode}" ]; then - usage - die "Invalid mode '${mode}'. Run: ./build help" - elif [ ! -f "${build}/${mode}/${option}" ]; then - usage - printf "Invalid option for '%s'." ${mode} - die "Run: ./build ${mode} list'." - fi - "${build}/${mode}/${option}" $@ - esac - - ./.gitcheck clean -} - -# Takes exactly one mode as parameter -listoptions() -{ - for option in "${build}/${1}/"*; do - printf '%s\n' ${option##*/} - done -} - -usage() -{ - cat <<- EOF - USAGE: ./build