2
3:- module(logicmoo_packages,[ rescan_pack_autoload_packages/0 ]). 4
8:- use_module(library(prolog_pack)). 9
10:- if( \+ prolog_pack:current_pack(logicmoo_base)). 11
12:- attach_packs('/opt/logicmoo_workspace/packs_sys',[duplicate(keep)]). 13
14:- multifile(user:file_search_path/2). 15:- dynamic(user:file_search_path/2). 16:- prolog_load_context(directory,Dir),
17 absolute_file_name('../../',Y,[relative_to(Dir),file_type(directory)]),
18 (( \+ user:file_search_path(pack,Y)) ->asserta(user:file_search_path(pack,Y));true). 19:- initialization(attach_packs,now). 20:- pack_list_installed. 21:- endif. 22
23
24
26:- dmsg("AUTOLOAD PACKAGES"). 28
38
39
40rescan_pack_autoload_packages:- \+ access_file('.',write),dmsg("READONLY PACKAGES"),!.
41rescan_pack_autoload_packages:- \+ app_argv('--all'),!.
42rescan_pack_autoload_packages:- dmsg("AUTOLOADING PACKAGES..."),
43 forall('$pack':pack(Pack, _),
44 forall(((pack_property(Pack, directory(PackDir)),prolog_pack:pack_info_term(PackDir,autoload(true)))),
45 (access_file(PackDir,write) -> prolog_pack:post_install_autoload(PackDir, [autoload(true)]) ; true))),
46 dmsg(".. AUTOLOADING COMPLETE"),!.
47
48:- before_boot(rescan_pack_autoload_packages). 49:- during_boot(rescan_pack_autoload_packages). 50
51
54:- reload_library_index.