From dd06d70bce38b0531cf483dee638e63769ca5712 Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Mon, 1 Mar 2021 22:03:49 +0100 Subject: [PATCH] refactor(build): Move parse_transform module to root app So we do not have to workaround the compile order issue --- rebar.config | 2 +- rebar.config.erl | 17 +---------------- .../src => src}/emqx_rule_actions_trans.erl | 0 3 files changed, 2 insertions(+), 17 deletions(-) rename {apps/emqx_rule_engine/src => src}/emqx_rule_actions_trans.erl (100%) diff --git a/rebar.config b/rebar.config index c692b185e..034c9225b 100644 --- a/rebar.config +++ b/rebar.config @@ -34,7 +34,7 @@ {post_hooks,[]}. -{erl_first_files, ["src/emqx_logger.erl"]}. +{erl_first_files, ["src/emqx_logger.erl", "src/emqx_rule_actions_trans.erl"]}. {deps, [ {gproc, {git, "https://github.com/uwiger/gproc", {tag, "0.8.0"}}} diff --git a/rebar.config.erl b/rebar.config.erl index 95d79b188..6006719f1 100644 --- a/rebar.config.erl +++ b/rebar.config.erl @@ -2,8 +2,7 @@ -export([do/2]). -do(Dir, CONFIG) -> - ok = compile_and_load_pase_transforms(Dir), +do(_Dir, CONFIG) -> C1 = deps(CONFIG), Config = dialyzer(C1), dump(Config ++ [{overrides, overrides()}] ++ coveralls() ++ config()). @@ -299,20 +298,6 @@ provide_bcrypt_dep() -> provide_bcrypt_release(ReleaseType) -> provide_bcrypt_dep() andalso ReleaseType =:= cloud. -%% this is a silly but working patch. -%% rebar3 does not handle umberella project's cross-app parse_transform well -compile_and_load_pase_transforms(Dir) -> - PtFiles = - [ "apps/emqx_rule_engine/src/emqx_rule_actions_trans.erl" - ], - CompileOpts = [verbose,report_errors,report_warnings,return_errors,debug_info], - lists:foreach(fun(PtFile) -> {ok, _Mod} = compile:file(path(Dir, PtFile), CompileOpts) end, PtFiles). - -path(Dir, Path) -> str(filename:join([Dir, Path])). - -str(L) when is_list(L) -> L; -str(B) when is_binary(B) -> unicode:characters_to_list(B, utf8). - erl_opts_i() -> [{i, "apps"}] ++ [{i, Dir} || Dir <- filelib:wildcard(filename:join(["apps", "*", "include"]))] ++ diff --git a/apps/emqx_rule_engine/src/emqx_rule_actions_trans.erl b/src/emqx_rule_actions_trans.erl similarity index 100% rename from apps/emqx_rule_engine/src/emqx_rule_actions_trans.erl rename to src/emqx_rule_actions_trans.erl