[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
add elpaa-batch-make-one-devel to elpa/admin/elpa-admin.el
From: |
Stephen Leake |
Subject: |
add elpaa-batch-make-one-devel to elpa/admin/elpa-admin.el |
Date: |
Thu, 29 Jul 2021 09:23:57 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (windows-nt) |
The attached patch adds elpaa-batch-make-one-devel to elpa-admin.el, and
adds a work-around for no symlink on Windows.
elpaa-batch-make-one-devel builds the tarball for one package; this
allows testing the package via list-packages by setting:
(add-to-list 'package-archives (cons "test" "/Projects/elpa/archive-devel"))
Ok to commit?
--
-- Stephe
diff --git a/elpa-admin.el b/elpa-admin.el
index bd2e7fed4d..98137808e9 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -319,7 +319,7 @@ Do it without leaving the current branch."
(elpaa--message "%s" (buffer-string)))))))))
(defun elpaa--make-one-tarball ( tarball dir pkg-spec metadata
- &optional revision-function one-tarball)
+ &optional revision-function one-tarball
no-symlink)
"Create file TARBALL for PKGNAME if not done yet.
Return non-nil if a new tarball was created."
(elpaa--message "Building tarball %s..." tarball)
@@ -397,9 +397,11 @@ Return non-nil if a new tarball was created."
(elpaa--call nil "git" "tag" "-f"
(format "%s-release/%s-%s"
elpaa--name pkgname vers))))
- (let ((link (expand-file-name (format "%s.tar" pkgname) destdir)))
- (when (file-symlink-p link) (delete-file link))
- (make-symbolic-link (file-name-nondirectory tarball) link))
+ (unless no-symlink
+ (let ((link (expand-file-name (format "%s.tar" pkgname)
destdir)))
+ (when (file-symlink-p link) (delete-file link))
+ ;; FIXME: make-symbolic-link not supported on Windows
+ (make-symbolic-link (file-name-nondirectory tarball) link)))
(dolist (oldtarball oldtarballs)
;; Compress oldtarballs.
(let ((file (cdr oldtarball)))
@@ -472,6 +474,13 @@ Return non-nil if a new tarball was created."
(elpaa--make-one-package (elpaa--get-package-spec
(pop command-line-args-left)))))
+(defun elpaa-batch-make-one-devel (&rest _)
+ "Build the new devel tarball (if needed) for packages listed on command
line."
+ (while command-line-args-left
+ (let* ((pkgname (pop command-line-args-left))
+ (pkg-spec (elpaa--get-package-spec pkgname)))
+ (elpaa--make-one-package pkg-spec nil t))))
+
(defun elpaa-batch-make-one-tarball (&rest _)
"Build a tarball for a particular package."
(while command-line-args-left
@@ -481,10 +490,11 @@ Return non-nil if a new tarball was created."
(delete-file tarball)
(elpaa--make-one-package pkg-spec tarball))))
-(defun elpaa--make-one-package (pkg-spec &optional one-tarball)
+(defun elpaa--make-one-package (pkg-spec &optional one-tarball devel-only)
"Build the new tarballs (if needed) for PKG-SPEC.
If ONE-TARBALL is non-nil, don't try and select some other revision and
-place the resulting tarball into the file named ONE-TARBALL."
+place the resulting tarball into the file named ONE-TARBALL.
+If DEVEL-ONLY is non-nil, only build the devel tarball."
(elpaa--message "Checking package %s for updates..." (car pkg-spec))
(let* ((pkgname (car pkg-spec))
(dir (expand-file-name pkgname "packages"))
@@ -523,11 +533,12 @@ place the resulting tarball into the file named
ONE-TARBALL."
dir pkg-spec
`(nil ,devel-vers
. ,(nthcdr 2 metadata))
- nil one-tarball))))
+ nil one-tarball devel-only))))
;; Try and build the latest release tarball.
(cond
(one-tarball nil)
+ (devel-only nil)
((or (equal vers "0")
;; -4 is used for "NN.MMsnapshot" and "NN.MM-git"
(member '-4 (version-to-list vers)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- add elpaa-batch-make-one-devel to elpa/admin/elpa-admin.el,
Stephen Leake <=