Skip to content

Commit a20dcf5

Browse files
Setup recompilation on invalidations
This is the spot where many of the problematic invalidator scripts enter the ecosystem. Therefore what we are doing here is effectively resetting compilation.
1 parent 358bdde commit a20dcf5

File tree

2 files changed

+99
-95
lines changed

2 files changed

+99
-95
lines changed

Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
2020
MuladdMacro = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221"
2121
Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a"
2222
PreallocationTools = "d236fae5-4411-538c-8e31-a6e3d9e00b46"
23+
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
2324
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
2425
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
2526
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"

src/DiffEqBase.jl

Lines changed: 98 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -7,101 +7,104 @@ if !isdefined(Base, :get_extension)
77
using Requires
88
end
99

10-
using ArrayInterface
11-
12-
using StaticArraysCore # data arrays
13-
14-
using LinearAlgebra, Printf
15-
16-
using DocStringExtensions
17-
18-
using FunctionWrappers: FunctionWrapper
19-
20-
using MuladdMacro, Parameters
21-
22-
using Reexport
23-
24-
using Statistics
25-
26-
using FastBroadcast: @.., True, False
27-
28-
using Static: reduce_tup
29-
30-
import ChainRulesCore
31-
import RecursiveArrayTools
32-
import SparseArrays
33-
import TruncatedStacktraces
34-
35-
import ChainRulesCore: NoTangent, @non_differentiable
36-
import ZygoteRules
37-
38-
using Setfield
39-
40-
using ForwardDiff
41-
42-
using EnumX
43-
44-
using Markdown
45-
46-
# Could be made optional/glue
47-
import PreallocationTools
48-
49-
import FunctionWrappersWrappers
50-
@reexport using SciMLBase
51-
52-
using SciMLOperators: AbstractSciMLOperator, AbstractSciMLScalarOperator
53-
54-
using SciMLBase: @def, DEIntegrator, DEProblem,
55-
AbstractDiffEqInterpolation,
56-
DECallback, AbstractDEOptions, DECache, AbstractContinuousCallback,
57-
AbstractDiscreteCallback, AbstractLinearProblem, AbstractNonlinearProblem,
58-
AbstractOptimizationProblem, AbstractSteadyStateProblem,
59-
AbstractJumpProblem,
60-
AbstractNoiseProblem, AbstractEnsembleProblem, AbstractDynamicalODEProblem,
61-
DEAlgorithm, StandardODEProblem, AbstractIntegralProblem,
62-
AbstractSensitivityAlgorithm, AbstractODEAlgorithm,
63-
AbstractSDEAlgorithm, AbstractDDEAlgorithm, AbstractDAEAlgorithm,
64-
AbstractSDDEAlgorithm, AbstractRODEAlgorithm, DAEInitializationAlgorithm,
65-
AbstractSteadyStateAlgorithm, AbstractODEProblem, AbstractDiscreteProblem,
66-
AbstractSDEProblem, AbstractRODEProblem, AbstractDDEProblem,
67-
AbstractDAEProblem, AbstractSDDEProblem, AbstractBVProblem,
68-
AbstractTimeseriesSolution, AbstractNoTimeSolution, numargs,
69-
AbstractODEFunction, AbstractSDEFunction, AbstractRODEFunction,
70-
AbstractDDEFunction, AbstractSDDEFunction, AbstractDAEFunction,
71-
AbstractNonlinearFunction, AbstractEnsembleSolution,
72-
AbstractODESolution, AbstractRODESolution, AbstractDAESolution,
73-
AbstractDDESolution,
74-
EnsembleAlgorithm, EnsembleSolution, EnsembleSummary,
75-
NonlinearSolution,
76-
TimeGradientWrapper, TimeDerivativeWrapper, UDerivativeWrapper,
77-
UJacobianWrapper, ParamJacobianWrapper, JacobianWrapper,
78-
check_error!, has_jac, has_tgrad, has_Wfact, has_Wfact_t, has_paramjac,
79-
AbstractODEIntegrator, AbstractSDEIntegrator, AbstractRODEIntegrator,
80-
AbstractDDEIntegrator, AbstractSDDEIntegrator,
81-
AbstractDAEIntegrator, unwrap_cache, has_reinit, reinit!,
82-
postamble!, last_step_failed, islinear, has_stats,
83-
initialize_dae!, build_solution, solution_new_retcode,
84-
solution_new_tslocation, plot_indices,
85-
NullParameters, isinplace, AbstractADType, AbstractDiscretization,
86-
DISCRETE_OUTOFPLACE_DEFAULT, DISCRETE_INPLACE_DEFAULT,
87-
has_analytic, calculate_solution_errors!, AbstractNoiseProcess,
88-
has_colorvec, parameterless_type, undefined_exports,
89-
is_diagonal_noise, AbstractDiffEqFunction, sensitivity_solution,
90-
interp_summary, AbstractHistoryFunction, LinearInterpolation,
91-
ConstantInterpolation, HermiteInterpolation, SensitivityInterpolation,
92-
NoAD, @add_kwonly,
93-
calculate_ensemble_errors, DEFAULT_UPDATE_FUNC, isconstant,
94-
DEFAULT_REDUCTION, isautodifferentiable,
95-
isadaptive, isdiscrete, has_syms, AbstractAnalyticalSolution,
96-
RECOMPILE_BY_DEFAULT, wrap_sol, has_destats
97-
98-
import SciMLBase: solve, init, step!, solve!, __init, __solve, update_coefficients!,
99-
update_coefficients, isadaptive, wrapfun_oop, wrapfun_iip,
100-
unwrap_fw, promote_tspan, set_u!, set_t!, set_ut!
101-
102-
import SciMLBase: AbstractDiffEqLinearOperator # deprecation path
103-
104-
import Tricks
10+
@recompile_invalidations begin
11+
using ArrayInterface
12+
13+
using StaticArraysCore # data arrays
14+
15+
using LinearAlgebra, Printf
16+
17+
using DocStringExtensions
18+
19+
using FunctionWrappers: FunctionWrapper
20+
21+
using MuladdMacro, Parameters
22+
23+
using Reexport
24+
25+
using Statistics
26+
27+
using FastBroadcast: @.., True, False
28+
29+
using Static: reduce_tup
30+
31+
import ChainRulesCore
32+
import RecursiveArrayTools
33+
import SparseArrays
34+
import TruncatedStacktraces
35+
36+
import ChainRulesCore: NoTangent, @non_differentiable
37+
import ZygoteRules
38+
39+
using Setfield
40+
41+
using ForwardDiff
42+
43+
using EnumX
44+
45+
using Markdown
46+
47+
# Could be made optional/glue
48+
import PreallocationTools
49+
50+
import FunctionWrappersWrappers
51+
@reexport using SciMLBase
52+
53+
using SciMLOperators: AbstractSciMLOperator, AbstractSciMLScalarOperator
54+
55+
using SciMLBase: @def, DEIntegrator, DEProblem,
56+
AbstractDiffEqInterpolation,
57+
DECallback, AbstractDEOptions, DECache, AbstractContinuousCallback,
58+
AbstractDiscreteCallback, AbstractLinearProblem, AbstractNonlinearProblem,
59+
AbstractOptimizationProblem, AbstractSteadyStateProblem,
60+
AbstractJumpProblem,
61+
AbstractNoiseProblem, AbstractEnsembleProblem, AbstractDynamicalODEProblem,
62+
DEAlgorithm, StandardODEProblem, AbstractIntegralProblem,
63+
AbstractSensitivityAlgorithm, AbstractODEAlgorithm,
64+
AbstractSDEAlgorithm, AbstractDDEAlgorithm, AbstractDAEAlgorithm,
65+
AbstractSDDEAlgorithm, AbstractRODEAlgorithm, DAEInitializationAlgorithm,
66+
AbstractSteadyStateAlgorithm, AbstractODEProblem, AbstractDiscreteProblem,
67+
AbstractSDEProblem, AbstractRODEProblem, AbstractDDEProblem,
68+
AbstractDAEProblem, AbstractSDDEProblem, AbstractBVProblem,
69+
AbstractTimeseriesSolution, AbstractNoTimeSolution, numargs,
70+
AbstractODEFunction, AbstractSDEFunction, AbstractRODEFunction,
71+
AbstractDDEFunction, AbstractSDDEFunction, AbstractDAEFunction,
72+
AbstractNonlinearFunction, AbstractEnsembleSolution,
73+
AbstractODESolution, AbstractRODESolution, AbstractDAESolution,
74+
AbstractDDESolution,
75+
EnsembleAlgorithm, EnsembleSolution, EnsembleSummary,
76+
NonlinearSolution,
77+
TimeGradientWrapper, TimeDerivativeWrapper, UDerivativeWrapper,
78+
UJacobianWrapper, ParamJacobianWrapper, JacobianWrapper,
79+
check_error!, has_jac, has_tgrad, has_Wfact, has_Wfact_t, has_paramjac,
80+
AbstractODEIntegrator, AbstractSDEIntegrator, AbstractRODEIntegrator,
81+
AbstractDDEIntegrator, AbstractSDDEIntegrator,
82+
AbstractDAEIntegrator, unwrap_cache, has_reinit, reinit!,
83+
postamble!, last_step_failed, islinear, has_stats,
84+
initialize_dae!, build_solution, solution_new_retcode,
85+
solution_new_tslocation, plot_indices,
86+
NullParameters, isinplace, AbstractADType, AbstractDiscretization,
87+
DISCRETE_OUTOFPLACE_DEFAULT, DISCRETE_INPLACE_DEFAULT,
88+
has_analytic, calculate_solution_errors!, AbstractNoiseProcess,
89+
has_colorvec, parameterless_type, undefined_exports,
90+
is_diagonal_noise, AbstractDiffEqFunction, sensitivity_solution,
91+
interp_summary, AbstractHistoryFunction, LinearInterpolation,
92+
ConstantInterpolation, HermiteInterpolation, SensitivityInterpolation,
93+
NoAD, @add_kwonly,
94+
calculate_ensemble_errors, DEFAULT_UPDATE_FUNC, isconstant,
95+
DEFAULT_REDUCTION, isautodifferentiable,
96+
isadaptive, isdiscrete, has_syms, AbstractAnalyticalSolution,
97+
RECOMPILE_BY_DEFAULT, wrap_sol, has_destats
98+
99+
import SciMLBase: solve, init, step!, solve!, __init, __solve, update_coefficients!,
100+
update_coefficients, isadaptive, wrapfun_oop, wrapfun_iip,
101+
unwrap_fw, promote_tspan, set_u!, set_t!, set_ut!
102+
103+
import SciMLBase: AbstractDiffEqLinearOperator # deprecation path
104+
105+
import Tricks
106+
end
107+
105108
SciMLBase.isfunctionwrapper(x::FunctionWrapper) = true
106109

107110
"""

0 commit comments

Comments
 (0)