From 113c56965b68dbb14d9815909f0b3cb3d65d2eaf Mon Sep 17 00:00:00 2001 From: Kostis Sagonas Date: Tue, 15 Oct 2019 16:55:48 +0200 Subject: [PATCH 1/4] Build PropEr using rebar3 instead of own rebar This set of changes allows PropEr to be built using rebar3 instead of its own (patched) rebar version. Besides being more modern, this allows for easier integration of PropEr in code bases that use it as a dependency. Note that PropEr's version of rebar is still used for running the unit tests, mainly due to being able to shut off more warnings than when using rebar3. However, this only affects PropEr developers, not users. Addresses #204 and a request by propcheck. Obsoletes #44 and most of #168. --- .gitignore | 8 +++++--- Makefile | 9 +++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index b4d3d201..6cd60ce6 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ doc/*.css doc/*.html doc/*.png doc/edoc-info -.directory -.eunit -.rebar +rebar3 +rebar.lock +.eunit/ +.rebar/ +_build/ diff --git a/Makefile b/Makefile index f66c52db..c1ad1420 100644 --- a/Makefile +++ b/Makefile @@ -30,15 +30,19 @@ endif PROPER_REBAR := .$(SEP)rebar +REBAR3_URL := https://s3.amazonaws.com/rebar3/rebar3 +REBAR3 ?= $(shell which rebar3 || which .$(SEP)rebar3 || \ + (wget $(REBAR3_URL) && chmod +x rebar3 && echo .$(SEP)rebar3)) + default: compile all: compile dialyzer doc test compile: - $(PROPER_REBAR) compile + $(REBAR3) compile dialyzer: .plt/proper_plt compile - dialyzer -n -nn --plt $< -Wunmatched_returns ebin + dialyzer -n -nn --plt $< -Wunmatched_returns _build/default/lib/proper/ebin .plt/proper_plt: .plt dialyzer --build_plt --output_plt $@ --apps erts kernel stdlib compiler crypto syntax_tools eunit @@ -58,6 +62,7 @@ clean: distclean: clean $(RM) -r .eunit .rebar $(RM) .plt/proper_plt + $(RM) -r _build rebar3 rebar.lock $(PROPER_REBAR) clean rebuild: distclean compile From 3462c3d6fd0ae09a5527ffc9655fd8eebe563de6 Mon Sep 17 00:00:00 2001 From: Kostis Sagonas Date: Wed, 16 Oct 2019 09:23:25 +0200 Subject: [PATCH 2/4] mix.exs: Incorporate changes from master --- mix.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index fad99211..ab2c5457 100644 --- a/mix.exs +++ b/mix.exs @@ -28,6 +28,6 @@ defmodule Proper.Mixfile do end defp aliases do - [docs: "cmd ./make_doc"] + [docs: "cmd ./scripts/make_doc"] end end From fb6764b56e4146a93edf8d41b5ef084918c742e6 Mon Sep 17 00:00:00 2001 From: Kostis Sagonas Date: Wed, 16 Oct 2019 09:25:25 +0200 Subject: [PATCH 3/4] Remove mis.exs --- mix.exs | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 mix.exs diff --git a/mix.exs b/mix.exs deleted file mode 100644 index ab2c5457..00000000 --- a/mix.exs +++ /dev/null @@ -1,33 +0,0 @@ -defmodule Proper.Mixfile do - use Mix.Project - - def project do - [app: :proper, - version: "1.3.0", - description: description(), - package: package(), - deps: deps(), - aliases: aliases()] - end - - defp deps do - [] - end - - defp description do - """ - QuickCheck-inspired property-based testing tool for Erlang. - """ - end - - defp package do - [files: ~w(src include rebar.config Makefile COPYING README.md THANKS examples scripts mix.exs), - maintainers: ["Manolis Papadakis", "Eirini Arvaniti", "Kostis Sagonas"], - licenses: ["GPL"], - links: %{"GitHub" => "https://github.com/proper-testing/proper"}] - end - - defp aliases do - [docs: "cmd ./scripts/make_doc"] - end -end From 51d273937a33e0c7a8127250e481a78773db9b03 Mon Sep 17 00:00:00 2001 From: Kostis Sagonas Date: Wed, 16 Oct 2019 09:26:56 +0200 Subject: [PATCH 4/4] Put relevant info for publishing to hex in proper.app.src --- src/proper.app.src | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/proper.app.src b/src/proper.app.src index e4b4c8db..f6e3b098 100644 --- a/src/proper.app.src +++ b/src/proper.app.src @@ -1,7 +1,7 @@ %%% -*- coding: utf-8 -*- %%% -*- erlang-indent-level: 2 -*- %%% ------------------------------------------------------------------- -%%% Copyright 2010-2018 Manolis Papadakis , +%%% Copyright 2010-2019 Manolis Papadakis , %%% Eirini Arvaniti %%% and Kostis Sagonas %%% @@ -20,14 +20,17 @@ %%% You should have received a copy of the GNU General Public License %%% along with PropEr. If not, see . -%%% @copyright 2010-2018 Manolis Papadakis, Eirini Arvaniti and Kostis Sagonas +%%% @copyright 2010-2019 Manolis Papadakis, Eirini Arvaniti and Kostis Sagonas %%% @version {@version} %%% @author Manolis Papadakis %%% @doc This is the source for the proper.app file. {application, proper, [{description, "A QuickCheck-inspired property-based testing tool for Erlang"}, - {vsn, "1.3.0"}, + {maintainers, ["Manolis Papadakis", "Eirini Arvaniti", "Kostis Sagonas"]}, + {licenses, ["GPL3"]}, + {link, [{"GitHub", "https://github.com/proper-testing/proper"}]}, + {vsn, "1.4.0"}, {registered, []}, - {applications, [compiler,kernel,stdlib]}, + {applications, [compiler, kernel, stdlib]}, {env, []}]}.