diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2017-12-04 09:34:52 -0500 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2017-12-04 09:44:39 -0500 |
commit | fb67eb0ee95b2f03dc6c51535ab4b18ea70d315f (patch) | |
tree | 4164583568675aa18bb461df2414fc8989c683df /systest/all_SUITE_data | |
parent | f81f144f38f51efd9ab2d312b1a61dc464fd4738 (diff) |
Fix Plugin path handling (again!)
The path reloading of plugins had been fixed properly, but the problem
is that the paths it was using to re-load only considered the current
compile step, rather than the overall state of plugins. As such, the
reloaded paths after plugin compilation only reloaded the *latest*
plugin and not the other ones.
This fix forces the addition of all built plugin paths to the code paths
after a plugin compile job is run. This ensures that the path is clean
for initial plugin deps (only add those that are required), and is
re-made total after the fact (add all the plugins possible).
This commit also includes a system tests suite that can be run
optionally; the problem with this plugin mechanism was impossible to
find through mocked dependencies, and a working counterexample was
provided to us. The systest suite can be run against real projects
without conflict to make sure no regressions are hit.
Diffstat (limited to 'systest/all_SUITE_data')
-rw-r--r-- | systest/all_SUITE_data/resource_plugins/rebar.config | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/systest/all_SUITE_data/resource_plugins/rebar.config b/systest/all_SUITE_data/resource_plugins/rebar.config new file mode 100644 index 0000000..7baec1f --- /dev/null +++ b/systest/all_SUITE_data/resource_plugins/rebar.config @@ -0,0 +1,23 @@ +%% Sample provided by @tothlac +{plugins, [ + {rebar_tidy_deps, ".*", {git, "https://github.com/ferd/rebar3-tidy-deps-plugin.git"}}, + {rebar_alias, {git, "https://github.com/tsloughter/rebar_alias.git"}}, + rebar3_appup_plugin +]}. + +{deps, [ + {hackney, {git, "https://github.com/benoitc/hackney.git", {tag, "1.10.1"}}} + ]}. + + +%% Make work despite compat issues with strings and warnings +{overrides, [ + {override, rebar3_appup_plugin, [ + {erl_opts, [ + {platform_define, "^19", brutal_purge_fixed}, + {platform_define, "^2", brutal_purge_fixed}, + %% warnings_as_errors, + debug_info + ]} + ]} +]}. |