123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- # Relx plugin.
- #
- # Sleeps when interacting with relx script are necessary after start and upgrade
- # as both of those interactions are not synchronized.
- RELX_CASES = rel bare-rel relup start-stop tar vsn
- RELX_TARGETS = $(addprefix relx-,$(RELX_CASES))
- .PHONY: relx $(RELX_TARGETS)
- ifeq ($(PLATFORM),msys2)
- RELX_REL_EXT = .cmd
- else
- RELX_REL_EXT =
- endif
- relx: $(RELX_TARGETS)
- relx-rel: build clean
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap bootstrap-rel $v
- $i
- $t $(MAKE) -C $(APP) $v
- $i
- $t test -f $(APP)/.erlang.mk/relx
- $i
- $t test -d $(APP)/_rel
- $t test -d $(APP)/_rel/$(APP)_release
- $t test -d $(APP)/_rel/$(APP)_release/bin
- $t test -d $(APP)/_rel/$(APP)_release/lib
- $t test -d $(APP)/_rel/$(APP)_release/releases
- $t test -d $(APP)/_rel/$(APP)_release/releases/1
- $i
- $t $(MAKE) -C $(APP) clean $v
- $i
- $t test -d $(APP)/_rel
- $t test -d $(APP)/_rel/$(APP)_release
- $t test -d $(APP)/_rel/$(APP)_release/bin
- $t test -d $(APP)/_rel/$(APP)_release/lib
- $t test -d $(APP)/_rel/$(APP)_release/releases
- $t test -d $(APP)/_rel/$(APP)_release/releases/1
- $i
- $t $(MAKE) -C $(APP) distclean $v
- $i
- $t test ! -d $(APP)/_rel/
- relx-bare-rel: build clean
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap bootstrap-rel $v
- $i
- $t $(MAKE) -C $(APP) rel $v
- $i
- $t test -f $(APP)/.erlang.mk/relx
- $i
- $t test -d $(APP)/_rel
- $t test -d $(APP)/_rel/$(APP)_release
- $t test -d $(APP)/_rel/$(APP)_release/bin
- $t test -d $(APP)/_rel/$(APP)_release/lib
- $t test -d $(APP)/_rel/$(APP)_release/releases
- $t test -d $(APP)/_rel/$(APP)_release/releases/1
- relx-relup: build clean
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap bootstrap-rel $v
- $i
- ifeq ($(LEGACY),1)
- $t sed -i.bak s/0.1.0\/1\/ $(APP)/src/$(APP).app.src
- else
- $t echo >> $(APP)/Makefile
- endif
- $i
- $t printf \
- \
- \
- > $(APP)/src/test.erl
- $i
- $t $(MAKE) -C $(APP) $v
- $i
- $t sed -i.bak s/// $(APP)/src/test.erl
- $i
- ifeq ($(LEGACY),1)
- $t sed -i.bak s/1\/2\/ $(APP)/src/$(APP).app.src
- else
- $t sed -i.bak s/// $(APP)/Makefile
- endif
- $i
- $t printf \
- 2\\
- 1\\
- 1\\
- > $(APP)/ebin/$(APP).appup
- $i
- $t sed -i.bak s/// $(APP)/relx.config
- $i
- $t $(MAKE) -C $(APP) relup $v
- $i
- $t test -f $(APP)/_rel/$(APP)_release/$(APP)_release-1.tar.gz
- $t test -f $(APP)/_rel/$(APP)_release/$(APP)_release-2.tar.gz
- $i
- $t mkdir $(APP)/tmp
- $t tar -xzf $(APP)/_rel/$(APP)_release/$(APP)_release-1.tar.gz -C $(APP)/tmp
- $i
- ifeq ($(PLATFORM),msys2)
- $t $(APP)/tmp/bin/$(APP)_release$(RELX_REL_EXT) install $v
- endif
- $t $(APP)/tmp/bin/$(APP)_release$(RELX_REL_EXT) start $v
- $t sleep 1
- $t test `$(APP)/tmp/bin/$(APP)_release$(RELX_REL_EXT) rpcterms test test` = old
- $i
- $t test `$(APP)/tmp/bin/$(APP)_release$(RELX_REL_EXT) versions | wc -l` =
- $i
- $t mkdir $(APP)/tmp/releases/2
- $t cp $(APP)/_rel/$(APP)_release/$(APP)_release-2.tar.gz $(APP)/tmp/releases/2/$(APP)_release.tar.gz
- $t test -f $(APP)/tmp/releases/2/$(APP)_release.tar.gz
- $i
- $t $(APP)/tmp/bin/$(APP)_release$(RELX_REL_EXT) upgrade
- $t sleep 1
- $t test `$(APP)/tmp/bin/$(APP)_release$(RELX_REL_EXT) rpcterms test test` = new
- $i
- $t test `$(APP)/tmp/bin/$(APP)_release$(RELX_REL_EXT) versions | wc -l` =
- $i
- $t $(APP)/tmp/bin/$(APP)_release$(RELX_REL_EXT) downgrade
- $t sleep 1
- $t test `$(APP)/tmp/bin/$(APP)_release$(RELX_REL_EXT) rpcterms test test` = old
- $i
- $t $(APP)/_rel/$(APP)_release/bin/$(APP)_release$(RELX_REL_EXT) stop $v
- ifeq ($(PLATFORM),msys2)
- $t $(APP)/_rel/$(APP)_release/bin/$(APP)_release$(RELX_REL_EXT) uninstall $v
- endif
- relx-start-stop: build clean
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap bootstrap-rel $v
- $i
- $t $(MAKE) -C $(APP) $v
- $i
- ifeq ($(PLATFORM),msys2)
- $t $(APP)/_rel/$(APP)_release/bin/$(APP)_release.cmd install $v
- endif
- $t $(APP)/_rel/$(APP)_release/bin/$(APP)_release$(RELX_REL_EXT) start $v
- $t sleep 1
- $i
- $t $(APP)/_rel/$(APP)_release/bin/$(APP)_release$(RELX_REL_EXT) ping $v
- $i
- $t $(APP)/_rel/$(APP)_release/bin/$(APP)_release$(RELX_REL_EXT) stop $v
- ifeq ($(PLATFORM),msys2)
- $t $(APP)/_rel/$(APP)_release/bin/$(APP)_release.cmd uninstall $v
- endif
- $i
- $t ! $(APP)/_rel/$(APP)_release/bin/$(APP)_release$(RELX_REL_EXT) ping $v
- relx-tar: build clean
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap bootstrap-rel $v
- $i
- $t $(MAKE) -C $(APP) RELX_TAR=0 $v
- $i
- $t test ! -e $(APP)/_rel/$(APP)_release/$(APP)_release-1.tar.gz
- $i
- $t $(MAKE) -C $(APP) $v
- $i
- $t test -f $(APP)/_rel/$(APP)_release/$(APP)_release-1.tar.gz
- relx-vsn: build clean
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap bootstrap-rel $v
- $i
- $t sed -i.bak s/1\/echo -n 2\/ $(APP)/relx.config
- $i
- $t $(MAKE) -C $(APP) $v
- $i
- $t ! test -d $(APP)/_rel/$(APP)_release/releases/1
- $t test -d $(APP)/_rel/$(APP)_release/releases/2
|