diff options
-rw-r--r-- | build.config | 1 | ||||
-rw-r--r-- | erlang.mk | 42 | ||||
-rw-r--r-- | plugins/elvis.mk | 41 |
3 files changed, 84 insertions, 0 deletions
diff --git a/build.config b/build.config index 7bc09ff..f608559 100644 --- a/build.config +++ b/build.config @@ -13,6 +13,7 @@ plugins/bootstrap #plugins/c_src plugins/ct plugins/dialyzer +plugins/elvis plugins/erlydtl plugins/edoc plugins/relx @@ -652,6 +652,48 @@ dialyze: $(DIALYZER_PLT) endif @dialyzer --no_native --src -r src $(DIALYZER_OPTS) +# Copyright (c) 2014, Juan Facorro <[email protected]> +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: elvis distclean-elvis + +# Configuration. + +ELVIS_CONFIG ?= $(CURDIR)/elvis.config + +ELVIS ?= $(CURDIR)/elvis +export ELVIS + +ELVIS_URL ?= https://github.com/inaka/elvis/releases/download/0.2.3/elvis +ELVIS_CONFIG_URL ?= https://github.com/inaka/elvis/releases/download/0.2.3/elvis.config +ELVIS_OPTS ?= + +# Core targets. + +help:: + @printf "%s\n" "" \ + "Elvis targets:" \ + " elvis Run Elvis using the local elvis.config or download the default otherwise" + +ifneq ($(wildcard $(ELVIS_CONFIG)),) +rel:: distclean-elvis +endif + +distclean:: distclean-elvis + +# Plugin-specific targets. + +$(ELVIS): + @$(call core_http_get,$(ELVIS_CONFIG),$(ELVIS_CONFIG_URL)) + @$(call core_http_get,$(ELVIS),$(ELVIS_URL)) + @chmod +x $(ELVIS) + +elvis: $(ELVIS) + @$(ELVIS) rock -c $(ELVIS_CONFIG) $(ELVIS_OPTS) + +distclean-elvis: + $(gen_verbose) rm -rf $(ELVIS) + # Copyright (c) 2013-2014, Loïc Hoguin <[email protected]> # This file is part of erlang.mk and subject to the terms of the ISC License. diff --git a/plugins/elvis.mk b/plugins/elvis.mk new file mode 100644 index 0000000..f3e75a8 --- /dev/null +++ b/plugins/elvis.mk @@ -0,0 +1,41 @@ +# Copyright (c) 2014, Juan Facorro <[email protected]> +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: elvis distclean-elvis + +# Configuration. + +ELVIS_CONFIG ?= $(CURDIR)/elvis.config + +ELVIS ?= $(CURDIR)/elvis +export ELVIS + +ELVIS_URL ?= https://github.com/inaka/elvis/releases/download/0.2.3/elvis +ELVIS_CONFIG_URL ?= https://github.com/inaka/elvis/releases/download/0.2.3/elvis.config +ELVIS_OPTS ?= + +# Core targets. + +help:: + @printf "%s\n" "" \ + "Elvis targets:" \ + " elvis Run Elvis using the local elvis.config or download the default otherwise" + +ifneq ($(wildcard $(ELVIS_CONFIG)),) +rel:: distclean-elvis +endif + +distclean:: distclean-elvis + +# Plugin-specific targets. + +$(ELVIS): + @$(call core_http_get,$(ELVIS_CONFIG),$(ELVIS_CONFIG_URL)) + @$(call core_http_get,$(ELVIS),$(ELVIS_URL)) + @chmod +x $(ELVIS) + +elvis: $(ELVIS) + @$(ELVIS) rock -c $(ELVIS_CONFIG) $(ELVIS_OPTS) + +distclean-elvis: + $(gen_verbose) rm -rf $(ELVIS) |