]> Kevux Git Server - fll/commit
Bugfix: Add stage setting to standards to prevent build state file conflicts.
authorKevin Day <Kevin@kevux.org>
Thu, 1 Aug 2024 02:33:32 +0000 (21:33 -0500)
committerKevin Day <Kevin@kevux.org>
Thu, 1 Aug 2024 03:08:26 +0000 (22:08 -0500)
commitd97585f864e7fbd6bfdd48291ed7bd1ad67315a3
tree91ac74e916e35616fba967c302a93a6344c16ab5
parent52cfac5ba0a4b98fd3184137793938fd914d2b13
Bugfix: Add stage setting to standards to prevent build state file conflicts.

The build state stage files are conflicting in some cases.
The old solution to this problem has been observed as insufficient.
The different build settings might have the same exact file name.

I have tossed around the idea of a settings Object such as "stage" in the past but I had previously opted against it.
I now believe that skipping over this was a mistake.

Add a new feature to the standards to fix this bug.
The "stage" value may now be specified.
The fakefile files accept the "stage" setting and passes the result along to any build settings.
The settings files accept the "stage" setting and uses the value by appending it to the stage files.

Only a single value is supported.
The forward and backward slashes are explicitly prohibited.
Other special characters are recommended to be avoided given the possibility of local file system problems.
Rather than erroring out, this slashes are stripped out.

The bootstrap.sh script is updated to support this.
The support for "stage" in the boostrap.sh script is very limited.
22 files changed:
build/scripts/bootstrap.sh
level_3/fake/c/main/build.c
level_3/fake/c/main/build.h
level_3/fake/c/main/build/load.c
level_3/fake/c/main/build/load.h
level_3/fake/c/main/build/print/warning.c
level_3/fake/c/main/build/print/warning.h
level_3/fake/c/main/build/string.c
level_3/fake/c/main/build/string.h
level_3/fake/c/main/common/string.c
level_3/fake/c/main/common/string.h
level_3/fake/c/main/common/type.c
level_3/fake/c/main/common/type.h
level_3/fake/c/main/fake.c
level_3/fake/c/main/make/load_fakefile.c
level_3/fake/c/main/make/load_fakefile.h
level_3/fake/c/main/make/operate.c
level_3/fake/c/main/make/operate_process_type.c
level_3/fake/documents/fakefile.txt
level_3/fake/documents/settings.txt
level_3/fake/specifications/fakefile.txt
level_3/fake/specifications/settings.txt