updated regex and shell finding command

This commit is contained in:
Jake Goodwin 2026-07-19 20:13:40 -07:00
parent 5d31d1e97f
commit bca83430f7

View file

@ -1,21 +1,20 @@
#!/bin/sh
#!/usr/bin/env bash
# Author: Jake Goodwin
# Date: 2026
# Filename: otto.sh
# Description: Automates the TDD process.
CROSS_TC_WIN="$(pwd)/i686-w64-mingw32_toolchain.cmake"
CMAKE_VERBOSE="ON"
CROSS_COMPILE=1
TEMPLATE_FILES=".template_files"
MODULE_DIR="${TEMPLATE_FILES}/modules"
TEST_MODULE_DIR="${TEMPLATE_FILES}/test_module"
PROJECT_NAME="WCH_Template"
generate_tags_file () {
echo "generate_tags_file()"
# Saving current directory
#CUR_DIR=$(pwd)
PROJECT_NAME="template"
run_uc_tags() {
uctags --recurse=yes \
--languages=C,C++,Asm \
--extras=+q \
@ -24,9 +23,29 @@ generate_tags_file () {
--exclude=build \
--exclude=.git \
--exclude=.template_files \
--exclude=*.txt \
--exclude=*.md \
--exclude=*.S \
--exclude=*.json \
./
}
generate_tags_file () {
echo "generate_tags_file()"
if find "tags" -mmin +30 | grep -q .; then
echo "generating tags."
run_uc_tags
elif [ ! -e tags ]; then
echo "no tags file found runnning tags."
run_uc_tags
else
echo "Skipping tags generation."
fi
}
format_source_code () {
#Get a list of all C files
source_c_files=$(find ./src ./tests/shared -name '*.c')
@ -64,6 +83,10 @@ clear_cmake_cache () {
rm -rf CMakeCache.txt CMakeFiles/
}
clean_build_directory() {
rm -r ./build/*
}
does_module_exist () {
local basename="$1"
@ -206,16 +229,16 @@ add_new_module () {
add_c_mdoule () {
sed "s/module_name/${modname}/" $MODULE_DIR/module_name.c > $modsrc_dir/${modname}.c
sed -i'' "3s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.c
sed -e "s/module_name/${modname}/" $MODULE_DIR/module_name.c > $modsrc_dir/${modname}.c
sed -i'' -e "3s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.c
sed "s/module_name/${modname_cap}/" $MODULE_DIR/module_name.h > $modsrc_dir/${modname}.h
sed -i'' "3s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.h
sed -e "s/module_name/${modname_cap}/" $MODULE_DIR/module_name.h > $modsrc_dir/${modname}.h
sed -i'' -e "3s/todays_date/$(date +%Y)/" $modsrc_dir/${modname}.h
sed "s/module_name/${modname}/" $MODULE_DIR/CMakeLists.txt > $modsrc_dir/CMakeLists.txt
sed -e "s/module_name/${modname}/" $MODULE_DIR/CMakeLists.txt > $modsrc_dir/CMakeLists.txt
sed "s/module_name/${modname}/" $MODULE_DIR/test_module_name.cpp > $modtest_dir/test_${modname}.cpp
sed "s/module_name/${modname}/" $MODULE_DIR/TestCMakeLists.txt > $modtest_dir/CMakeLists.txt
sed -e "s/module_name/${modname}/" $MODULE_DIR/test_module_name.cpp > $modtest_dir/test_${modname}.cpp
sed -e "s/module_name/${modname}/" $MODULE_DIR/TestCMakeLists.txt > $modtest_dir/CMakeLists.txt
# Add the module to the cmake lists files.
add_module_to_cmakes "${modname}"