@@ -135,7 +135,13 @@ defmodule Kernel.ParallelCompiler do
135
135
136
136
* `:each_long_compilation` - for each file that takes more than a given
137
137
timeout (see the `:long_compilation_threshold` option) to compile, invoke
138
- this callback passing the file as its argument
138
+ this callback passing the file as its argument (and optionally the PID
139
+ of the process compiling the file)
140
+
141
+ * `:each_long_verification` (since v1.19.0) - for each file that takes more
142
+ than a given timeout (see the `:long_verification_threshold` option) to
143
+ compile, invoke this callback passing the module as its argument (and
144
+ optionally the PID of the process verifying the module)
139
145
140
146
* `:each_module` - for each module compiled, invokes the callback passing
141
147
the file, module and the module bytecode
@@ -147,11 +153,14 @@ defmodule Kernel.ParallelCompiler do
147
153
* `{:runtime, modules, warnings}` - to stop compilation and verify the list
148
154
of modules because dependent modules have changed
149
155
150
- * `:long_compilation_threshold` - the timeout (in seconds) to check for modules
156
+ * `:long_compilation_threshold` - the timeout (in seconds) to check for files
151
157
taking too long to compile. For each file that exceeds the threshold, the
152
- `:each_long_compilation` callback is invoked. From Elixir v1.11, only the time
153
- spent compiling the actual module is taken into account by the threshold, the
154
- time spent waiting is not considered. Defaults to `10` seconds.
158
+ `:each_long_compilation` callback is invoked. Defaults to `10` seconds.
159
+
160
+ * `:long_verification_threshold` (since v1.19.0) - the timeout (in seconds) to
161
+ check for modules taking too long to compile. For each module that exceeds the
162
+ threshold, the `:each_long_verification` callback is invoked. Defaults to
163
+ `10` seconds.
155
164
156
165
* `:profile` - if set to `:time` measure the compilation time of each compilation cycle
157
166
and group pass checker
0 commit comments