Want to contribute? Fork us in GitHub!

EO Build Process: Placed Catalog

As described in this blog post place step of EO build process copies compiled files from dependencies’ JARs into target/classes folder to have them in classpath during compilation later. You can check PlaceMojo class for exact logic of this step.
All copied files are registered within “placed catalog,” which is normally stored as target/eo/placed.csv file. Let’s consider structure of the catalog in more details.

Each entry within the catalog corresponds to a single file that has been copied.

There are two kinds of entries. Entries of kind class corresponds to a file within JAR. It can be .class or .xml or any other type of file which needs to be within classpath during compilation.
Another kind, jar, represents dependency JAR file whose content has been copied.

Placed catalog stores the following attributes for each entry:

The information from “placed catalog” can be useful when investigating “Class not found”-like issues during compilation. It can show what was added/removed from build’s classpath. It also shows the origins of classes.