emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 6d0ed0e 03/11: Cleanup dependency management.


From: Jackson Ray Hamilton
Subject: [elpa] master 6d0ed0e 03/11: Cleanup dependency management.
Date: Sat, 14 Mar 2015 20:21:41 +0000

branch: master
commit 6d0ed0ecadb7aeab3ff0bf74aeb411b2aa10d60a
Author: Jackson Ray Hamilton <address@hidden>
Commit: Jackson Ray Hamilton <address@hidden>

    Cleanup dependency management.
---
 Makefile                         |    3 +-
 scripts/dependencies             |    2 +
 scripts/download-dependencies.el |   41 ++++++++++++++++++++++---------------
 3 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/Makefile b/Makefile
index c265382..3a6a0be 100644
--- a/Makefile
+++ b/Makefile
@@ -25,7 +25,8 @@ clean: uncompile
 
 ${DEPENDENCIES}:
        ${EMACS} -Q -batch \
-       -l scripts/download-dependencies.el
+       -l scripts/download-dependencies.el \
+       -f download-dependencies
 
 test: ${DEPENDENCIES}
        ${EMACS} -Q -batch \
diff --git a/scripts/dependencies b/scripts/dependencies
new file mode 100644
index 0000000..c2a9107
--- /dev/null
+++ b/scripts/dependencies
@@ -0,0 +1,2 @@
+https://raw.githubusercontent.com/mooz/js2-mode/master/js2-mode.el
+https://raw.githubusercontent.com/rejeep/ert-async.el/master/ert-async.el
diff --git a/scripts/download-dependencies.el b/scripts/download-dependencies.el
index b4a82fc..2ab24e2 100644
--- a/scripts/download-dependencies.el
+++ b/scripts/download-dependencies.el
@@ -17,8 +17,10 @@
 ;; You should have received a copy of the GNU General Public License
 ;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-;; This script downloads some dependencies for development so they don't need 
to
-;; be version-controlled.
+;; Download dependencies for development.
+
+;; Dependencies don't need to be version-controlled. They are also
+;; bleeding-edge, which is good because that is what most MELPA users are 
using.
 
 ;;; Code:
 
@@ -35,20 +37,25 @@
 `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 (download-dependencies-resolve-path "../libraries") t)
-  (dolist (file files)
-    (let* ((basename (file-name-nondirectory file))
-           (destination (download-dependencies-resolve-path
-                         (concat "../libraries/" basename))))
-      (when (null (file-exists-p destination))
-        (with-current-buffer (url-retrieve-synchronously file)
-          (download-dependencies-strip-headers)
-          (write-file destination))))))
+  (kill-line))       ; A line separates the headers from the file's content.
+
+(defun download-dependencies-get-dependencies ()
+  "Read the `dependencies' file as a list of URLs."
+  (with-temp-buffer
+    (insert-file-contents (download-dependencies-resolve-path 
"./dependencies"))
+    (split-string (buffer-substring-no-properties (point-min) (point-max)))))
+
+(defun download-dependencies ()
+  "Download dependencies for development."
+  (let ((files (download-dependencies-get-dependencies)))
+    (make-directory (download-dependencies-resolve-path "../libraries") t)
+    (dolist (file files)
+      (let* ((basename (file-name-nondirectory file))
+             (destination (download-dependencies-resolve-path
+                           (concat "../libraries/" basename))))
+        (unless (file-exists-p destination)
+          (with-current-buffer (url-retrieve-synchronously file)
+            (download-dependencies-strip-headers)
+            (write-file destination)))))))
 
 ;;; download-dependencies.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]