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
|
||||
|
||||
define get_pkg_file
|
||||
wget -O $(PKG_FILE) $(PKG_FILE_URL)
|
||||
wget -O $(PKG_FILE) $(PKG_FILE_URL) || rm $(PKG_FILE)
|
||||
endef
|
||||
|
||||
# Verbosity and tweaks.
|
||||
|
@ -46,8 +46,35 @@ dtl_verbose = $(dtl_verbose_$(V))
|
|||
gen_verbose_0 = @echo " GEN " $@;
|
||||
gen_verbose = $(gen_verbose_$(V))
|
||||
|
||||
.PHONY: all clean-all app clean deps clean-deps docs clean-docs \
|
||||
build-tests tests build-plt dialyze
|
||||
.PHONY: rel clean-rel all clean-all app clean deps clean-deps \
|
||||
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.
|
||||
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = chunked_hello_world
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = compress_response
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -4,12 +4,4 @@ DEPS = cowboy erlydtl
|
|||
dep_cowboy = pkg://cowboy master
|
||||
dep_erlydtl = pkg://erlydtl master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = echo_get
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = echo_post
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = error_hook
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = eventsource
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = hello_world
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = rest_basic_auth
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = rest_hello_world
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = rest_pastebin
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = rest_stream_response
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = ssl_hello_world
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = static_world
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = web_server
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -3,12 +3,4 @@ PROJECT = websocket
|
|||
DEPS = cowboy
|
||||
dep_cowboy = pkg://cowboy master
|
||||
|
||||
.PHONY: release clean-release
|
||||
|
||||
release: clean-release all
|
||||
relx
|
||||
|
||||
clean-release:
|
||||
rm -rf _rel
|
||||
|
||||
include ../../erlang.mk
|
||||
|
|
|
@ -44,6 +44,7 @@ hello_erlang/
|
|||
hello_erlang_sup.beam
|
||||
hello_handler.beam
|
||||
_rel/
|
||||
relx
|
||||
```
|
||||
|
||||
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.
|
||||
For that purpose we will need `relx`. You can download it directly
|
||||
[from Github](https://github.com/erlware/relx). After downloading
|
||||
it, you will need to build it using `make`, which should give
|
||||
you a `relx` executable that you can then put in your `$PATH`.
|
||||
You only need to do this once.
|
||||
For that purpose, we need to create a `relx.config` file. When
|
||||
this file exists, `erlang.mk` will automatically download `relx`
|
||||
and build the release when you type `make`.
|
||||
|
||||
We are almost ready to build the release. All that's left is
|
||||
the `relx.config` file! In it, we only need to tell `relx` that
|
||||
In the `relx.config` file, we only need to tell `relx` that
|
||||
we want the release to include the `hello_erlang` application,
|
||||
and that we want an extended start script for convenience.
|
||||
`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.
|
||||
|
||||
``` bash
|
||||
$ relx
|
||||
$ make
|
||||
$ ./_rel/bin/hello_erlang console
|
||||
```
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue