aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-12-07 16:42:40 +0100
committerLoïc Hoguin <[email protected]>2018-12-07 16:42:40 +0100
commit1fb70e0d435e5058c558f89d223a0f6ba3bd5342 (patch)
tree70a42def73f18c2665d746abea47ef7de3f7295b
parent299789222216c40197a031a7454a18d4f4aa144d (diff)
downloaderlang.mk-1fb70e0d435e5058c558f89d223a0f6ba3bd5342.tar.gz
erlang.mk-1fb70e0d435e5058c558f89d223a0f6ba3bd5342.tar.bz2
erlang.mk-1fb70e0d435e5058c558f89d223a0f6ba3bd5342.zip
Make sure we go through all deps when building escripts
-rw-r--r--plugins/escript.mk1
-rw-r--r--test/plugin_escript.mk30
2 files changed, 31 insertions, 0 deletions
diff --git a/plugins/escript.mk b/plugins/escript.mk
index 487e2a4..3719684 100644
--- a/plugins/escript.mk
+++ b/plugins/escript.mk
@@ -27,6 +27,7 @@ help::
# Plugin-specific targets.
+escript-zip:: FULL=1
escript-zip:: deps app
$(verbose) mkdir -p $(dir $(ESCRIPT_ZIP))
$(verbose) rm -f $(ESCRIPT_ZIP_FILE)
diff --git a/test/plugin_escript.mk b/test/plugin_escript.mk
index 317425a..4a3d7a0 100644
--- a/test/plugin_escript.mk
+++ b/test/plugin_escript.mk
@@ -90,6 +90,36 @@ escript-deps: build clean
$i "Check that the escript contains the dependency"
$t zipinfo $(APP)/$(APP) 2> /dev/null | grep -q ranch
+escript-deps-with-deps: build clean
+
+ $i "Bootstrap a new OTP library named $(APP)"
+ $t mkdir $(APP)/
+ $t cp ../erlang.mk $(APP)/
+ $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
+
+ $i "Add Cowboy 1.0.0 to the list of dependencies"
+ $t perl -ni.bak -e 'print;if ($$.==1) {print "DEPS = cowboy\ndep_cowboy_commit = 1.0.0\n"}' $(APP)/Makefile
+
+ $i "Generate a module containing a function main/1"
+ $t printf "%s\n" \
+ "-module($(APP))." \
+ "-export([main/1])." \
+ 'main(_) -> io:format("good~n").' > $(APP)/src/$(APP).erl
+
+ $i "Build the application"
+ $t $(MAKE) -C $(APP) $v
+
+ $i "Build the escript"
+ $t $(MAKE) -C $(APP) escript $v
+
+ $i "Check that the escript runs"
+ $t $(APP)/$(APP) | grep -q good
+
+ $i "Check that the escript contains the dependencies"
+ $t zipinfo $(APP)/$(APP) 2> /dev/null | grep -q cowboy
+ $t zipinfo $(APP)/$(APP) 2> /dev/null | grep -q cowlib
+ $t zipinfo $(APP)/$(APP) 2> /dev/null | grep -q ranch
+
escript-distclean: build clean
$i "Bootstrap a new OTP library named $(APP)"