diff --git a/rustler_mix/lib/mix/tasks/compile.rustler.ex b/rustler_mix/lib/mix/tasks/compile.rustler.ex index 681e63b8..101f8a24 100644 --- a/rustler_mix/lib/mix/tasks/compile.rustler.ex +++ b/rustler_mix/lib/mix/tasks/compile.rustler.ex @@ -5,16 +5,20 @@ defmodule Mix.Tasks.Compile.Rustler do def run(_args) do config = Mix.Project.config() - crates = Keyword.get(config, :rustler_crates) || raise_missing_crates() + case Mix.Project.umbrella?(config) do + true -> nil + false -> + crates = Keyword.get(config, :rustler_crates) || raise_missing_crates() - File.mkdir_p!(priv_dir()) + File.mkdir_p!(priv_dir()) - Enum.map(crates, &compile_crate/1) + Enum.map(crates, &compile_crate/1) - # Workaround for a mix problem. We should REALLY get this fixed properly. - _ = symlink_or_copy(config, - Path.expand("priv"), - Path.join(Mix.Project.app_path(config), "priv")) + # Workaround for a mix problem. We should REALLY get this fixed properly. + _ = symlink_or_copy(config, + Path.expand("priv"), + Path.join(Mix.Project.app_path(config), "priv")) + end end diff --git a/src/lib.rs b/src/lib.rs index 4088390d..82953c46 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -43,6 +43,7 @@ mod term; pub use term::{ NifTerm }; pub use types::{ NifEncoder, NifDecoder }; +pub use wrapper::nif_interface::ErlNifTaskFlags; pub mod resource; pub mod dynamic; diff --git a/src/wrapper/nif_interface.rs b/src/wrapper/nif_interface.rs index 51e0bc09..83a95d13 100644 --- a/src/wrapper/nif_interface.rs +++ b/src/wrapper/nif_interface.rs @@ -33,12 +33,12 @@ pub enum NIF_ERROR { pub type DEF_NIF_FUNC = erlang_nif_sys::ErlNifFunc; pub type DEF_NIF_ENTRY = erlang_nif_sys::ErlNifEntry; -pub use self::erlang_nif_sys::NIF_MAJOR_VERSION; -pub use self::erlang_nif_sys::NIF_MINOR_VERSION; -pub use self::erlang_nif_sys::ErlNifResourceFlags as NIF_RESOURCE_FLAGS; +pub use ::erlang_nif_sys::NIF_MAJOR_VERSION; +pub use ::erlang_nif_sys::NIF_MINOR_VERSION; +pub use ::erlang_nif_sys::ErlNifResourceFlags as NIF_RESOURCE_FLAGS; -pub use self::erlang_nif_sys::ErlNifBinaryToTerm as NIF_BINARY_TO_TERM_OPTS; -pub use self::erlang_nif_sys::ERL_NIF_BIN2TERM_SAFE; +pub use ::erlang_nif_sys::ErlNifBinaryToTerm as NIF_BINARY_TO_TERM_OPTS; +pub use ::erlang_nif_sys::ERL_NIF_BIN2TERM_SAFE; #[repr(C)] pub enum ErlNifTaskFlags { @@ -210,7 +210,7 @@ pub unsafe fn enif_keep_resource(obj: NIF_RESOURCE_HANDLE) { erlang_nif_sys::enif_keep_resource(obj) } -pub use self::erlang_nif_sys::{ +pub use ::erlang_nif_sys::{ ErlNifMapIterator, ErlNifMapIteratorEntry, ErlNifPid,