diff --git a/bin/boostan b/bin/boostan index e664596..d4dfdba 100755 --- a/bin/boostan +++ b/bin/boostan @@ -22,9 +22,9 @@ BOOSTAN_INS_DIR=$(dirname $(dirname $TOOL_PATH)) . $BOOSTAN_INS_DIR/bin/script/log.sh . $BOOSTAN_INS_DIR/bin/script/configure.sh . $BOOSTAN_INS_DIR/bin/script/umbrello.sh +. $BOOSTAN_INS_DIR/bin/script/gnuplot.sh . $BOOSTAN_INS_DIR/bin/script/build.sh . $BOOSTAN_INS_DIR/bin/script/init.sh -#. $BOOSTAN_INS_DIR/bin/script/make.sh . $BOOSTAN_INS_DIR/bin/script/update.sh . $BOOSTAN_INS_DIR/bin/script/clean.sh . $BOOSTAN_INS_DIR/bin/script/disconnect.sh diff --git a/bin/script/build.sh b/bin/script/build.sh index 41105ee..c32cf01 100644 --- a/bin/script/build.sh +++ b/bin/script/build.sh @@ -120,6 +120,24 @@ function boostan_build(){ fi done + boostan_log "Trying to build the project plot files" + for image in "${image_path[@]}" + do + if [ -d "$BOOSTAN_WRK_DIR/$image" ]; then + boostan_gnuplot_check $image + if (($? > 0)); then + boostan_error "Project need %s but it's not installed" "$BOOSTAN_TOOL_GNUPLOT" + exit 1 + else + if [ "$BOOSTAN_TOOL_GNUPLOT_NEED" = "true" ]; then + boostan_gnuplot_build $image + else + boostan_log "No *.plot file found in the %s" "$image" + fi + fi + fi + done + boostan_log "Trying to build the project SVG files" for image in "${image_path[@]}" do diff --git a/bin/script/gnuplot.sh b/bin/script/gnuplot.sh new file mode 100644 index 0000000..ab6d164 --- /dev/null +++ b/bin/script/gnuplot.sh @@ -0,0 +1,84 @@ +#!/bin/bash +################################################################################# +# حق نشر 1392-1402 دانش پژوهان ققنوس +# حقوق این اثر محفوظ است. +# +# استفاده مجدد از متن و یا نتایج این اثر در هر شکل غیر قانونی است مگر اینکه متن حق +# نشر بالا در ابتدای تمامی مستندهای و یا برنامه‌های به دست آمده از این اثر +# بازنویسی شود. این کار باید برای تمامی مستندها، متنهای تبلیغاتی برنامه‌های +# کاربردی و سایر مواردی که از این اثر به دست می‌آید مندرج شده و در قسمت تقدیر از +# صاحب این اثر نام برده شود. +# +# نام گروه دانش پژوهان ققنوس ممکن است در محصولات به دست آمده از این اثر درج +# نشود که در این حالت با مطالبی که در بالا اورده شده در تضاد نیست. برای اطلاع +# بیشتر در مورد حق نشر آدرس زیر مراجعه کنید: +# +# http://dpq.co.ir/licence +################################################################################# + +BOOSTAN_TOOL_GNUPLOT=gnuplot +BOOSTAN_TOOL_GNUPLOT_EXIST=false +BOOSTAN_TOOL_GNUPLOT_NEED=false + +# +# بررسی برنامه‌های gnuplot +# +# برای کار با این پروژها باید مجموعه‌ای از ابزارها در سیستم نصب شده باشد. در اینجا +# بررسی می‌کنیم که این ابزارها نصب شده باشد. +# +# +# \return مقدار 0 اگر ابزارها موجود باشد و 1 اگر این ابزارها وجود نداشته باشد. +# +function boostan_gnuplot_check() { + BOOSTAN_TOOL_GNUPLOT_NEED=false + if ! hash "$BOOSTAN_TOOL_GNUPLOT" 2>/dev/null; then + BOOSTAN_TOOL_GNUPLOT_EXIST=false + boostan_log "Boostan require %s but it's not installed." "$BOOSTAN_TOOL_GNUPLOT" + else + BOOSTAN_TOOL_GNUPLOT_EXIST=true + boostan_log "Boostan use %s and it's installed." "$BOOSTAN_TOOL_GNUPLOT" + fi + find "$BOOSTAN_WRK_DIR/$1" -type f -regex ".*\.\(plot\)" -print0 | while read -d $'\0' file + do + BOOSTAN_TOOL_GNUPLOT_NEED=true + if [ "$BOOSTAN_TOOL_GNUPLOT_EXIST" = "true" ]; then + boostan_log "Boostan requires %s and it's installed." "$BOOSTAN_TOOL_GNUPLOT" + return 0 + else + boostan_error "Boostan requires %s but it's not installed." "$BOOSTAN_TOOL_GNUPLOT" + return 1 + fi + done + BOOSTAN_TOOL_GNUPLOT_NEED=false + boostan_log "Boostan does not require %s in the %s." "$BOOSTAN_TOOL_GNUPLOT" "$1" + return 0 +} + +# +# نمودارها را ایجاد می‌کند +# +# \param $1 مسیر جستجو و تولید نمودارها +# +function boostan_gnuplot_build() { + boostan_log "Looking for umbrella files in \'%s\'" "$BOOSTAN_WRK_DIR/$1" + if [ ! -d "$BOOSTAN_WRK_DIR/$1" ]; then + boostan_log "The path not exist \'%s\'" "$BOOSTAN_WRK_DIR/$1" + return 1; + fi + find "$BOOSTAN_WRK_DIR/$1" -type f -regex ".*\.\(plot\)" -print0 | while read -d $'\0' file + do + boostan_log "Processing %s file..." "$file" + filename=$(basename "$file") + directoryname=$(dirname "$file") + extension="${filename##*.}" + filename="${filename%.*}" + echo FILE: "${directoryname}/${filename}.pdf" + mkdir "$BOOSTAN_WRK_DIR/$1/$filename" + gnuplot "$file" + done + return 0; +} + +function boostan_gnuplot_clean () { + return 0; +} diff --git a/bin/script/make.sh b/bin/script/make.sh deleted file mode 100644 index 84052f3..0000000 --- a/bin/script/make.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -################################################################################# -# حق نشر 1392-1402 دانش پژوهان ققنوس -# حقوق این اثر محفوظ است. -# -# استفاده مجدد از متن و یا نتایج این اثر در هر شکل غیر قانونی است مگر اینکه متن حق -# نشر بالا در ابتدای تمامی مستندهای و یا برنامه‌های به دست آمده از این اثر -# بازنویسی شود. این کار باید برای تمامی مستندها، متنهای تبلیغاتی برنامه‌های -# کاربردی و سایر مواردی که از این اثر به دست می‌آید مندرج شده و در قسمت تقدیر از -# صاحب این اثر نام برده شود. -# -# نام گروه دانش پژوهان ققنوس ممکن است در محصولات به دست آمده از این اثر درج -# نشود که در این حالت با مطالبی که در بالا اورده شده در تضاد نیست. برای اطلاع -# بیشتر در مورد حق نشر آدرس زیر مراجعه کنید: -# -# http://dpq.co.ir/licence -################################################################################# - -cd src -rm ../output/*.pdf -xelatex -interaction=nonstopmode -synctex=-1 main.tex -xindy -L persian -C utf8 -I xindy -M main -t main.glg -o main.gls main.glo -xelatex -interaction=nonstopmode -synctex=-1 main.tex -cp ./main.pdf ../output