aboutsummaryrefslogtreecommitdiffstats
path: root/test/core_deps.mk
AgeCommit message (Collapse)Author
2023-05-16Don't run core-deps-optional test when LEGACY=1Loïc Hoguin
2023-05-15Use $(CACHE_DIR)/git instead of $(CACHE_DIR)/gitsLoïc Hoguin
2023-05-15Cleaned up dep cache tests, added hex test and fixed a bugLoïc Hoguin
2023-05-15Allow git + hex deps to be cached to XDG_CACHE_HOMETyler Hughes
2023-05-12Support optional applicationsjdamanalo
Loïc: Added more info to guide.
2023-04-03Fix core-deps-fetch-git-submodule testLoïc Hoguin
Test broke when git did a security fix related to file:// that we are using for the submodule in this test.
2022-05-23Fix core-deps-rel testLoïc Hoguin
2022-04-28Fix core-deps-fetch-hex test when LEGACY=1Loïc Hoguin
2022-04-28fixup! Upgrade to Relx 4 which is now used as a libraryLoïc Hoguin
2021-03-26core/deps.mk: Support Rebar lock files with version "1.2.0"Jean-Sébastien Pédron
This is the case in erlang-systemd [1]. As far as I can tell, the format is the same for the bits Erlang.mk is interested in. The testsuite is expanded to use version 0.6.0 of erlang-systemd. [1] https://github.com/rabbitmq/erlang-systemd
2021-03-26test/core_deps.mk: Fix jquery branch nameJean-Sébastien Pédron
Apparently it was renamed.
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-04-16Use an ln dep for core-deps-shell to avoid intermittent errorsLoïc Hoguin
2019-06-30Don't use "git -C" in tests: older git doesn't have itLoïc Hoguin
2019-06-28Accept a list of deps to forcibly rebuild in `$(FORCE_REBUILD)`Jean-Sébastien Pédron
... in addition to the `$(force_rebuild_dep)` function. It's easier for the common use case than specify a function.
2019-06-24Rename force_rebuilding_dep to force_rebuild_depLoïc Hoguin
2019-06-24Fix the core-deps-dep-makefile-change test on WindowsLoïc Hoguin
2019-06-24Fix the force_rebuilding_dep testLoïc Hoguin
2019-06-24Accept `$(force_rebuilding_dep)` to tune the behavior of `$(FULL)`Jean-Sébastien Pédron
By default, Erlang.mk only builds dependencies once, the first time the top-level project is compiled. A forced rebuild of all dependencies can be forced by setting the `$(FULL)` variable to a non-empty value. For developers working on the top-level project and one or more dependencies at the same time, Erlang.mk now accepts a variable/function called `$(force_rebuilding_dep)` which is called to determine if the dependency passed as the first argument should be forcibly rebuilt. It allows a developer to filter the dependencies he works on (so they are always rebuilt) from other third-party dependencies he never touches (i.e. they are only built once at the beginning). The content of `$(force_rebuilding_dep)` is expected to be a shell one-liner where the `$(1)` Make variable is set to the path to the dependency. Here is an example from the testsuite: force_rebuilding_dep = test '$(1)' = '$(CURDIR)/deps/cowlib'
2019-06-24Skip the "rebuild" part of the "ln" test on WindowsLoïc Hoguin
By default MSYS2 will copy and not link, altering Erlang.mk's behavior. To properly link an option must be enabled and administrative privileges granted.
2019-06-21Test `list-deps` behavior with various values of `FULL`Jean-Sébastien Pédron
Here, we want to make sure that `list-deps` always lists all dependencies, no matter if they are up-to-date or not. I.e. we want to always visit them and list them recursively.
2019-06-21Include applications `$(APPS_DIR)` in the `list-deps` targetsJean-Sébastien Pédron
In the case of a multi-applications repository, if one application depends on another one (using `$(LOCAL_DEPS)`), it will now be listed in the `list-deps` targets. Add `ssl` to the `$(LOCAL_DEPS)` in the testcase to ensure that applications not in `$(APPS_DIR)` are not affected by this change. Add a changelog entry.
2019-01-02Fix rebuild on Makefile change when new deps are addedLoïc Hoguin
The issue was that when a new dep is added the last-makefile-change update was done in the dependency and not in the top-level Makefile, preventing the rebuild of the top-level project. A test was also added to do the same when editing dependencies and things seem to work properly in that case. Thanks to robinchew on IRC for the great help debugging this.
2018-12-07Autopatch: allow configuring REBAR_GIT and REBAR_COMMITLoïc Hoguin
And use this in the tests to fetch Rebar only once and then clone from the local repository. This should speed up tests a little.
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-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-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-26Add test for autopatch with two Rebar projectsLoïc Hoguin
2018-11-24Add the git-subfolder fetch methodLoïc Hoguin
It clones and checkouts like the git fetch method, but does so in the Erlang.mk temporary directory. It then creates a symbolic link to the subfolder for the dependency.
2018-11-24Fix a test that used invalid application namesLoïc Hoguin
2018-11-24Move apps tests in their own file and fix a test caseLoïc Hoguin
2018-11-23Ensure apps have APPS_DIR and DEPS_DIR definedLoïc Hoguin
So they can use include files and other from other apps when they're built directly, and that they use the same deps directory.
2018-05-14Replace the imagejs test with lz4Loïc Hoguin
2018-05-14Don't list test cases manually anymoreLoïc Hoguin
2017-05-15Add dep_fetch_lnderwinlu
2017-05-12test/core_deps.mk: Wait for node in core-deps-relJean-Sébastien Pédron
When the test check the running applications in the started release, the node may not be up yet. So loop until the command returns a list of applications (instead of "Node is not running!"). This fixes some transient failures.
2017-04-27Use --gpg-no-sign in commits in testsLoïc Hoguin
2017-04-25compile apps in the right order by looking at their LOCAL_DEPSJeffrey Griffin
we also use LOCAL_DEPS at the top-level, if it exists, to determine which local apps to compile, in the interest of saving compile time for projects that have many apps and multiple release configurations
2017-04-25fix removing deps.log at toplevel when in a multi-app layoutJeffrey Griffin
`rm deps.log` was not being executed, because of 1) the ifeq around it, checking for an empty ALL_DEPS_DIRS, which i believe was a logical error; and 2) deps depended on apps, which means apps were compiled before its recipe was executed, and the `rm deps.log` would be executed after it had been written to by recursive make of the apps. the important reason to remove deps.log is so that dependencies get remade when they change. otherwise you'll get mysterious errors about missing dependencies if they need to be rebuilt, or worse, have wrong stale beam files bundled in your release. tests core-deps-apps and core-deps-apps-only now manually clean the cowlib dep and rebuild at the top-level to make sure cowlib gets rebuilt. both tests indeed fail without this fix. this attempts to fix #1 by removing the ifeq, and #2 by having deps and apps depend on deps.log, with deps.log 'built' (but actually removed) by a double-colon rule with no prerequisites (which means its recipe always be run).
2016-10-29Fix broken test on OSXLoïc Hoguin
2016-10-25core/deps-tools.mk: New targets `fetch-deps` and `list-deps`Jean-Sébastien Pédron
.. to fetch and list deps recurvively. Therefore, they work on direct dependencies, dependencies' dependencies, and so on. Nothing is built with those targets. The following targets are also available to work on other kinds of dependencies: make fetch-doc-deps make fetch-rel-deps make fetch-test-deps make fetch-shell-deps make list-doc-deps make list-rel-deps make list-test-deps make list-shell-deps In all cases, they include "normal" and eg. "test" dependencies of the top-level project, then only "normal" dependencies' dependencies. It's possible to include several kinds in one go: make fetch-deps DEP_TYPES='doc test' make list-deps DEP_TYPES='doc test' As it may be difficult to use the output of `make list-*` because the list could appear after other targets output (like dependencies fetching), the list is available in files pointed by the following variables: $(ERLANG_MK_RECURSIVE_DEPS_LIST) $(ERLANG_MK_RECURSIVE_DOC_DEPS_LIST) $(ERLANG_MK_RECURSIVE_REL_DEPS_LIST) $(ERLANG_MK_RECURSIVE_TEST_DEPS_LIST) $(ERLANG_MK_RECURSIVE_SHELL_DEPS_LIST) Internally, `list-deps` is simply implemented on top of `fetch-deps`: the latter fills a sorted log with all the directories it traversed. `list-deps` finally just prints the log file to stdout. Fixes #560.
2016-07-14Build apps/* only onceKrister Svanlund
Replicating the behavior for deps/*. With refactoring from Loïc.
2016-05-17Add test case demonstrating issue 447.Daniel Goertzen
Erlc will not include_lib() apps that do not have an ebin/ directory. This test case demonstrates that.
2016-01-22Use "make edoc" in the edoc testLoïc Hoguin
2015-12-24Simplify cleaning in the test suiteLoïc Hoguin
Not only simpler but also faster, especially on Windows.
2015-12-15Make some rm -rf commands saferLoïc Hoguin
This way if for some unknown reason $(APP_TO_CLEAN) isn't defined, we don't delete the entire world.
2015-11-21deps.mk: In dep_target, call dep_autopatch during the second evalJean-Sébastien Pédron
... not the first. dep_autopatch can be an expensive macro, in particular because it executes Erlang. So if NO_AUTOPATCH is set, it's best to avoid calling dep_autopatch as the result will be unused anyway. While here, add a test for autopatched rebar-based dependencies.
2015-10-22Add git-submodule fetch methodLoïc Hoguin
Initially submitted by Daniel White.
2015-10-22Merge branch 'fix-test-core-plugins-one' of ↵Loïc Hoguin
https://github.com/rabbitmq/erlang.mk