Overview of Build Process and Generated Files

The evidence generator build process looks for evidence subdirectories in all the components listed in the SERVER_COMPONENT_ORDER. For each of these the first step is to gather the product's metadata (and display properties) to the build directory. Next, a search across the custom directory is performed to find any evidence.properties that overrides the queued product. It is at this point in the build that any overriding gets done. This is done by gathering the customized metadata (and display properties) and copying them over (not merging them with) the queued product's metadata in the build directory. The product's evidence is then generated from this super-set of metadata.

It is worth noting that most artefacts generated by an OOTB product are not modifiable. Nor are they placed under source control. The only artefacts that are modifiable, are the handcrafted Java classes provided for customizable hook points called to throughout the non-modifiable generated codebase. These are only generated where they previously did not exist. Thereafter, they must be maintained under source control.

Therefore, by overwriting the metadata before the build, all the generated custom artefacts get generated as if they belonged to the OOTB product (i.e. to the OOTB product's directories). The only exception to this is these handcrafted classes which will be described in more detail later on.