Age | Commit message (Collapse) | Author |
|
Everything will be rebuilt when the Makefile or any included
Makefile (like Erlang.mk or plugins) change.
Only the .app will be rebuilt when the .app.src file changes.
|
|
|
|
'find', the underlying command of core_find, does not support multiple patterns
after -name. This patch fixes multi-pattern use in c_src.mk by calling core_find
once for each pattern.
|
|
|
|
|
|
|
|
|
|
|
|
This changes adds Rebar-like "apps/" functionality.
From this commit onward, Erlang.mk supports 4 types of repositories:
- Repo with an Erlang app at root level + deps/
- Repo with an Erlang app at root level + apps/ deps/
- Repo with no app at root level + deps/
- Repo with no app at root level + apps/ deps/
Example usage:
- make new-app in=webchat
- make new t=gen_server n=my_chat in=webchat
- make
Replace new-app with new-lib to create an OTP library instead of
an OTP application.
|
|
|
|
Also fixes two bugs with the new "no .app.src" method.
All tests now pass with both methods.
We can now test specific cases with make check c=$CASE.
|
|
|
|
|
|
|
|
|
|
We check the $(DEPS) and $(TEST_DEPS) variables now, instead
of the directory directly, because triq won't be there yet on
first build.
|
|
Among the improvements:
* Work with current versions of ErlyDTL
* Add DTL_PATH, defaulting to templates/
* Add DTL_SUFFIX, defaulting to _dtl (suffix of output module names)
* Simplify the Erlang code and port to the erlang function
The erlang function can now accept any command-line argument for
erl as optional second argument.
|
|
For best results use 'make -k ci'. 'make ci-prepare' can be
used to setup the OTP installations needed.
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
Previously we only did shared libraries, now we allow executables.
Also improve greatly the handling of autopatched rebar projects
by relying once again on the rebar_utils module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* This patch ensures building the NIF code under`c_src`
even on running `make tests`
* When `c_src/Makefile` exists:
* Split the Makefile invocation dependency into `app-c_src`
* Invoke `app-c_src` also in `test-build` as well as `app`
* When `c_src/Makefile` does not exist:
* Add `$(C_SRC_ENV) $(C_SRC_OUTPUT)` dependencies to `test-build`
|
|
Adds neo4j and shotgun back to the package index.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Changed the method to echo multiline variables into something
that should work for everyone.
|
|
Rebased and moved ct.cover.spec into the test/ directory.
|
|
|
|
|
|
The ci plugin allows testing your Erlang project across
any number of Erlang versions.
|
|
Avoids some annoying warnings when Common Test runs.
I believe this is a regression.
|
|
Compiles, runs tests and runs all sorts of analysis like Dialyzer.
|
|
|