11

It is clear that not all local/custom/personal packages should be officially released, and it would be silly to do so just to benefit from built-in package management support. I'm wondering how to generate and activate autoloads for local packages? That is similar to how package.el does it for the installed packages from ELPA. In order to avoid reinventing the wheel, is there a way for it to "pretend" that some local directory (with subdirectories each of which is a local/custom/personal package) is ELPA? I'm also open to el-get if such a scenario can be supported via, for example, custom recipes.

I'm sure the task is pretty common and anybody who uses Emacs on advanced level comes to that point sooner or later. Could anybody share their experiences in this field?

Alexander Shukaev
  • 1,145
  • 10
  • 22
  • 3
    update-directory-autoloads can be used independently of any package manager. – npostavs Jun 18 '17 at 13:37
  • @npostavs, I know but it's not recursive and it's not a comprehensive solution in this case. For sure it will be not enough and I would have to wrap it into my own implementation. – Alexander Shukaev Jun 18 '17 at 13:51
  • You can provide a list of dirs (e.g., a dir and its descendants) to update-directory-autoloads, to, in effect, make it recursive. 2. You can use update-file-autoloads for every file you are interested in, regardless of which directory it is in.
  • – Drew Jun 18 '17 at 17:07
  • FYI: package.el is also non-recursive (i.e., it doesn't support packages with sources in subdirectories). – npostavs Jun 18 '17 at 18:01
  • I set up a local MELPA on Linux. I don't have any good solution for windows. I really wish emacs would support this type of thing out of the box. Might be worth checking use-package to see if it can. – eflanigan00 Jun 20 '17 at 12:25
  • @eflanigan00, use-package can't do that, I know for sure. – Alexander Shukaev Jun 20 '17 at 20:01