aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-12-03Add version.mk to the plugins listLoïc Hoguin
2018-12-03Print a changelog when updating Erlang.mkLoïc Hoguin
2018-12-03Don't rebuild dependencies by defaultLoïc Hoguin
Unless it's a symbolic link, it's built directly, FULL=1 is set or the file ebin/dep_built in the dependency is removed. See the documentation changes for more details. This provides immense build speed gains, for example on a RabbitMQ project it went from 10s to 1s for the 2nd+ builds.
2018-12-03Move autopatch tests into their own test suiteLoïc Hoguin
2018-11-30Document selecting RELX_CONFIG for prod/devLoïc Hoguin
2018-11-30Update Relx to v3.27.0Loïc Hoguin
2018-11-30Validate the .app file after generating itLoïc Hoguin
2018-11-30Document that DEPS has precedence over TEST_DEPS etc.Loïc Hoguin
And a workaround to force a specific version to be downloaded.
2018-11-30Hide some pointless output behind V=1Loïc Hoguin
2018-11-30Make "make run" work for non-extended releases tooLoïc Hoguin
2018-11-30Fix Dialyzer when a project has and uses parse transformsLoïc Hoguin
2018-11-30Support Elixir as a dependency via ELIXIR_PATCH=1Loïc Hoguin
For example: DEPS = elixir ELIXIR_PATCH = 1 include erlang.mk A language test suite will soon be added with a test for this.
2018-11-30Correct expanding of shell variables in autopatchLoïc Hoguin
The $(...) form was improperly converted. In addition it must be changed into a $(shell ...) form.
2018-11-30Add test for plugins that include the word rebarLoïc Hoguin
Seems that was fixed a while ago.
2018-11-30Add rebar3 hex package definenevar
2018-11-30Add autopatch for LFE projectsLoïc Hoguin
Currently experimental. It'll enable lfe.mk when it encounters the rebar3 plugin lfe-compile. Tested against some small library. Note that it adds lfe as a build dependency with no version given so the latest master will be fetched right now. This can be overriden in the parent project.
2018-11-29Ignore rebar3 plugins for the time beingLoïc Hoguin
Until it is found that one is needed to compile a project.
2018-11-29Add the target help-plugins to document external pluginsLoïc Hoguin
It's better than extending help:: because this gets printed at the end instead of before Erlang.mk's own help.
2018-11-29Rebuild the env.mk file when the Erlang/OTP has changedLoïc Hoguin
We also rebuild the C code since C code tends to not stay compatible between different Erlang versions. Based on a patch by Slava Yurin.
2018-11-29Rebuild C projects when Makefiles changeLoïc Hoguin
2018-11-28Call git describe for {vsn,git} during autopatchLoïc Hoguin
2018-11-28Document parallel buildingLoïc Hoguin
2018-11-28Remove some duplicate information from the legacy READMELoïc Hoguin
2018-11-28Rename the rel/ directory to config/ by defaultLoïc Hoguin
2018-11-28Add option DTL_PREFIX for erlydtl-produced module namesLoïc Hoguin
2018-11-28Fix asn1 compilation with the +maps optionLoïc Hoguin
When this option is used no include file is generated. Therefore don't error out if no include file can be found.
2018-11-28Add built-in support for gpb for building proto filesLoïc Hoguin
When gpb is found in DEPS or BUILD_DEPS then it is used instead of erlang_protobuffs.
2018-11-28Modernize the protobuffs pluginLoïc Hoguin
2018-11-27Remove some unnecessary -pa argumentsLoïc Hoguin
They're already in ERL_LIBS.
2018-11-27Don't use the non-portable flock -c, use flock sh -cLoïc Hoguin
2018-11-27Fix jobserver unavailable warningsLoïc Hoguin
When the $(MAKE) is inside an $(eval $(call ...)) then it needs to be escaped as $$(MAKE). When the $(MAKE) is inside a $(call ...) then I did not figure out a way other than passing it as an argument. When the $(MAKE) is inside many levels of $(call $(call ...)) it's easier to avoid it if at all possible, so I replaced the rebar $(MAKE) call with ./bootstrap. I confirmed it works fine on Windows as well.
2018-11-26Allow running test cases without groups in CTLoïc Hoguin
2018-11-26Remove a non-portable "echo -n" from a testLoïc Hoguin
2018-11-26Remove some non-portable "echo -e" from a couple testsLoïc Hoguin
2018-11-26Rename render_template to core_render and move into coreLoïc Hoguin
Also remove the last instance of an "eval export" that pollutes the environment and use the new core_render for it instead. core_render does not include $(verbose) as this needs to be different depending on who calls it. It's now set explicitly everywhere required.
2018-11-26Use two colons for the shell targetLoïc Hoguin
2018-11-26Propagate the effects of V=1 to relxLoïc Hoguin
2018-11-26Don't include applications with no ebin/ directory in escriptsLoïc Hoguin
2018-11-26Add a guide section about dealing with duplicate modulesLoïc Hoguin
While the solution is not the best we could do it's better than nothing.
2018-11-26Add or improve tests based on false flag reportsLoïc Hoguin
2018-11-26Fix propagation of SP in sub-appsLoïc Hoguin
And some refactor and additional testing for overriding. Turns out we can override some variables even if ?= is not used, so nothing had to be done to support overriding.
2018-11-26Fix badly written tests failing when LEGACY=1Loïc Hoguin
2018-11-26Disable Asciidoc tests requiring DocBook if not installedLoïc Hoguin
The toolchain is too heavy for CI. Gotta wait for me to finish the work on Asciideck for building HTML pages.
2018-11-26Disable sphinx tests when it isn't installedLoïc Hoguin
2018-11-26Tweak a few tests so they run on all platformsLoïc Hoguin
2018-11-26Document the requirement on flock for parallel buildsLoïc Hoguin
2018-11-26Add test for autopatch with two Rebar projectsLoïc Hoguin
2018-11-26Use flock/lockf when available to avoid a -j issueLoïc Hoguin
Fetching rebar is conditional depending on the project being built, and if two projects require it and -j is used this could mean the fetching happens at the same time and one would fail.
2018-11-25Allow running tests using the latest kerl-built Erlang/OTP versionLoïc Hoguin
2018-11-25Build issues testing multi-apps projectsLoïc Hoguin
I've reworked how the multi-apps projects are built. In particular I've made sure the test build is made from the top-level once, and then only tests are run on this build. It used to build multiple times and some builds would not include test mode, not good. I've also fixed issues with running tests in parallel. All tests now pass with -j8 on my machine. It's possible more issues remain that are not covered by tests yet though.