For other two, probably the master branch when it was branched off contained these files.
* tasks config was locking wrong object for some time, ApplicationConfig is just a "proxy" since long time (see ApplicationConfigurationAdapter) * tasks config moved to proper module to get a handle on proper object to lock on * Nexus now manages the lifecycle of scheduler
Before this, the event inspectors were processed in undefined order, as they were coming in (as SISU injected them, unsure was this nondeterministic or not). Anyway, event inspector implementations was impled with NO expectations about order, so this change is fine. With this change, all that happens is that system GUARANTEES that when an async inspector is about to be executed, all the sync inspectors were already run and finished. Hence, this change makes fix for NEXUS-4784 simple: just factor out the task scheduling code after line (currently 130) getIndexerManager().updateRepositoryIndexContext( repository.getId() ); (but keep this line above in sync inspector), and this fixes the problem described in NEXUS-4784 (and many others too).