mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-28 14:37:04 +00:00
45 lines
1.6 KiB
Bash
Executable File
45 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Creates temporary documentation source directories in the CWD (a temp dir).
|
|
#
|
|
# ARGUMENTS:
|
|
# $1 - The absolute path to the project root.
|
|
|
|
# Do this if you want to use the utility functions. Note the path change.
|
|
source "$1/Tools/Documentation/support/processor_setup.sh"
|
|
|
|
# A function to collect sources. CWD is the temp dir.
|
|
# ARGS: $1=Project Root, $2=Framework Name, $3=Output Doc Dir Name
|
|
collect_sources() {
|
|
local project_root="$1"
|
|
local framework_name="$2"
|
|
local doc_dir_name="$3"
|
|
local tar_file="temp.tar" # Temp tar file in the CWD
|
|
|
|
processor_msg "--------------------------------------------------"
|
|
processor_msg "Processing framework: $framework_name"
|
|
|
|
# Find sources relative to the project root
|
|
find "$project_root/$framework_name" -name "*.j" | bsdtar -s "|^$project_root/$framework_name/|$doc_dir_name/|" -cnf "$tar_file" -T -
|
|
|
|
if [ -f "$tar_file" ]; then
|
|
processor_msg "Extracting archive to CWD..."
|
|
bsdtar xf "$tar_file"
|
|
rm "$tar_file"
|
|
else
|
|
processor_msg "ERROR: Failed to create tar archive for $framework_name." "red"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# --- Run Collection ---
|
|
collect_sources "$1" "AppKit" "AppKit.doc"
|
|
collect_sources "$1" "Foundation" "Foundation.doc"
|
|
|
|
# --- Post-Process Files ---
|
|
processor_msg "--------------------------------------------------"
|
|
processor_msg "Removing @import and @class from source files..."
|
|
# These directories now exist in our CWD (the temp dir)
|
|
find AppKit.doc -name *.j -exec sed -e '/@import.*/ d' -e '/@class.*/ d' -i '' {} \;
|
|
find Foundation.doc -name *.j -exec sed -e '/@import.*/ d' -e '/@class.*/ d' -i '' {} \;
|