Archive Project
This commit is contained in:
67
compile.sh
Normal file
67
compile.sh
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user