Age | Commit message (Collapse) | Author |
|
|
|
By default templates use tabs. Unfortunately there are misguided
heretics who prefer spaces. Bummer.
Two variables are introduced:
* SP=<number> can be set to use <number> spaces per indentation level.
* WS=<string> can be set to use <string> for each indentation level.
Most users will just want to use SP, for example:
make new t=gen_server n=my_server SP=4
Note that people who want tabs don't have to do anything; tabs
are still the default.
WS is reserved for advanced users. Normal Make rules apply: all
whitespaces are trimmed. To specify 4 spaces using WS, you can
do the following:
make new t=gen_server n=my_server WS='$(empty) $(empty)'
Ugly, right? So just use SP.
Finally, SP and WS can be put in your Makefile directly.
In fact, erlang.mk will automatically add SP to a newly
created project if it was used during creation. For example:
make -f erlang.mk bootstrap SP=2
So in time we should only need to make a note in the docs
at project creation time, as there is very little value
after that point.
|
|
This commit implements a core_find and core_ls function that
can be used to list files recursively or not.
A few other minute changes are included and a couple hacks
removed.
|
|
If you were using the index file as a "lock file",
bear with me for a moment, equivalent functionality
will soon be added. :-)
|
|
This will fix some issues where a symbolic link can link
to another symbolic link (Cowboy examples), and issues
where symbolic links can't be used (VirtualBox shared
folders).
|
|
This removes the need for a .app.src file entirely.
The PROJECT_* variables and the OTP_DEPS variable
allow us to specify everything we need.
REL_DEPS and BUILD_DEPS will be added later on to
allow users to cleanly specify those without adding
them to the .app file.
|
|
Necessary for increased compatibility as we de-rebarize
those dependencies.
|
|
This allows us to skip some of the worst hacks and improve
compatibility since we are using the original code.
|
|
|
|
|
|
|
|
|
|
|
|
Should only be used during development. Stolen idea from
Tristan Sloughter who stole it from Ahmad Sherif.
This commit also introduces the 'erlang' function for
executing Erlang code written directly in the Makefile.
The rest of the project will eventually move to using it
as it's much cleaner than the previous solution.
|
|
Compiles, runs tests and runs all sorts of analysis like Dialyzer.
|
|
|
|
Also added a copyright line in the eunit plugin due to the
extensive work I have done there a few days ago.
|
|
The general idea is that erlang.mk now keeps track of what kind
of build it generated. A test build is valid for all subsequent
test target invocations. A normal build is only valid for itself
and releases.
This rework adds the ability to specify deps to eunit.
The EUNIT_DIR variable is gone in favor of a more global TEST_DIR.
The tests-ct target got renamed to ct and documented.
Many more minor changes were done during the course of testing
these changes.
|
|
No more plugin stuff creeping into core.
|
|
|
|
Use "+A0 -noinput -boot start_clean" as start argument.
Use halt/{1,2} to shutdown the VM faster.
|
|
Parallel compilation is now only enabled for "make" and "make deps app".
To ensure order we spawn a new Make process for "deps", "app" and
"rel" when the "all" target (or no target) is used.
|
|
|
|
|
|
|
|
|
|
|
|
* The build.config says what gets into the generated erlang.mk.
* The default erlang.mk in the repository hasn't changed yet.
* Clean targets were separated into "clean" and "distclean".
* The "help" target was added to display some help message.
I probably broke a couple things...
|