init.sh now regenerated build/etc/generated.make with perfect precision

This commit is contained in:
Rasmus Andersson 2020-04-05 15:07:47 -07:00
parent 789bb692ff
commit 8f4c3534f7

110
init.sh
View file

@ -32,13 +32,15 @@ else
if [[ "$1" == "-h" ]] || [[ "$1" == "-help" ]] || [[ "$1" == "--help" ]]; then if [[ "$1" == "-h" ]] || [[ "$1" == "-help" ]] || [[ "$1" == "--help" ]]; then
echo "usage: $0 [options]" >&2 echo "usage: $0 [options]" >&2
echo "options:" >&2 echo "options:" >&2
echo " -clean Start from scratch" >&2 echo " -clean Start from scratch" >&2
echo " -h, -help Show help and exit" >&2
exit 1 exit 1
fi fi
clean=false clean=false
if [[ "$1" == "-clean" ]]; then if [[ "$1" == "-clean" ]]; then
clean=true clean=true
shift
fi fi
platform=osx platform=osx
@ -362,59 +364,75 @@ else
# ———————————————————————————————————————————————————————————————————————————————————————————————— # ————————————————————————————————————————————————————————————————————————————————————————————————
# $BUILD_DIR/etc/generated.make # $BUILD_DIR/etc/generated.make
master_styles=( \
Thin \
ThinItalic \
Regular \
Italic \
Black \
BlackItalic \
)
derived_styles=( \
"Light : Thin Regular" \
"LightItalic : ThinItalic Italic" \
"ExtraLight : Thin Regular" \
"ExtraLightItalic : ThinItalic Italic" \
"Medium : Regular Black" \
"MediumItalic : Italic BlackItalic" \
"SemiBold : Regular Black" \
"SemiBoldItalic : Italic BlackItalic" \
"Bold : Regular Black" \
"BoldItalic : Italic BlackItalic" \
"ExtraBold : Regular Black" \
"ExtraBoldItalic : Italic BlackItalic" \
)
web_formats=( woff woff2 ) # Disabled/unused: eot
mkdir -p "$BUILD_DIR/etc"
GEN_MAKE_FILE=$BUILD_DIR/etc/generated.make GEN_MAKE_FILE=$BUILD_DIR/etc/generated.make
INIT_FILE_HASH= ; if [ -d .git ]; then INIT_FILE_HASH=$(git hash-object -w init.sh); fi
# Warning about UFOs moving from src to build/ufo GENERATE_MAKE_FILE=false
for f in src/Inter-*.ufo; do if $clean || [[ ! -f "$GEN_MAKE_FILE" ]]; then
if [ -f "$f" ]; then GENERATE_MAKE_FILE=true
echo "" >&2 else
echo "--------------------------- WARNING ----------------------------" >&2 # check to see if stored hash of init.sh is the same as the current init.sh
echo "" >&2 GEN_MAKE_FILE_LINE1=$(head -n 1 "$GEN_MAKE_FILE")
echo " UFO files have moved from ./src to ./build/ufo" >&2 if [[ "$GEN_MAKE_FILE_LINE1" != "#$INIT_FILE_HASH" ]]; then
echo "" >&2 # the makefile was generated by a different version of init.sh
echo "If you are working with a UFO workflow, please manually move" >&2 GENERATE_MAKE_FILE=true
echo "your UFO source files from ./src to ./build/ufo." >&2
echo "" >&2
echo "If you are working in a Glyphps workflow, then simply remove" >&2
echo "the UFO files in ./src to silence this warning." >&2
echo "" >&2
echo "----------------------------------------------------------------" >&2
echo "" >&2
fi fi
break fi
done
# Generate BUILD_DIR/etc/generated.make # Generate BUILD_DIR/etc/generated.make
if $clean || [[ ! -f "$GEN_MAKE_FILE" ]] || [[ "$0" -nt "$GEN_MAKE_FILE" ]]; then if $GENERATE_MAKE_FILE; then
# Warning about UFOs moving from src to build/ufo
for f in src/Inter-*.ufo; do
if [ -f "$f" ]; then
echo "" >&2
echo "--------------------------- WARNING ----------------------------" >&2
echo "" >&2
echo " UFO files have moved from ./src to ./build/ufo" >&2
echo "" >&2
echo "If you are working with a UFO workflow, please manually move" >&2
echo "your UFO source files from ./src to ./build/ufo." >&2
echo "" >&2
echo "If you are working in a Glyphps workflow, then simply remove" >&2
echo "the UFO files in ./src to silence this warning." >&2
echo "" >&2
echo "----------------------------------------------------------------" >&2
echo "" >&2
fi
break
done
echo "Generating '$GEN_MAKE_FILE'" echo "Generating '$GEN_MAKE_FILE'"
echo "# Generated by init.sh -- do not modify manually" > "$GEN_MAKE_FILE" echo "#$INIT_FILE_HASH" > "$GEN_MAKE_FILE"
echo "# Generated by init.sh -- do not modify manually" >> "$GEN_MAKE_FILE"
echo "" >> "$GEN_MAKE_FILE" echo "" >> "$GEN_MAKE_FILE"
master_styles=( \
Thin \
ThinItalic \
Regular \
Italic \
Black \
BlackItalic \
)
derived_styles=( \
"Light : Thin Regular" \
"LightItalic : ThinItalic Italic" \
"ExtraLight : Thin Regular" \
"ExtraLightItalic : ThinItalic Italic" \
"Medium : Regular Black" \
"MediumItalic : Italic BlackItalic" \
"SemiBold : Regular Black" \
"SemiBoldItalic : Italic BlackItalic" \
"Bold : Regular Black" \
"BoldItalic : Italic BlackItalic" \
"ExtraBold : Regular Black" \
"ExtraBoldItalic : Italic BlackItalic" \
)
web_formats=( woff woff2 )
mkdir -p "$BUILD_DIR/etc"
all_styles=() all_styles=()
instance_styles=() instance_styles=()