Essentially, what this does is divide ROOSTER into two halves: lib, which is the entire "consumer"-facing ROOSTER API, and test, which is basically just test classes. This manages to efficiently separate main and test code, while also not cluttering up the Javadoc and dependency JAR (basically, anything in test doesn't get included in JitPack artifacts). From the "end user" point of view nothing changes, the dependency notation is still the same because only one project actually has the maven plugin.
Essentially, what this does is divide ROOSTER into two halves:
lib
, which is the entire "consumer"-facing ROOSTER API, andtest
, which is basically just test classes. This manages to efficiently separate main and test code, while also not cluttering up the Javadoc and dependency JAR (basically, anything intest
doesn't get included in JitPack artifacts). From the "end user" point of view nothing changes, the dependency notation is still the same because only one project actually has the maven plugin.