Changeset 93 for trunk/src/compiler.erl
- Timestamp:
- 01/29/10 07:56:02 (2 years ago)
- File:
-
- 1 edited
-
trunk/src/compiler.erl (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/compiler.erl
r90 r93 5 5 -module (compiler). 6 6 -export ([init/2]). 7 -export ([init/3]). 7 8 8 9 init (Notify, Dir) -> 10 init (Notify, Dir, []). 11 12 init (Notify, Dir, Options) -> 9 13 Args = [Dir, notify_me ()], 10 14 Watcher = spawn_link (directory_watcher, init_recursive, Args), 11 State = {dict: new (), [], [] },15 State = {dict: new (), [], [], Options}, 12 16 loop (Notify, Watcher, State). 13 17 … … 16 20 check -> 17 21 Watcher ! check, 18 {Modules, Binaries, Removed } = State,22 {Modules, Binaries, Removed, Options} = State, 19 23 case receive_files (Watcher, Modules) of 20 24 Modules -> 21 25 loop (Notify, Watcher, State); 22 26 Changed -> 23 New_state = {Changed, Binaries, Removed },27 New_state = {Changed, Binaries, Removed, Options}, 24 28 compile (Notify, Watcher, New_state) 25 29 end; … … 39 43 40 44 compile (Notify, Watcher, State) -> 41 {Modules, _, _ } = State,45 {Modules, _, _, _} = State, 42 46 Notify (totals (Modules)), 43 47 Process = process_fun (Notify), … … 48 52 process_fun (Notify) -> 49 53 fun (File, Event, Acc) when Event == found; Event == changed -> 50 {Modules, Binaries, Removed } = Acc,51 Result = modules: compile (File ),54 {Modules, Binaries, Removed, Options} = Acc, 55 Result = modules: compile (File, Options), 52 56 notify_result (Result, Notify), 53 57 New_modules = dict: store (File, Result, Modules), 54 58 Notify (totals (New_modules)), 55 59 New_binaries = binaries (Result, Binaries), 56 {New_modules, New_binaries, Removed };60 {New_modules, New_binaries, Removed, Options}; 57 61 (File, Event, Acc) when Event == lost -> 58 {Modules, Binaries, Removed } = Acc,62 {Modules, Binaries, Removed, Options} = Acc, 59 63 New_modules = dict: erase (File, Modules), 60 64 New_removed = [modules: module_name (File) | Removed], 61 {New_modules, Binaries, New_removed };65 {New_modules, Binaries, New_removed, Options}; 62 66 (_, _, Acc) -> 63 67 Acc … … 93 97 94 98 notify_end (Notify, State) -> 95 {Modules, _, _ } = State,99 {Modules, _, _, _} = State, 96 100 notify_end (Notify, totals (Modules), State). 97 101 98 notify_end (Notify, {N, N, N}, {Modules, Binaries, Removed }) ->102 notify_end (Notify, {N, N, N}, {Modules, Binaries, Removed, Options}) -> 99 103 Notify ({{binaries, Binaries}, {removed, Removed}}), 100 {Modules, [], [] };104 {Modules, [], [], Options}; 101 105 notify_end (_, _, State) -> 102 106 State.
Note: See TracChangeset
for help on using the changeset viewer.
