mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
erlang.mk now has built-in support for relx
This commit is contained in:
parent
2b2829f585
commit
4769412daa
18 changed files with 36 additions and 139 deletions
33
erlang.mk
vendored
33
erlang.mk
vendored
|
@ -24,7 +24,7 @@ export PKG_FILE
|
||||||
PKG_FILE_URL ?= https://raw.github.com/extend/erlang.mk/master/packages.v1.tsv
|
PKG_FILE_URL ?= https://raw.github.com/extend/erlang.mk/master/packages.v1.tsv
|
||||||
|
|
||||||
define get_pkg_file
|
define get_pkg_file
|
||||||
wget -O $(PKG_FILE) $(PKG_FILE_URL)
|
wget -O $(PKG_FILE) $(PKG_FILE_URL) || rm $(PKG_FILE)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Verbosity and tweaks.
|
# Verbosity and tweaks.
|
||||||
|
@ -46,8 +46,35 @@ dtl_verbose = $(dtl_verbose_$(V))
|
||||||
gen_verbose_0 = @echo " GEN " $@;
|
gen_verbose_0 = @echo " GEN " $@;
|
||||||
gen_verbose = $(gen_verbose_$(V))
|
gen_verbose = $(gen_verbose_$(V))
|
||||||
|
|
||||||
.PHONY: all clean-all app clean deps clean-deps docs clean-docs \
|
.PHONY: rel clean-rel all clean-all app clean deps clean-deps \
|
||||||
build-tests tests build-plt dialyze
|
docs clean-docs build-tests tests build-plt dialyze
|
||||||
|
|
||||||
|
# Release.
|
||||||
|
|
||||||
|
RELX_CONFIG ?= $(CURDIR)/relx.config
|
||||||
|
|
||||||
|
ifneq ($(wildcard $(RELX_CONFIG)),)
|
||||||
|
|
||||||
|
RELX ?= $(CURDIR)/relx
|
||||||
|
export RELX
|
||||||
|
|
||||||
|
RELX_URL ?= https://github.com/erlware/relx/releases/download/0.4.0/relx
|
||||||
|
|
||||||
|
define get_relx
|
||||||
|
wget -O $(RELX) $(RELX_URL) || rm $(RELX)
|
||||||
|
chmod +x $(RELX)
|
||||||
|
endef
|
||||||
|
|
||||||
|
rel: clean-rel all $(RELX)
|
||||||
|
@$(RELX)
|
||||||
|
|
||||||
|
$(RELX):
|
||||||
|
@$(call get_relx)
|
||||||
|
|
||||||
|
clean-rel:
|
||||||
|
@rm -rf _rel
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
# Deps directory.
|
# Deps directory.
|
||||||
|
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = chunked_hello_world
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = compress_response
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -4,12 +4,4 @@ DEPS = cowboy erlydtl
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
dep_erlydtl = pkg://erlydtl master
|
dep_erlydtl = pkg://erlydtl master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = echo_get
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = echo_post
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = error_hook
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = eventsource
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = hello_world
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = rest_basic_auth
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = rest_hello_world
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = rest_pastebin
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = rest_stream_response
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = ssl_hello_world
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = static_world
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = web_server
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = websocket
|
||||||
DEPS = cowboy
|
DEPS = cowboy
|
||||||
dep_cowboy = pkg://cowboy master
|
dep_cowboy = pkg://cowboy master
|
||||||
|
|
||||||
.PHONY: release clean-release
|
|
||||||
|
|
||||||
release: clean-release all
|
|
||||||
relx
|
|
||||||
|
|
||||||
clean-release:
|
|
||||||
rm -rf _rel
|
|
||||||
|
|
||||||
include ../../erlang.mk
|
include ../../erlang.mk
|
||||||
|
|
|
@ -44,6 +44,7 @@ hello_erlang/
|
||||||
hello_erlang_sup.beam
|
hello_erlang_sup.beam
|
||||||
hello_handler.beam
|
hello_handler.beam
|
||||||
_rel/
|
_rel/
|
||||||
|
relx
|
||||||
```
|
```
|
||||||
|
|
||||||
As you can probably guess, the `.app.src` file end up becoming
|
As you can probably guess, the `.app.src` file end up becoming
|
||||||
|
@ -271,14 +272,11 @@ $ make
|
||||||
```
|
```
|
||||||
|
|
||||||
That's not all however, as we want to create a working release.
|
That's not all however, as we want to create a working release.
|
||||||
For that purpose we will need `relx`. You can download it directly
|
For that purpose, we need to create a `relx.config` file. When
|
||||||
[from Github](https://github.com/erlware/relx). After downloading
|
this file exists, `erlang.mk` will automatically download `relx`
|
||||||
it, you will need to build it using `make`, which should give
|
and build the release when you type `make`.
|
||||||
you a `relx` executable that you can then put in your `$PATH`.
|
|
||||||
You only need to do this once.
|
|
||||||
|
|
||||||
We are almost ready to build the release. All that's left is
|
In the `relx.config` file, we only need to tell `relx` that
|
||||||
the `relx.config` file! In it, we only need to tell `relx` that
|
|
||||||
we want the release to include the `hello_erlang` application,
|
we want the release to include the `hello_erlang` application,
|
||||||
and that we want an extended start script for convenience.
|
and that we want an extended start script for convenience.
|
||||||
`relx` will figure out which other applications are required
|
`relx` will figure out which other applications are required
|
||||||
|
@ -295,7 +293,7 @@ version, and the applications to be included.
|
||||||
We can now build and start the release.
|
We can now build and start the release.
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
$ relx
|
$ make
|
||||||
$ ./_rel/bin/hello_erlang console
|
$ ./_rel/bin/hello_erlang console
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue