Description
Some packages are apis, like foundation-database. They does not work out of themself, they need to compose with their implementations (like database-openjpa) to be functional. There should be a maven goal that checks for these situations, warning the user or blocking completely in the case where an api package is present without any implementation.
The problem is how to identify these api-only packages and how to propose possible implementations.
The pom is not extensible to support such additional informations (at least not in maven 2.x), so an additional file should be added in the jar, telling that the package is api only. Possible implementations could be placed in that file in first phase. Obviously this creates a coupling where for each new implementation the api file must be updated, but we can survive this right now.