refactor: namespace restructure of entire codebase
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
Reorganize all source files into a hierarchical namespace structure with dot-separated unit names matching directory paths. Major changes: - src/prog/ -> src/app/ (app.*.pas) - src/fault/ -> src/arch/x86/fault/ (arch.x86.fault.*.pas) - src/isr/ -> src/arch/x86/isr/ (arch.x86.isr.*.pas) - src/include/ -> src/core/ (core.*.pas) + src/arch/x86/ - src/driver/ subtree reorganized with driver.* namespace prefixes - src/driver/storage/con/ -> src/driver/storage/ctl/ (Windows reserved name fix) - src/driver/storage/ split into con(ctl)/fs/vol/ subdirectories - src/driver/net/ flattened from l1-l5 layers to driver.net.*.pas - kernel.pas -> asuro.pas, faults.pas -> arch.x86.faults.pas - stdio.pas/syslog.pas -> io/io.stdio.pas, io/io.syslog.pas - processmanager.pas -> proc/proc.mgr.pas - lmemorymanager.pas -> memory/memory.heap.pas - Build scripts moved to toolchain/ - Added compat/ shims for lmemorymanager and types - Added doc/namespace.md tracking the refactor 197 files changed, 6292 insertions(+), 5526 deletions(-)
This commit is contained in:
1 parent
e922f086c2
commit
6fa008ed79
197 files changed
+6291
-5525
No files matched your search
@@ -0,0 +1,76 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
TOOLCHAIN_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
echo " "
|
||||
echo "======================="
|
||||
echo " "
|
||||
echo "Generating Versioning Info..."
|
||||
echo " "
|
||||
chmod +x "${TOOLCHAIN_DIR}/compile_checksum.sh"
|
||||
"${TOOLCHAIN_DIR}/compile_checksum.sh"
|
||||
outfile="src/core/core.version.pas"
|
||||
file="version"
|
||||
{
|
||||
# this script requires semver tool
|
||||
wget -q https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver -O bin/semver && chmod +x bin/semver
|
||||
export PATH="$(pwd)/bin:$PATH"
|
||||
}
|
||||
tagref=$(git describe --tags)
|
||||
revision=$(git rev-parse --short=8 HEAD)
|
||||
major=$(semver get major $tagref)
|
||||
minor=$(semver get minor $tagref)
|
||||
sub=$(semver get patch $tagref)
|
||||
version=$(semver get release $tagref)
|
||||
release=$(semver get prerel $tagref)
|
||||
build=$(semver get build $tagref)
|
||||
linecount=$("${TOOLCHAIN_DIR}/loc.sh" | awk '{print $1}')
|
||||
sourcecount=$(find src -type f | wc -l)
|
||||
drivercount=$(find src/driver -type f | wc -l)
|
||||
fpcversion=$(fpc -h | grep -m 1 version | awk '{print $5}')
|
||||
makeversion=$(make -v | grep GNU | awk '{print $3}' | grep -v GNU)
|
||||
nasmversion=$(nasm -v | awk '{print $3'})
|
||||
compiledate=$(date +"%d/%m/%y")
|
||||
compiletime=$(date +"%T")
|
||||
checksum=$(md5sum checksums.md5 | awk '{print $1}')
|
||||
|
||||
[[ -n "$release" ]] && version="$version-$release"
|
||||
cat > $outfile <<EOF
|
||||
unit core.version;
|
||||
|
||||
interface
|
||||
|
||||
const
|
||||
VERSION = '$version';
|
||||
VERSION_MAJOR = '$major';
|
||||
VERSION_MINOR = '$minor';
|
||||
VERSION_SUB = '$sub';
|
||||
REVISION = '$revision';
|
||||
RELEASE = '$release';
|
||||
LINE_COUNT = $linecount;
|
||||
FILE_COUNT = $sourcecount;
|
||||
DRIVER_COUNT = $drivercount;
|
||||
FPC_VERSION = '$fpcversion';
|
||||
NASM_VERSION = '$nasmversion';
|
||||
MAKE_VERSION = '$makeversion';
|
||||
COMPILE_DATE = '$compiledate';
|
||||
COMPILE_TIME = '$compiletime';
|
||||
CHECKSUM = '$checksum';
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
EOF
|
||||
echo "Generating release info..."
|
||||
set +e # These can fail on branches and such, for now
|
||||
wget -q https://img.shields.io/badge/version-$major.$minor.$sub--$revision$release-blue.svg -O release/version.svg
|
||||
wget -q https://img.shields.io/badge/revision-$revision-blue.svg -O release/revision.svg
|
||||
wget -q https://img.shields.io/badge/release-$release-blue.svg -O release/release.svg
|
||||
wget -q https://img.shields.io/badge/lines-$linecount-blueviolet.svg -O release/lines.svg
|
||||
wget -q https://img.shields.io/badge/files-$sourcecount-blueviolet.svg -O release/files.svg
|
||||
wget -q https://img.shields.io/badge/drivers-$drivercount-blueviolet.svg -O release/drivers.svg
|
||||
wget -q https://img.shields.io/badge/FPC_version-$fpcversion-lightgrey.svg -O release/fpcversion.svg
|
||||
wget -q https://img.shields.io/badge/NASM_version-$nasmversion-lightgrey.svg -O release/nasmversion.svg
|
||||
wget -q https://img.shields.io/badge/MAKE_version-$makeversion-lightgrey.svg -O release/makeversion.svg
|
||||
wget -q https://img.shields.io/badge/release_date-$compiledate-lightgrey.svg -O release/date.svg
|
||||
wget -q https://img.shields.io/badge/fingerprint-$checksum-important.svg -O release/fingerprint.svg
|
||||
echo "Done versioning."
|
||||
Reference in new issue
Block a user