-module(eensy_dev_tools@cli@pack). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([do_app/1, app/0]). -file("src/eensy_dev_tools/cli/pack.gleam", 42). -spec do_app(boolean()) -> eensy_dev_tools@cli:cli(nil). do_app(_) -> eensy_dev_tools@cli:log( <<"Packing your project"/utf8>>, fun() -> eensy_dev_tools@cli:do( eensy_dev_tools@cli:get_name(), fun(Project_name) -> eensy_dev_tools@cli:success( <<"Project compiled successfully"/utf8>>, fun() -> eensy_dev_tools@cli:log( <<"Loading "/utf8>>, fun() -> eensy_dev_tools@cli:log( <<"Running atomvm beam packer"/utf8>>, fun() -> Root = eensy_dev_tools@project:root( ), eensy_dev_tools@cli:'try'( eensy_dev_tools@project:export(), fun(_) -> Output_path = filepath:join( Root, <<"build/.atomvm"/utf8>> ), gleam@result:unwrap( simplifile:create_directory_all( Output_path ), nil ), Input_paths = begin _pipe = gleam@result:unwrap( simplifile:get_files( <<"build/erlang-shipment/"/utf8>> ), [] ), gleam@list:filter( _pipe, fun(Path) -> gleam_stdlib:contains_string( Path, <<".beam"/utf8>> ) end ) end, eensy_dev_tools@cli:'try'( eensy_dev_tools@packbeam:create( filepath:join( Output_path, <> ), Input_paths, {some, false}, Project_name, none ), fun(_) -> eensy_dev_tools@cli:return( nil ) end ) end ) end ) end ) end ) end ) end ). -file("src/eensy_dev_tools/cli/pack.gleam", 25). -spec app() -> glint:command(nil). app() -> glint:command_help( <<" Commands for packing BEAM and static files from your project "/utf8>>, fun() -> glint:unnamed_args( {eq_args, 0}, fun() -> glint:flag( eensy_dev_tools@cli@flag:prune(), fun(Prune) -> glint:command( fun(_, _, Flags) -> Script = begin eensy_dev_tools@cli:do( eensy_dev_tools@cli:get_bool( <<"prune"/utf8>>, false, [<<"build"/utf8>>], Prune ), fun(Prune@1) -> do_app(Prune@1) end ) end, case eensy_dev_tools@cli:run(Script, Flags) of {ok, _} -> nil; {error, Error} -> _pipe = eensy_dev_tools@error:explain( Error ), gleam@io:print_error(_pipe) end end ) end ) end ) end ).