forked from germedeb/aleta-postre
113 lines
3.5 KiB
Bash
Executable File
113 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# define the colors
|
|
info_color="\e[1;34m" # tasks color
|
|
comple_color="\e[1;32m" # Ok color
|
|
reset_colors="\e[0m" # this resets the coloring
|
|
|
|
|
|
# Check dependencies
|
|
# It mutes the output but verifies if the command returns an error
|
|
# if that's true, then the process can't continue
|
|
command -v inkscape >/dev/null 2>&1 || { echo >&2 "Please install 'inkscape'"; DEPSCOMPLETE=no; }
|
|
command -v parallel >/dev/null 2>&1 || { echo >&2 "Please install 'parallel'"; DEPSCOMPLETE=no; }
|
|
command -v bash >/dev/null 2>&1 || { echo >&2 "Please install 'bash'"; DEPSCOMPLETE=no; }
|
|
command -v optipng >/dev/null 2>&1 || { echo >&2 "Please install 'parallel'"; DEPSCOMPLETE=no; }
|
|
|
|
# here is the checking. it is sepparated for practicy
|
|
if [ DEPSCOMPLETE = no ]
|
|
then exit 1
|
|
fi
|
|
|
|
# Check for --help
|
|
# This is the help message
|
|
case "$@" in *--help*|*-h*)
|
|
printf "${info_color}Aleta's build script help${reset_colors}\\n\
|
|
|
|
--help -h Show this help.
|
|
|
|
--no-optipng
|
|
--avoid-optipng Don't launch optipng process
|
|
|
|
-r
|
|
--from-cero
|
|
--again
|
|
--restart Copy the SVG again and start the build again
|
|
|
|
-i
|
|
--update
|
|
--autoinstall Autoinstall to User directory
|
|
|
|
This software is licensed under the GPLv3 and the CC-BY-SA 4.0 licenses.
|
|
See README and LICENSE for more information"
|
|
exit 0;
|
|
esac
|
|
|
|
# begin exportation and stuff
|
|
printf "${info_color}This script runs the build tasks and performs an install (or an update) of aleta to your home${reset_colors}\\n\\n"
|
|
|
|
case "$@" in *-r*|*--restart*|*--again*|*--from-cero*)
|
|
RESTART=yes
|
|
esac
|
|
|
|
if [ $RESTART = yes ]
|
|
|
|
# this deletes the build directory
|
|
then printf "${info_color}cleaning up the build directory...${reset_colors}\\n"
|
|
rm _build/aleta -rf
|
|
|
|
# this creates the folder structure used in the build and while the building
|
|
printf "${info_color}rebuilding folder structure...${reset_colors}\\n"
|
|
./tasks/rebuildfolders.sh
|
|
|
|
# this copies the "SVG in" to the build folders
|
|
printf "${info_color}copying the files to build in the build dir${reset_colors}\\n"
|
|
cp icons/apps/*.svg _build/icons-t/apps/
|
|
cp icons/places/*.svg _build/icons-t/places/
|
|
cp icons/categories/*.svg _build/icons-t/categories/
|
|
cp icons/devices/*.svg _build/icons-t/devices/
|
|
cp icons/status/*.svg _build/icons-t/status/
|
|
cp icons/mimetypes/*.svg _build/icons-t/mimetypes/
|
|
cp icons/actions/*.svg _build/icons-t/actions/
|
|
cp icons/animations/*.svg _build/icons-t/animations/
|
|
|
|
fi
|
|
|
|
|
|
printf "${info_color}exporting all the icons... this will take a long time.${reset_colors}\\n"
|
|
./tasks/export/export-places.sh
|
|
./tasks/export/export-apps.sh
|
|
./tasks/export/export-categories.sh
|
|
./tasks/export/export-devices.sh
|
|
./tasks/export/export-status.sh
|
|
./tasks/export/export-mimetypes.sh
|
|
./tasks/export/export-actions.sh
|
|
./tasks/export/export-animations.sh
|
|
|
|
case "$@" in *--avoid-optipng*|*--no-optipng*)
|
|
OPTIPNG=avoid
|
|
esac
|
|
|
|
if [ $OPTIPNG != avoid ];
|
|
then printf "${info_color}Using optipng to reduce the size of the build...${reset_colors}\\n"
|
|
./tasks/opticall.sh
|
|
fi
|
|
|
|
printf "${info_color}Launching misc commands...${reset_colors}\\n"
|
|
./tasks/misc.sh
|
|
|
|
printf "${info_color}starting link process...${reset_colors}\\n"
|
|
./tasks/linkcall.sh
|
|
|
|
case "$@" in *--autoinstall*|*--update*|*-i*)
|
|
printf "${info_color}Performing an Update/Installation of aleta${reset_colors}\\n"
|
|
rm -rf ~/.icons/aleta
|
|
mkdir ~/.icons/aleta -p
|
|
cp -r ./_build/aleta/* ~/.icons/aleta/
|
|
printf "${info_color}Updating gtk icon cache...${reset_colors}\\n"
|
|
gtk-update-icon-cache ~/.icons/aleta/
|
|
|
|
esac
|
|
|
|
printf "${comple_color}\\nCOMPLETED! The icon pack is builded.${reset_colors}\\n"
|