-;; -*- lexical-binding: t; -*-
+;;; scripts/download-dependencies.el --- Get files for development. -*- lexical-binding: t; -*-
;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-(defconst directory (file-name-directory (or load-file-name buffer-file-name)))
+;; This script downloads some dependencies for development so they don't need to
+;; be version-controlled.
+
+;;; Code:
+
+(defconst directory (file-name-directory (or load-file-name buffer-file-name))
+ "This file's directory.")
(defun resolve-path (path)
+ "Resolve a path relative to this file's directory."
(expand-file-name path directory))
(defun strip-headers ()
+ "Remove the http headers included in the output of
+`url-retrieve-synchronously'."
(goto-char 1)
(kill-paragraph 1) ; The headers are 1 paragraph. I hope.
(kill-line) ; A line separates the headers from the file's content.
)
+;; Download any missing dependencies.
(let ((files '("https://raw.githubusercontent.com/mooz/js2-mode/master/js2-mode.el"
"https://raw.githubusercontent.com/rejeep/ert-async.el/master/ert-async.el")))
(make-directory (resolve-path "../libraries") t)
(with-current-buffer (url-retrieve-synchronously file)
(strip-headers)
(write-file destination))))))
+
+;;; download-dependencies.el ends here