Hi Geoff!<div><br></div><div>There is no good way to do this really. Since rebar is an escript, the code server can not read it as a general archive. The only option you have would be to extract the archive part from it, write it to a file with .ez extension and then add code path to it, e.g.</div>
<div><br></div><div><div>1> {ok,Stuff} = escript:extract("rebar",[]). </div><div>{ok,[{shebang,default},</div><div>     {comment,[]},</div><div>     {emu_args,"-noshell -noinput"},</div><div>     {archive,<<80,75,3,4,20,0,0,0,8,0,15,84,235,64,105,178,</div>
<div>                62,157,168,18,0,...>>}]}</div><div>2> </div><div>2> Bin = proplists:get_value(archive,Stuff).</div><div><<80,75,3,4,20,0,0,0,8,0,15,84,235,64,105,178,62,157,168,</div><div>  18,0,0,164,30,0,0,11,0,0,...>></div>
<div>3> file:write_file("rebar.ez",Bin).</div><div>ok</div><div>4> erl_prim_loader:list_dir("rebar.ez").</div><div>{ok,["priv","rebar_xref.beam","rebar_utils.beam",</div>
<div>     "rebar_upgrade.beam","rebar_templater.beam",</div><div>     "rebar_subdirs.beam","rebar_require_vsn.beam",</div><div>     "rebar_reltool.beam","rebar_rel_utils.beam",</div>
<div>     "rebar_protobuffs_compiler.beam","rebar_port_compiler.beam",</div><div>     "rebar_otp_app.beam","rebar_neotoma_compiler.beam",</div><div>     "rebar_log.beam","rebar_lfe_compiler.beam",</div>
<div>     "rebar_file_utils.beam","rebar_eunit.beam",</div><div>     "rebar_escripter.beam","rebar_erlydtl_compiler.beam",</div><div>     "rebar_erlc_compiler.beam","rebar_edoc.beam",</div>
<div>     "rebar_deps.beam","rebar_ct.beam","rebar_core.beam",</div><div>     "rebar_config.beam","rebar_cleaner.beam",</div><div>     [...]|...]}</div><div>5> code:which(rebar).</div>
<div>non_existing</div><div>6> code:add_path("rebar.ez").</div><div>true</div><div>7> code:which(rebar).        </div><div>"rebar.ez/rebar.beam"</div><div>8> </div><div><br></div><div><br></div>
<div>Regards</div><div>/siri</div><br><div class="gmail_quote">2012/7/10 Geoff Cant <span dir="ltr"><<a href="mailto:nem@erlang.geek.nz" target="_blank">nem@erlang.geek.nz</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Hi all, after looking for a while, I couldn't figure out how to tell<br>
ERTS or the code server that /some/path/rebar was a valid place to load<br>
modules from.<br>
<br>
Is there a magic function / command-line flag I can use to get the<br>
contents of this escript archive into the code path?<br>
<br>
Cheers,<br>
<span class="HOEnZb"><font color="#888888">--<br>
Geoff Cant<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</font></span></blockquote></div><br></div>