aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile53
1 files changed, 34 insertions, 19 deletions
diff --git a/Makefile b/Makefile
index 2930a49..6ffdfc4 100644
--- a/Makefile
+++ b/Makefile
@@ -2,12 +2,12 @@
PROJECT = cowboy
PROJECT_DESCRIPTION = Small, fast, modern HTTP server.
-PROJECT_VERSION = 2.9.0
+PROJECT_VERSION = 2.12.0
PROJECT_REGISTERED = cowboy_clock
# Options.
-PLT_APPS = public_key ssl
+PLT_APPS = public_key ssl # ct_helper gun common_test inets
CT_OPTS += -ct_hooks cowboy_ct_hook [] # -boot start_sasl
# Dependencies.
@@ -15,9 +15,14 @@ CT_OPTS += -ct_hooks cowboy_ct_hook [] # -boot start_sasl
LOCAL_DEPS = crypto
DEPS = cowlib ranch
-dep_cowlib = git https://github.com/ninenines/cowlib 2.11.0
+dep_cowlib = git https://github.com/ninenines/cowlib master
dep_ranch = git https://github.com/ninenines/ranch 1.8.0
+ifeq ($(COWBOY_QUICER),1)
+DEPS += quicer
+dep_quicer = git https://github.com/emqx/quic main
+endif
+
DOC_DEPS = asciideck
TEST_DEPS = $(if $(CI_ERLANG_MK),ci.erlang.mk) ct_helper gun
@@ -29,10 +34,8 @@ dep_gun = git https://github.com/ninenines/gun master
dep_ci.erlang.mk = git https://github.com/ninenines/ci.erlang.mk master
DEP_EARLY_PLUGINS = ci.erlang.mk
-AUTO_CI_OTP ?= OTP-LATEST-22+
-AUTO_CI_HIPE ?= OTP-LATEST
-# AUTO_CI_ERLLVM ?= OTP-LATEST
-AUTO_CI_WINDOWS ?= OTP-LATEST-22+
+AUTO_CI_OTP ?= OTP-LATEST-24+
+AUTO_CI_WINDOWS ?= OTP-LATEST-24+
# Hex configuration.
@@ -40,8 +43,8 @@ define HEX_TARBALL_EXTRA_METADATA
#{
licenses => [<<"ISC">>],
links => #{
- <<"User guide">> => <<"https://ninenines.eu/docs/en/cowboy/2.9/guide/">>,
- <<"Function reference">> => <<"https://ninenines.eu/docs/en/cowboy/2.9/manual/">>,
+ <<"User guide">> => <<"https://ninenines.eu/docs/en/cowboy/2.12/guide/">>,
+ <<"Function reference">> => <<"https://ninenines.eu/docs/en/cowboy/2.12/manual/">>,
<<"GitHub">> => <<"https://github.com/ninenines/cowboy">>,
<<"Sponsor">> => <<"https://github.com/sponsors/essen">>
}
@@ -52,24 +55,40 @@ endef
include erlang.mk
-# Don't run the examples test suite by default.
+# Don't run the examples/autobahn test suites by default.
ifndef FULL
CT_SUITES := $(filter-out examples ws_autobahn,$(CT_SUITES))
endif
+# Don't run HTTP/3 test suites on Windows.
+
+ifeq ($(PLATFORM),msys2)
+CT_SUITES := $(filter-out rfc9114 rfc9204 rfc9220,$(CT_SUITES))
+endif
+
# Compile options.
ERLC_OPTS += +warn_missing_spec +warn_untyped_record # +bin_opt_info
TEST_ERLC_OPTS += +'{parse_transform, eunit_autoexport}'
+ifeq ($(COWBOY_QUICER),1)
+ERLC_OPTS += -D COWBOY_QUICER=1
+TEST_ERLC_OPTS += -D COWBOY_QUICER=1
+endif
+
# Generate rebar.config on build.
app:: rebar.config
+# Fix quicer compilation for HTTP/3.
+
+autopatch-quicer::
+ $(verbose) printf "%s\n" "all: ;" > $(DEPS_DIR)/quicer/c_src/Makefile.erlang.mk
+
# Dialyze the tests.
-DIALYZER_OPTS += --src -r test
+#DIALYZER_OPTS += --src -r test
# h2spec setup.
@@ -88,13 +107,6 @@ $(H2SPEC):
$(verbose) git clone --depth 1 https://github.com/summerwind/h2spec $(dir $(H2SPEC)) || true
$(verbose) $(MAKE) -C $(dir $(H2SPEC)) build MAKEFLAGS= || true
-# Use erl_make_certs from the tested release during CI
-# and ensure that ct_helper is always recompiled.
-
-ci-setup:: clean deps test-deps
- $(gen_verbose) cp ~/.kerl/builds/$(CI_OTP_RELEASE)/otp_src_git/lib/ssl/test/erl_make_certs.erl deps/ct_helper/src/ || true
- $(gen_verbose) $(MAKE) -C $(DEPS_DIR)/ct_helper clean app
-
# Prepare for the release.
prepare_tag:
@@ -110,8 +122,11 @@ prepare_tag:
$(verbose) echo -n "GUIDE: "
$(verbose) grep -h dep_$(PROJECT)_commit doc/src/guide/*.asciidoc || true
$(verbose) echo
+ $(verbose) echo "Links in the README:"
+ $(verbose) grep http.*:// README.asciidoc
+ $(verbose) echo
$(verbose) echo "Titles in most recent CHANGELOG:"
- $(verbose) for f in `ls -r doc/src/guide/migrating_from_*.asciidoc | head -n1`; do \
+ $(verbose) for f in `ls -rv doc/src/guide/migrating_from_*.asciidoc | head -n1`; do \
echo $$f:; \
grep == $$f; \
done