git.annexia.org
/
whenjobs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rpm: Add BR pcre-devel.
[whenjobs.git]
/
lib
/
whenfile.ml
diff --git
a/lib/whenfile.ml
b/lib/whenfile.ml
index
8fdca1e
..
d011dfc
100644
(file)
--- a/
lib/whenfile.ml
+++ b/
lib/whenfile.ml
@@
-16,27
+16,29
@@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*)
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*)
-open When
utils
+open When
expr
open Printf
open Printf
-(* The
list of jobs in this
file. *)
-let
jobs = ref []
+(* The
state updated during parsing of the
file. *)
+let
state = ref Whenstate.empty
-let init
() = jobs := []
+let init
s = state := s
-let add_when_job _loc name e sh =
+let add_when_job _loc name
pre post
e sh =
let e = expr_of_ast _loc e in
let job = { job_loc = _loc; job_name = name;
let e = expr_of_ast _loc e in
let job = { job_loc = _loc; job_name = name;
- job_
cond = When_job e; job_script = sh
;
- job_
private = no_job_private
} in
- jobs := job :: !jobs
+ job_
pre = pre; job_post = post
;
+ job_
cond = When_job e; job_script = sh
} in
+ state := Whenstate.add_job !state job
-let add_every_job _loc name e sh =
+let add_every_job _loc name
pre post
e sh =
let job = { job_loc = _loc; job_name = name;
let job = { job_loc = _loc; job_name = name;
- job_
cond = Every_job e; job_script = sh
;
- job_
private = no_job_private
} in
- jobs := job :: !jobs
+ job_
pre = pre; job_post = post
;
+ job_
cond = Every_job e; job_script = sh
} in
+ state := Whenstate.add_job !state job
-let get_jobs () =
- List.rev !jobs
+let set_variable name value =
+ state := Whenstate.set_variable !state name value
+
+let get_state () = !state