#!/bin/bash
#
# prepare_updateImages.sh -- This option initializes image files inside
# the working copy. When you provide this option, the centos-art.sh
# scripts renders image files from all design models available in the
# working copy. This step is required in order to satisfy dependencies
# from different components inside the working copy.
#
# Copyright (C) 2009, 2010, 2011, 2012 The CentOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# ----------------------------------------------------------------------
# $Id$
# ----------------------------------------------------------------------
function prepare_updateImages {
# Define list of directories that need to be rendered.
local DIRS=$(cli_getFilesList \
${TCAR_WORKDIR}/trunk/Identity/Images --maxdepth="1" \
--mindepth="1" --type="d" --pattern=".+/[[:alnum:]]+")
# CAUTION: The order in which the image components are rendered is
# very important. For example, in order for theme images to hold
# the branding information the `trunk/Identity/Images/Brands'
# directory must be rendered before `trunk/Identity/Images/Themes'
# directory. The reason of this is that brand images are not draw
# inside theme design models themselves, but combined with theme
# images using the ImageMagick tool suite once both have been
# rendered.
# Update list of directories to be sure that brands will always be
# rendered as first image component. Here we remove the brand
# component from the list and add it explicitly on top of all
# other directories in the list.
DIRS="${TCAR_WORKDIR}/trunk/Identity/Images/Brands
$(echo "$DIRS" | grep -v 'trunk/Identity/Images/Brands')"
# Render image components using the list of directories.
${CLI_BASEDIR}/${CLI_NAME}.sh render ${DIRS} --with-brands
}