Commit Graph

113 Commits

Author SHA1 Message Date
Henrik Lissner
627280c5da
make run now supports additional args via the ARGS envvar 2018-03-15 00:20:40 -04:00
Henrik Lissner
3e0e5bcad8
Refactor makefile
For better cross platform compatibility (rely on Emacs; nofewer bash
commands) and correctness (keep tasks synchronous, even when make is
called with -j|--jobs)
2018-03-12 13:32:02 -04:00
Henrik Lissner
0425724571
Major rewrite of doom module API
+ Fix #446, where the .local/packages.el cache was generated with
  a faulty load-path.
+ Entries in the doom-modules hash table are now plists, containing
  :flags and :path, at least.
+ Add doom-initialize-modules for loading module config.el files.
+ Add doom-module-get for accessing this plist, e.g.

    (doom-module-get :some module)         ; returns plist
    (doom-module-get :some module :flags)  ; return specific property

+ Replace doom-module-enable with doom-module-set, e.g.

    (doom-module-set :some module :flags '(+a +b +c))

+ Remove doom-module-flags (use doom-module-get instead)
+ Rename doom-module-enabled-p with doom-module-p
+ Replace doom-module-path with doom-module-find-path and
  doom-module-expand-file. The former will search for an existing module
  or file in doom-modules-dirs. The latter will expand the path from
  whatever path is stored in doom-modules.
+ Replace doom-module-paths with doom-module-load-path
+ Changed doom! to allow for nested doom! calls by delaying the loading
  of module config.el files until as late as possible.
+ Refactor doom-initialize-packages to only ihitialize package state
  (i.e. doom-packages, package-alist, and quelpa-cache), rather than its
  previous behavior of loading all Doom files (and sometimes all module
  files). This is faster and more predictable.
2018-03-02 19:14:45 -05:00
Henrik Lissner
c3fb916435
Use native wildcard+dir over shell find in makefile
OS-agnostic. Only depends on GNU Make.
2018-02-11 00:51:21 -05:00
Henrik Lissner
2e5bfe623a
Add 'make info' task 2018-02-10 17:27:15 -05:00
Henrik Lissner
1fda25ce9a
Force make commands to traverse symlinks too 2018-01-29 23:23:48 -05:00
Henrik Lissner
fe3db542ed
Fix ERT not running properly on make test 2017-12-10 15:37:32 -05:00
Henrik Lissner
5f166d9297
Add --quick to Emacs batch calls (experimental) 2017-11-07 13:09:24 +01:00
Henrik Lissner
2516a123d6
Use -- to delimit arguments 2017-11-07 13:08:19 +01:00
Henrik Lissner
c45e2c4918
General & minor refactor+cleanup 2017-11-05 19:54:44 +01:00
Henrik Lissner
95a5b46dc5
New // naming convention + refactor doom management functions 2017-11-05 19:54:43 +01:00
Henrik Lissner
27cd8d8432
Removed colon from makefile task names 2017-09-23 13:48:07 +02:00
Henrik Lissner
9f6b90cf13
Add convenience task aliases to makefile 2017-09-15 14:37:19 +02:00
Henrik Lissner
5346670ab0 Add doom/recompile-packages (make compile:elpa)
If you upgrade (or downgrade) Emacs, there may be byte-compilation
errors. This works around that.
2017-07-28 19:21:00 +02:00
Henrik Lissner
5ae8dd3159
Refactor makefile 2017-07-09 22:55:06 +02:00
Henrik Lissner
b0ef2569f3
Rename core + module byte-compilation make tasks
+ make core => make compile:core
+ make MODULE/SUBMODULE => make compile:MODULE/SUBMODULE
2017-07-09 22:53:50 +02:00
Henrik Lissner
1ff0c2a8e7
doom/clean-compiled => doom/clean-compiled-files 2017-07-09 22:52:28 +02:00
Henrik Lissner
27b344b64a
Rename doom/clean-cache => doom/reset (+ make reset) 2017-07-09 22:51:36 +02:00
Henrik Lissner
c8e138ff51
Rename bin/doctor => bin/doom-doctor 2017-07-09 22:48:54 +02:00
Carlos Garcia
dd5d530f61 Remove repeated flags in run's Makefile rule. 2017-07-07 12:33:28 +02:00
Henrik Lissner
c7f42c4706
Fix make run using incorrect emacs.d #142 2017-07-06 16:42:35 +02:00
Henrik Lissner
9fdc449976
Remove update from make default task 2017-06-29 02:40:29 +02:00
Henrik Lissner
cbfb3eeda4
Fix, rename & move doom/run-tests => doom-run-tests 2017-06-24 17:15:22 +02:00
Henrik Lissner
77ce7d11b4
Remove forced DEBUG on make testi:* 2017-06-15 15:19:03 +02:00
Henrik Lissner
9c93c453e8
Reorganize unit-tests and test workflow
+ Moved unit tests out of tests/ and into their respective modules.
+ Rewrite makefile and added these tasks:
  + <MODULE>/<SUBMODULE> -- byte-compile a specific module
  + test:<MODULE>/<SUBMODULE> -- runs tests for a specific module
  + testi -- run tests in an interactive session of Emacs (WIP)
  + run -- opens an Emacs session with this config; useful when it is in
    a non-standard location.
2017-06-14 21:15:19 +02:00
Henrik Lissner
4be5ff1092
Redo unit-test initialization 2017-06-09 01:09:19 +02:00
Henrik Lissner
73fb6b0800
Simplify make core & make <module-path> tasks 2017-06-09 01:09:19 +02:00
Henrik Lissner
cd078e5e5c
Refactor make core (more flexible) 2017-06-07 17:20:29 +02:00
Henrik Lissner
3ca9d45216 Add generic %.el => %.elc make task 2017-06-07 16:01:35 +02:00
Henrik Lissner
9c5788baf0 Add make clean-pcache task 2017-06-07 16:01:35 +02:00
Henrik Lissner
9acdbc8552 Add make <MODULE PATH> task for compiling modules 2017-06-07 16:01:21 +02:00
Henrik Lissner
a7dc2bc83c Rename make compile-lite => make core 2017-06-07 16:01:21 +02:00
Henrik Lissner
3d42291314
Refactor Makefile 2017-06-05 17:36:22 +02:00
Henrik Lissner
4de9cd8088 Add bin/doctor to diagnose environment issues 2017-05-20 18:40:13 +02:00
Henrik Lissner
ce49f94bbe Remove doom-bootstrap system (will be replaced) 2017-05-20 18:40:13 +02:00
Henrik Lissner
919a8b091e Remove bootstrap task from makefile 2017-05-20 18:40:13 +02:00
Henrik Lissner
8a08d0ab87 Involve autoremove in make default task 2017-05-16 22:25:51 +02:00
Henrik Lissner
21ecf48cca Simplify makefile 2017-04-17 23:34:08 -04:00
Henrik Lissner
4e5a1d2ed2 Makefile: replace TESTS glob with find command 2017-04-12 09:19:35 -04:00
Henrik Lissner
8ae821e4f8 Refactor Makefile 2017-04-05 21:43:02 -04:00
Henrik Lissner
e1d4ed6b88 Makefile: rearrange order of default tasks 2017-04-05 15:33:51 -04:00
Henrik Lissner
acb7536e64 Add core-lib & core-lib-{buffers,package} unit tests + tasks 2017-04-04 22:18:52 -04:00
Henrik Lissner
50062dadd7 Add doom/recompile; use it in doom/reload; refactor doom/reload 2017-03-28 15:53:53 -04:00
Henrik Lissner
be988876c1 Add make reload, to reload doom session for whatever reason 2017-03-27 23:23:07 -04:00
Henrik Lissner
e8e66c88d0 core-packages: add doom/compile-lite and make compile-lite 2017-03-25 01:03:02 -04:00
Henrik Lissner
804aba93f5 Implement bootstrap functionality + make bootstrap (WIP) 2017-03-20 02:45:39 -04:00
Henrik Lissner
de08d0a2db Makefile: refactor 2017-03-20 02:44:52 -04:00
Henrik Lissner
8aac4b2091 doom/clear-* => doom/clean-* (consistent with makefile tasks) 2017-03-19 23:48:43 -04:00
Henrik Lissner
923d4585fa Extract make clean/clean-cache into elisp; new doom-etc-dir for non-volatile temp files 2017-03-16 23:38:22 -04:00
Henrik Lissner
776bc96977 Refactor doom/autoloads init process 2017-02-20 13:12:24 -05:00