aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2023-05-16 09:35:35 +0200
committerLoïc Hoguin <[email protected]>2023-05-16 09:35:35 +0200
commit72910c8559b057af17e1c9f4ffe42e75ed0ad877 (patch)
treeb5e584a2fde6854d3f198d07d96be22cfe982f09
parent9d4f7c539c5e03e64751291492b011e1a539d072 (diff)
downloaderlang.mk-72910c8559b057af17e1c9f4ffe42e75ed0ad877.tar.gz
erlang.mk-72910c8559b057af17e1c9f4ffe42e75ed0ad877.tar.bz2
erlang.mk-72910c8559b057af17e1c9f4ffe42e75ed0ad877.zip
Fix RELX_OUTPUT_DIR
Was broken in the move to Relx v4.
-rw-r--r--plugins/relx.mk4
-rw-r--r--test/plugin_relx.mk17
2 files changed, 19 insertions, 2 deletions
diff --git a/plugins/relx.mk b/plugins/relx.mk
index b957bae..cb8f06d 100644
--- a/plugins/relx.mk
+++ b/plugins/relx.mk
@@ -62,7 +62,7 @@ define relx_release.erl
{git, long} -> string:trim(os:cmd("git rev-parse HEAD"), both, "\n");
VsnStr -> Vsn0
end,
- {ok, _} = relx:build_release(#{name => Name, vsn => Vsn}, Config),
+ {ok, _} = relx:build_release(#{name => Name, vsn => Vsn}, Config ++ [{output_dir, "$(RELX_OUTPUT_DIR)"}]),
halt(0).
endef
@@ -77,7 +77,7 @@ define relx_tar.erl
{git, long} -> string:trim(os:cmd("git rev-parse HEAD"), both, "\n");
VsnStr -> Vsn0
end,
- {ok, _} = relx:build_tar(#{name => Name, vsn => Vsn}, Config),
+ {ok, _} = relx:build_tar(#{name => Name, vsn => Vsn}, Config ++ [{output_dir, "$(RELX_OUTPUT_DIR)"}]),
halt(0).
endef
diff --git a/test/plugin_relx.mk b/test/plugin_relx.mk
index 313e043..7e08fe0 100644
--- a/test/plugin_relx.mk
+++ b/test/plugin_relx.mk
@@ -102,6 +102,23 @@ relx-bare-rel: init
$t test -d $(APP)/_rel/$(APP)_release/releases
$t test -d $(APP)/_rel/$(APP)_release/releases/1
+relx-output-dir: init
+
+ $i "Bootstrap a new release named $(APP)"
+ $t mkdir $(APP)/
+ $t cp ../erlang.mk $(APP)/
+ $t $(MAKE) -C $(APP) -f erlang.mk bootstrap bootstrap-rel $v
+
+ $i "Set RELX_OUTPUT_DIR to _rel2"
+ $t perl -ni.bak -e 'print;if ($$.==1) {print "RELX_OUTPUT_DIR = _rel2\n"}' $(APP)/Makefile
+
+ $i "Build the release"
+ $t $(MAKE) -C $(APP) $v
+
+ $i "Check that the release exists in the correct location"
+ $t ! test -d $(APP)/_rel
+ $t test -d $(APP)/_rel2
+
relx-post-rel: init
$i "Bootstrap a new release named $(APP)"