in src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java [199:245]
private List<ContainerDescriptorHandler> selectContainerDescriptorHandlers(
List<ContainerDescriptorHandlerConfig> requestedContainerDescriptorHandlers,
final AssemblerConfigurationSource configSource)
throws InvalidAssemblerConfigurationException
// CHECKSTYLE_ON: LineLength
{
LOGGER.debug("All known ContainerDescriptorHandler components: "
+ (containerDescriptorHandlers == null
? "none; map is null."
: "" + containerDescriptorHandlers.keySet()));
if (requestedContainerDescriptorHandlers == null) {
requestedContainerDescriptorHandlers = new ArrayList<>();
}
final List<ContainerDescriptorHandler> handlers = new ArrayList<>();
final List<String> hints = new ArrayList<>();
if (!requestedContainerDescriptorHandlers.isEmpty()) {
for (final ContainerDescriptorHandlerConfig config : requestedContainerDescriptorHandlers) {
final String hint = config.getHandlerName();
final ContainerDescriptorHandler handler = containerDescriptorHandlers.get(hint);
if (handler == null) {
throw new InvalidAssemblerConfigurationException(
"Cannot find ContainerDescriptorHandler with hint: " + hint);
}
LOGGER.debug("Found container descriptor handler with hint: " + hint + " (component: " + handler + ")");
if (config.getConfiguration() != null) {
LOGGER.debug("Configuring handler with:\n\n" + config.getConfiguration() + "\n\n");
configureContainerDescriptorHandler(handler, (Xpp3Dom) config.getConfiguration(), configSource);
}
handlers.add(handler);
hints.add(hint);
}
}
if (!hints.contains("plexus")) {
handlers.add(new ComponentsXmlArchiverFileFilter());
}
return handlers;
}