diff --git a/apps/emqx/mix.exs b/apps/emqx/mix.exs index 2759326bc..fd9aca57e 100644 --- a/apps/emqx/mix.exs +++ b/apps/emqx/mix.exs @@ -8,7 +8,7 @@ defmodule EMQX.MixProject do app: :emqx, version: "0.1.0", build_path: "../../_build", - erlc_paths: UMP.erlc_paths(), + erlc_paths: erlc_paths(), erlc_options: [ {:i, "src"} | UMP.erlc_options() @@ -37,7 +37,7 @@ defmodule EMQX.MixProject do ## FIXME!!! go though emqx.app.src and add missing stuff... [ {:emqx_utils, in_umbrella: true}, - # {:emqx_ds_backends, in_umbrella: true}, + {:emqx_ds_backends, in_umbrella: true}, UMP.common_dep(:gproc), UMP.common_dep(:gen_rpc), diff --git a/apps/emqx_bridge_hstreamdb/mix.exs b/apps/emqx_bridge_hstreamdb/mix.exs index 87f8b80c2..8c21da7aa 100644 --- a/apps/emqx_bridge_hstreamdb/mix.exs +++ b/apps/emqx_bridge_hstreamdb/mix.exs @@ -24,7 +24,8 @@ defmodule EMQXBridgeHstreamdb.MixProject do def deps() do [ {:hstreamdb_erl, - github: "hstreamdb/hstreamdb_erl", tag: "0.5.18+v0.18.1+ezstd-v1.0.5-emqx1"}, + github: "hstreamdb/hstreamdb_erl", tag: "0.5.18+v0.18.1+ezstd-v1.0.5-emqx1", + system_env: UMP.emqx_app_system_env()}, {:emqx, in_umbrella: true}, {:emqx_utils, in_umbrella: true}, {:emqx_connector, in_umbrella: true, runtime: false}, diff --git a/apps/emqx_dashboard_sso/mix.exs b/apps/emqx_dashboard_sso/mix.exs index 13a44f61f..94b99aceb 100644 --- a/apps/emqx_dashboard_sso/mix.exs +++ b/apps/emqx_dashboard_sso/mix.exs @@ -26,7 +26,8 @@ defmodule EMQXDashboardSso.MixProject do {:emqx_ctl, in_umbrella: true}, {:emqx_ldap, in_umbrella: true}, {:emqx_dashboard, in_umbrella: true}, - {:esaml, github: "emqx/esaml", tag: "v1.1.3"} + {:esaml, github: "emqx/esaml", tag: "v1.1.3"}, + {:oidcc, github: "emqx/oidcc", tag: "v3.2.0-1"}, ] end end diff --git a/apps/emqx_machine/mix.exs b/apps/emqx_machine/mix.exs index 37fb59d5d..4ea0eef79 100644 --- a/apps/emqx_machine/mix.exs +++ b/apps/emqx_machine/mix.exs @@ -30,6 +30,8 @@ defmodule EMQXMachine.MixProject do {:emqx_dashboard, in_umbrella: true, runtime: false}, {:emqx_management, in_umbrella: true, runtime: false}, UMP.common_dep(:covertool), + UMP.common_dep(:system_monitor), + UMP.common_dep(:redbug), ] end end diff --git a/apps/emqx_modules/mix.exs b/apps/emqx_modules/mix.exs index f271d7729..b88171536 100644 --- a/apps/emqx_modules/mix.exs +++ b/apps/emqx_modules/mix.exs @@ -26,7 +26,8 @@ defmodule EMQXModules.MixProject do {:emqx, in_umbrella: true}, {:emqx_ctl, in_umbrella: true}, {:emqx_utils, in_umbrella: true}, - {:emqx_conf, in_umbrella: true} + {:emqx_conf, in_umbrella: true}, + UMP.common_dep(:observer_cli) ] end end diff --git a/apps/emqx_rule_engine/mix.exs b/apps/emqx_rule_engine/mix.exs index 0db98f21a..6463a8532 100644 --- a/apps/emqx_rule_engine/mix.exs +++ b/apps/emqx_rule_engine/mix.exs @@ -22,7 +22,7 @@ defmodule EMQXRuleEngine.MixProject do end def deps() do - [ + UMP.jq_dep() ++ [ {:emqx, in_umbrella: true}, {:emqx_ctl, in_umbrella: true}, {:emqx_utils, in_umbrella: true}, @@ -31,6 +31,7 @@ defmodule EMQXRuleEngine.MixProject do {:emqx_bridge, in_umbrella: true}, UMP.common_dep(:rulesql), UMP.common_dep(:emqtt), + UMP.common_dep(:uuid), ] end end diff --git a/mix.exs b/mix.exs index 43a1923c0..9c1a8a5f5 100644 --- a/mix.exs +++ b/mix.exs @@ -160,7 +160,7 @@ defmodule EMQXUmbrella.MixProject do {:ssl_verify_fun, "1.1.7", override: true}, common_dep(:rfc3339), common_dep(:bcrypt), - {:uuid, github: "okeuday/uuid", tag: "v2.0.6", override: true}, + common_dep(:uuid), {:quickrand, github: "okeuday/quickrand", tag: "v2.0.6", override: true}, common_dep(:ra), {:mimerl, "1.2.0", override: true} @@ -169,9 +169,9 @@ defmodule EMQXUmbrella.MixProject do def extra_release_apps() do [ - {:redbug, github: "emqx/redbug", tag: "2.0.10"}, - {:observer_cli, "1.7.1"}, - {:system_monitor, github: "ieQu1/system_monitor", tag: "3.0.5"} + common_dep(:redbug), + common_dep(:observer_cli), + common_dep(:system_monitor) ] end @@ -196,7 +196,12 @@ defmodule EMQXUmbrella.MixProject do def common_dep(:ranch), do: {:ranch, github: "emqx/ranch", tag: "1.8.1-emqx", override: true} def common_dep(:ehttpc), do: {:ehttpc, github: "emqx/ehttpc", tag: "0.4.14", override: true} def common_dep(:jiffy), do: {:jiffy, github: "emqx/jiffy", tag: "1.0.6", override: true} - def common_dep(:grpc), do: {:grpc, github: "emqx/grpc-erl", tag: "0.6.12", override: true} + + def common_dep(:grpc), + do: + {:grpc, + github: "emqx/grpc-erl", tag: "0.6.12", override: true, system_env: emqx_app_system_env()} + def common_dep(:cowboy), do: {:cowboy, github: "emqx/cowboy", tag: "2.9.2", override: true} def common_dep(:jsone), do: {:jsone, github: "emqx/jsone", tag: "1.7.1", override: true} def common_dep(:ecpool), do: {:ecpool, github: "emqx/ecpool", tag: "0.5.7", override: true} @@ -217,6 +222,13 @@ defmodule EMQXUmbrella.MixProject do def common_dep(:esasl), do: {:esasl, github: "emqx/esasl", tag: "0.2.1"} def common_dep(:gen_rpc), do: {:gen_rpc, github: "emqx/gen_rpc", tag: "3.3.1", override: true} + def common_dep(:system_monitor), + do: {:system_monitor, github: "ieQu1/system_monitor", tag: "3.0.5"} + + def common_dep(:uuid), do: {:uuid, github: "okeuday/uuid", tag: "v2.0.6", override: true} + def common_dep(:redbug), do: {:redbug, github: "emqx/redbug", tag: "2.0.10"} + def common_dep(:observer_cli), do: {:observer_cli, "1.7.1"} + def common_dep(:jose), do: {:jose, github: "potatosalad/erlang-jose", tag: "1.11.2", override: true} @@ -262,7 +274,7 @@ defmodule EMQXUmbrella.MixProject do github: "kafka4beam/snabbkaffe", tag: "1.0.10", override: true, - system_env: emqx_app_system_env(profile_info(), pkg_vsn()) + system_env: emqx_app_system_env() } ############################################################################################### @@ -426,16 +438,24 @@ defmodule EMQXUmbrella.MixProject do ) end - ############################################################################################### - # END DEPRECATED FOR MIX BLOCK - ############################################################################################### - def emqx_app_system_env(profile_info, version) do erlc_options(profile_info, version) |> dump_as_erl() |> then(&[{"ERL_COMPILER_OPTIONS", &1}]) end + def emqx_app_system_env() do + k = {__MODULE__, :emqx_app_system_env} + + get_memoized(k, fn -> + emqx_app_system_env(profile_info(), pkg_vsn()) + end) + end + + ############################################################################################### + # END DEPRECATED FOR MIX BLOCK + ############################################################################################### + defp erlc_options(%{edition_type: edition_type}, version) do [ :debug_info, @@ -1114,7 +1134,7 @@ defmodule EMQXUmbrella.MixProject do defp emqx_schema_mod(:enterprise), do: :emqx_enterprise_schema defp emqx_schema_mod(:community), do: :emqx_conf_schema - defp jq_dep() do + def jq_dep() do if enable_jq?(), do: [{:jq, github: "emqx/jq", tag: "v0.3.12", override: true}], else: []