#!/bin/sh

emacs -nw -Q --batch --eval "
(progn 
 (require 'package)
 (package-initialize)

 (add-to-list 'load-path \"./org-mode-assets//\")

 (setq package-list '(htmlize clojure-mode))

 (setq package-archives '((\"elpa\" . \"http://tromey.com/elpa/\")
                          (\"gnu\" . \"http://elpa.gnu.org/packages/\")
                          (\"marmalade\" . \"https://marmalade-repo.org/packages/\")))
 (package-initialize)

 (unless package-archive-contents
   (package-refresh-contents))

 (dolist (package package-list)
   (unless (package-installed-p package)
     (package-install package)))

 (require 'htmlize)
 (require 'org)
 (require 'org-macs)
 (require 'ox-html)
 (require 'ob)
 (global-font-lock-mode 1)
 (require 'clojure-mode)
 (require 'clojure-mode-extra-font-locking)
 (setq org-export-with-section-numbers nil)
 (setq org-babel-use-quick-and-dirty-noweb-expansion t)

 (set-face-foreground 'font-lock-string-face \"#990000\")
 (set-face-foreground 'font-lock-keyword-face \"#ff5f00\")
 (set-face-foreground 'font-lock-function-name-face \"#d7af00\")
 (set-face-foreground 'font-lock-builtin-face \"#66cc00\")
 (set-face-foreground 'font-lock-comment-face \"#008787\")

 (find-file \"ferret.org\")
 (org-babel-tangle)
 (progn 
   (org-html-export-as-html nil)
   (with-current-buffer \"*Org HTML Export*\"
     (write-region (org-no-properties (buffer-string)) nil \"ferret-manual.html\"))))"

cd src/
lein uberjar
cd ../

if [ ! -f src/target/ferret.jar ]; then
    cat src/resources/bash_executable_stub.sh src/ferret.jar > ferret && chmod +x ferret
else
    cat src/resources/bash_executable_stub.sh src/target/ferret.jar > ferret && chmod +x ferret
fi
