[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] elpa-admin 995404d: * elpa-admin.el: Allow generating autoloads f
From: |
Stefan Monnier |
Subject: |
[elpa] elpa-admin 995404d: * elpa-admin.el: Allow generating autoloads for "unlisted" packages |
Date: |
Sun, 3 Jan 2021 14:58:07 -0500 (EST) |
branch: elpa-admin
commit 995404d8076ce74e4b39e27a952c57f8fa5ffb6c
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
* elpa-admin.el: Allow generating autoloads for "unlisted" packages
(elpaa--get-package-spec): New arg `noerror`.
(elpaa-batch-generate-autoloads): Use it.
* GNUmakefile (descs <var>): Rename from `pkg_descs`.
(install-in-place, descs, autoloads): New targets.
---
GNUmakefile | 13 +++++++------
elpa-admin.el | 9 ++++++---
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/GNUmakefile b/GNUmakefile
index 3059222..2ffcec2 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -69,6 +69,7 @@ endef
# Compute the set of autolods files and their dependencies.
autoloads := $(foreach pkg, $(pkgs), $(pkg)/$(notdir $(pkg))-autoloads.el)
+descs := $(foreach pkg, $(pkgs), $(pkg)/$(notdir $(pkg))-pkg.el)
# FIXME: In 99% of the cases, autoloads can be generated in any order.
# But the `names' package is an exception because it sets up an advice that
@@ -83,6 +84,7 @@ autoloads := $(foreach pkg, $(pkgs), $(pkg)/$(notdir
$(pkg))-autoloads.el)
# packages/aggressive-indent/aggressive-indent-autoloads.el: \
# packages/names/names-autoloads.el
+# .PRECIOUS: packages/%-autoloads.el
packages/%-autoloads.el: elpa-packages
@#echo 'Generating autoloads for $@'
$(EMACS) -l admin/elpa-admin.el \
@@ -138,18 +140,17 @@ $(PKG_DESCS_MK): elpa-packages packages
$(EMACS) -Q -l admin/elpa-admin.el \
-f elpaa-batch-pkg-spec-make-dependencies $@
-# # Put into single_pkgs the set of -pkg.el files we need to keep up-to-date.
-# # I.e. all the -pkg.el files for the single-file packages.
-pkg_descs:=$(foreach pkg, $(pkgs), $(pkg)/$(notdir $(pkg))-pkg.el)
-#$(foreach al, $(single_pkgs), $(eval $(call RULE-srcdeps, $(al))))
packages/%-pkg.el:
@echo 'Generating description file $@'
@$(EMACS) -l admin/elpa-admin.el \
-f elpaa-batch-generate-description-file "$@"
-.PHONY: all-in-place
+.PHONY: all-in-place autoloads descs install-in-place
# Use order-only prerequisites, so that autoloads are done first.
-all-in-place: | $(autoloads) $(pkg_descs) $(pkgs) #$(extra_elcs)
+all-in-place: | install-in-place $(pkgs) #$(extra_elcs)
+autoloads: $(autoloads)
+descs: $(descs)
+install-in-place: autoloads descs
define FILE-els
$(filter %.el, $(1))
diff --git a/elpa-admin.el b/elpa-admin.el
index 77e57a1..2a48ecc 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -447,12 +447,15 @@ Return non-nil if a new tarball was created."
(replace-regexp-in-string "[^.0-9]+" ""
verdate))))
-(defun elpaa--get-package-spec (pkgname)
+(defun elpaa--get-package-spec (pkgname &optional noerror)
"Retrieve the property list for PKGNAME from `elpaa--specs-file'."
(let* ((specs (elpaa--get-specs))
(spec (assoc pkgname specs)))
(if (null spec)
- (error "Unknown package %S" pkgname)
+ (if (not noerror)
+ (error "Unknown package %S" pkgname)
+ (message "Unknown package %S" pkgname)
+ (list pkgname))
spec)))
(defun elpaa-batch-make-all-packages (&rest _)
@@ -1695,7 +1698,7 @@ More at " (elpaa--default-url pkgname))
(let* ((alf (pop command-line-args-left))
(dir (file-name-directory alf))
(pkgname (file-name-nondirectory (directory-file-name dir)))
- (pkg-spec (elpaa--get-package-spec pkgname))
+ (pkg-spec (elpaa--get-package-spec pkgname 'noerror))
(lisp-dir (elpaa--spec-get pkg-spec :lisp-dir)))
(require 'package)
(if (null lisp-dir)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] elpa-admin 995404d: * elpa-admin.el: Allow generating autoloads for "unlisted" packages,
Stefan Monnier <=