If you use some custom annotation processors in your project to generate sources and files, validate code and produce warnings, IntelliJ IDEA enables you to easily invoke these processors as a part of the compilation process.
Annotation processing is performed on the base of the annotation profiles.
A profile is a set of configuration options for annotation processing (use of the annotation processor, location of the annotation processing output, specific annotation processors and their parameters).
The default profile always exists. All the modules comprising a project by default use this profile. When new profiles are created, modules can be associated with them. Thus, several modules can be grouped to use one type of annotation processing.
IntelliJ IDEA allows you to: