aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2020-11-30Try do detect if we need to sleep in tests between a build and when aMartin Björklund
source file is modified. Without a sleep the source file and the target may get the same modification time, on some machines.
2020-11-30Add support for publishing Hex releases and docsLoïc Hoguin
2020-10-27Fix test that uses LFELoïc Hoguin
Somehow the develop and master branches of LFE have different commit hashes and because LFE switched its default branch to develop the hash we use for testing became incorrect. To fix I just switched to the develop hash of the equivalent commit.
2020-10-27Disable Mercurial testLoïc Hoguin
There are no popular Mercurial providers anymore. We can enable it again when things change. Gitlab might add it in the future.
2020-08-18Update jsx master -> main branch repositoryJean Chassoul
2020-07-21Add query-deps test with no depsLoïc Hoguin
2020-07-20Fix `query-deps` for projects without depsLuke Bakken
To reproduce: ``` git clone https://github.com/rabbitmq/inet_tcp_proxy.git cd inet_tcp_proxy $ make BRANCH=master QUERY='name fetch_method repo version absolute_path' query-deps /bin/sh: /home/lbakken/development/rabbitmq/umbrella/deps/inet_tcp_proxy/.erlang.mk/recursive-tmp-deps-231462.log: No such file or directory rm: cannot remove '/home/lbakken/development/rabbitmq/umbrella/deps/inet_tcp_proxy/.erlang.mk/recursive-tmp-deps-231462.log': No such file or directory make: *** [erlang.mk:7642: /home/lbakken/development/rabbitmq/umbrella/deps/inet_tcp_proxy/.erlang.mk/recursive-deps-list.log] Error 1 ```
2020-06-23plugins/concuerror.mk: Use $(MAKE) instead of hard-coding `make`Jean-Sébastien Pédron
This fixes the plugin when e.g. GNU Make is installed as `gmake` (and `make` is another incompatible implementation).
2020-06-22core/test.mk: Abort build if a test file fails to compileJean-Sébastien Pédron
In commit c55d0dcd6182983521d4ab34478cfe4b093edb12, the recipe was improved to only rebuild out-of-date test files (not everything as it was the case before). However in the process, the exit status of the Erlang compiler was not checked anymore, leading to build failures in the test directory to be ignored. This patch fixes this bug.
2020-06-18Add missing exports to Dialyzer testsLoïc Hoguin
2020-06-18Add initial Concuerror integrationLoïc Hoguin
https://concuerror.com/
2020-05-20Temporarily disable the core-autopatch-no-autopatch-rebar testLoïc Hoguin
The rebar in the lager repository is not compatible with OTP-23, causing this test case to fail.
2020-05-20Remove -lerl_interface also when autopatchingLoïc Hoguin
2020-04-21Do minimal checks to pkg_add.sh argscrownedgrouse
2020-04-21Move docker directory to etc/Loïc Hoguin
2020-04-21Add bash completion scriptcrownedgrouse
2020-04-21core/test.mk: Rebuild out-of-date test modules onlyJean-Sébastien Pédron
... instead of always rebuilding all of them each time a testsuite is executed. The only exception is when a Makefile was modified: like for main source files, test modules are all recompiled in this case.
2020-04-17Remove --retry-connrefused from curl commandLoïc Hoguin
Doesn't work on CentOS, too new.
2020-04-17Strengthen the core_compat tests with curl --retryLoïc Hoguin
2020-04-17Fix non-verbose output for C/CPP targetsLoïc Hoguin
2020-04-16Use an ln dep for core-deps-shell to avoid intermittent errorsLoïc Hoguin
2020-04-14Fix encoding issues when generating the makedep fileLoïc Hoguin
In some cases the input will be parsed as UTF-8 and converted to "characters" and in others it won't and will be processed as bytes (for example, `erl -oldshell` will do that). This means that encoding-dependent characters such as "é" only need to be converted to binary in the former case. To detect which situation we are in we check what the value of "é" is. If it is [233] then the eval input was parsed as UTF-8 and converted to characters. Otherwise we assume it wasn't.
2020-04-13Add plugin esh.mk to the index/documentationcrownedgrouse
2020-04-12core/test.mk: Build application before its testsJean-Sébastien Pédron
This fixes compiler warnings if modules under `tests` implement behaviors defined in `src`. This way, we make sure behaviors are compiled before the test modules.
2020-04-03test/plugin_dialyzer.mk: Skip cowlib test in `dialyzer-plt-ebin-only`Jean-Sébastien Pédron
This is a waste of time and if they were to fail, this does not serve the Erlang.mk testsuite.
2020-04-02test/core_query.mk: Pin `farwest` in `core-query-deps-no-duplicates`Jean-Sébastien Pédron
It was previously "pinned" to its `master` branch. Unforunately, the testcase started to fail after `farwest` changed its own pinning of `cowlib`. By pinning to a specific version (or commit in this case) of `farwest`, we make sure this won't happen again.
2020-03-25Remove -lerl_interface from the default LDLIBSLoïc Hoguin
The -lerl_interface library is getting removed in OTP-23.
2020-03-04Add the query-deps family of targets2020.03.05Loïc Hoguin
The query-deps, query-doc-deps, query-rel-deps, query-test-deps and query-shell-deps targets go through dependencies and print some information about them: $ make query-deps ... cowboy: cowlib git https://github.com/ninenines/cowlib 2.7.3 cowboy: ranch git https://github.com/ninenines/ranch 1.7.1 $ make query-deps QUERY="name repo version absolute_path" ... cowboy: cowlib https://github.com/ninenines/cowlib 2.7.3 /path/to/deps/cowlib cowboy: ranch https://github.com/ninenines/ranch 1.7.1 /path/to/deps/ranch The query-deps target is recursive; the others aren't. This mirrors the behavior when fetching and building dependencies. The full list of options is: QUERY="fetch_method name repo version extra absolute_path" When an option has no corresponding value, "-" will be printed. For example most fetch methods do not have extra information to print. When there is extra information, the value will be prefixed with a descriptive name. For example: package-name=uuid_erl This commit also introduces changes to deps handling: some of the functions for querying will now be used directly. In the future the goal is to remove the old dep_name, dep_commit, etc. functions and replace their usage with the new query functions. Custom fetch methods should implement query functions in order to have information about the relevant dependencies printed properly.
2020-02-25Replace +A0 with +A1Loïc Hoguin
In recent versions there has been issues with disabling +A completely. Starting in OTP-23 the VM will automatically use +A1 when the +A0 argument is given, as well.
2020-02-11Support Hex packages with name different from application2020.02.11Loïc Hoguin
Properly fixes partisan.
2020-02-11Add yet another dep spec format for rebar.config autopatchLoïc Hoguin
Fixes partisan.
2020-02-11Add package partisan to the indexLoïc Hoguin
2020-02-08Disable proto plugin if gpb/protobuffs not in depsLoïc Hoguin
2020-02-08Add package prometheus to the indexLoïc Hoguin
2020-02-07Copy src/$(PROJECT).appup to ebin/ on build if anyLoïc Hoguin
2020-01-03Add mysql-otp to the indexjuhlig
2020-01-03Remove package mysqljuhlig
2019-12-09plugins/c_src.mk: Deduce directory to create from $@Jean-Sébastien Pédron
... instead of hard-coding `priv`.
2019-10-09Comment out the kjell testLoïc Hoguin
Seems it doesn't passs on my machine at the moment. It gets stuck. Maybe it doesn't work with OTP 22.1?
2019-10-09Use no_dot_erlang instead of start_cleanLoïc Hoguin
2019-09-26updated repo and homepage for elliMartin Björklund
2019-08-29Build symlinked source filesLars Kroll
2019-08-29core/erlc.mk: Support non-US-ASCII characters in pathsJean-Sébastien Pédron
Internally, strings were stored using Unicode code points. However, when being written to disk with the `file:write_file()` function, there were converted to ISO-8859-1. According to the documentation, that is because the file module is bytewise-oriented: the conversion to another encoding than ISO-8859-1 is the responsibility of the caller. Using unicode:character_to_binary() permits the script to convert the Unicode string to an UTF-8-encoded binary. Without this patch, the added testcase would fail with the following error: gmake[3]: *** No rule to make target '(...)/erlang.mk/test/h��test_core_makedep_non_usascii_paths/deps/test_core_makedep_non_usascii_paths_dep/include/hello.hrl', needed by 'src/hello.erl'. Stop. In this case, the path (passed from the Makefile to the `makedep.erl` script) contains UTF-8-encoded `é` characters but it was converted when doing the final file I/O.
2019-07-30Recursive deps list: don't handle apps specificallyJean-Sébastien Pédron
They are already listed in `$^` and thus already taken care of. No need to visit them twice.
2019-07-30Fix concurrent creation of `recursive-*deps-list.log` filesJean-Sébastien Pédron
To do that, we simply include the PID of the Make process in temporary file. We also compare the finished temporary file with the actual target file. If they are different, the temporary file is moved to the final target, otherwise, we just get rid of the temporary file. This way, the target timestamp stays the same if the content does not change.
2019-07-01Update recommendation to Make 4.22019.07.01Loïc Hoguin
There are issues with -j in 4.1 and earlier.
2019-06-30Make a "git describe" fall back for older git versionsLoïc Hoguin
--first-parent is not available on CentOS 7.
2019-06-30Don't use "git -C" in tests: older git doesn't have itLoïc Hoguin
2019-06-30Tweak a check in ct tests to make it work on Make 3.82Loïc Hoguin
Getting: Nothing to be done for `ct' Instead of, in later versions: Nothing to be done for 'ct' Only check for the start of the sentence instead.
2019-06-29Filter out master when getting the LATEST_ERLANG_OTPLoïc Hoguin