67 lines
1.6 KiB
Bash
Executable File
67 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
BABEL=./node_modules/babel-cli/bin/babel.js
|
|
SASS=./node_modules/node-sass/bin/node-sass
|
|
MUSTACHE=./node_modules/mustache/bin/mustache
|
|
|
|
DATA_FILE=data.json
|
|
|
|
SOURCE_ROOT=src
|
|
TARGET_DIR="iTunes Extras.ite"
|
|
|
|
rm -r "${TARGET_DIR}"
|
|
mkdir -p "${TARGET_DIR}"
|
|
|
|
cp -R TuneKit/ "${TARGET_DIR}/TuneKit/"
|
|
|
|
for file in $(find ${SOURCE_ROOT} -type f)
|
|
do
|
|
echo -n "Compiling $file..."
|
|
dir=$(dirname "$file")
|
|
filename=$(basename "$file")
|
|
extension="${filename##*.}"
|
|
filename="${filename%.*}"
|
|
filename="${filename%.*}" # For double extensions
|
|
|
|
if [[ $filename == _* ]]; then
|
|
echo -en "\033[0;33m"
|
|
echo " Skipping"
|
|
echo -en "\033[0;00m"
|
|
continue
|
|
fi
|
|
|
|
targetDir="${TARGET_DIR}${dir#${SOURCE_ROOT}}"
|
|
partialTarget="${targetDir}/${filename}"
|
|
|
|
mkdir -p "$targetDir"
|
|
|
|
case "$file" in
|
|
*.xml.mustache )
|
|
${MUSTACHE} "${DATA_FILE}" "${file}" "${partialTarget}.xml"
|
|
;;
|
|
*.plist.mustache )
|
|
${MUSTACHE} "${DATA_FILE}" "${file}" "${partialTarget}.plist"
|
|
;;
|
|
*.js.mustache )
|
|
${MUSTACHE} "${DATA_FILE}" "${file}" | ${BABEL} --out-file "${partialTarget}.js" --presets env
|
|
;;
|
|
*.js )
|
|
${BABEL} "${file}" --out-file "${partialTarget}.js" --presets env
|
|
;;
|
|
*.scss )
|
|
${SASS} --no-cache --output-style compressed "$file" > "${partialTarget}.css"
|
|
;;
|
|
*)
|
|
cp "$file" "${partialTarget}.${extension}"
|
|
;;
|
|
esac
|
|
echo -en "\033[0;92m"
|
|
echo " Done"
|
|
echo -en "\033[0;00m"
|
|
done
|
|
|
|
echo -n "Copying Assets... "
|
|
cp -R assets/ "${TARGET_DIR}/"
|
|
echo -en "\033[0;92m"
|
|
echo " Done"
|
|
echo -en "\033[0;00m" |