@@ -2,21 +2,23 @@ open Import
22open Memo.O
33
44module Alias_rules = struct
5+ let check_empty ~loc ~dir alias =
6+ match Alias.Name. compare (Alias. name alias) Alias0. empty with
7+ | Lt | Gt -> Memo. return ()
8+ | Eq ->
9+ let * project = Dune_load. find_project ~dir in
10+ if Dune_project. dune_version project > = (3 , 20 )
11+ then
12+ User_error. raise
13+ ~loc
14+ [ Pp. text " User-defined rules cannot be added to the 'empty' alias" ]
15+ else Memo. return ()
16+ ;;
17+
518 let add sctx ~alias ~loc build =
619 let dir = Alias. dir alias in
7- let * () =
8- match Alias.Name. compare (Alias. name alias) Alias0. empty with
9- | Lt | Gt -> Memo. return ()
10- | Eq ->
11- let * project = Dune_load. find_project ~dir in
12- if Dune_project. dune_version project > = (3 , 20 )
13- then
14- User_error. raise
15- ~loc
16- [ Pp. text " User-defined rules cannot be added to the 'empty' alias" ]
17- else Memo. return ()
18- in
19- Super_context. add_alias_action sctx alias ~dir ~loc build
20+ check_empty ~loc ~dir alias
21+ >>> Super_context. add_alias_action sctx alias ~dir ~loc build
2022 ;;
2123
2224 let add_empty sctx ~loc ~alias =
@@ -269,7 +271,8 @@ let copy_files sctx ~dir ~expander ~src_dir (def : Copy_files.t) =
269271 let + () =
270272 Memo.Option. iter def.alias ~f: (fun alias ->
271273 let alias = Alias. make alias ~dir in
272- Rules.Produce.Alias. add_deps alias (Action_builder. path_set targets))
274+ Alias_rules. check_empty ~loc ~dir alias
275+ >>> Rules.Produce.Alias. add_deps alias (Action_builder. path_set targets))
273276 in
274277 targets
275278;;
@@ -284,7 +287,8 @@ let copy_files sctx ~dir ~expander ~src_dir (def : Copy_files.t) =
284287let alias sctx ?extra_bindings ~dir ~expander (alias_conf : Alias_conf.t ) =
285288 let alias = Alias. make ~dir alias_conf.name in
286289 let loc = alias_conf.loc in
287- Expander. eval_blang expander alias_conf.enabled_if
290+ Alias_rules. check_empty ~loc ~dir alias
291+ >>> Expander. eval_blang expander alias_conf.enabled_if
288292 >> = function
289293 | false -> Alias_rules. add_empty sctx ~loc ~alias
290294 | true ->
0 commit comments