}
catch (NoSuchArchiverException e) {
throw new MojoExecutionException("Unknown archiver type", e);
}
PatternGroup excludes = new PatternGroup(excludesFile);
excludes.addPatterns(DEFAULT_EXCLUDES);
PatternGroup includes = new PatternGroup(includesFile);
if (includes.size() == 0) {
includes.addPatterns(new String[] {
"**/**"
});
}
// MavenArchiver adds Maven stuff into META-INF
MavenArchiver archiver = new MavenArchiver();
archiver.setArchiver(jarArchiver);
archiver.setOutputFile(destinationFile);
MavenArchiveConfiguration archive = new MavenArchiveConfiguration();
try {
if (!unpackDirectory.exists()) {
getLog().warn("Jar will be empty, no unpack directory.");
}
else {
archiver.getArchiver().addDirectory(
unpackDirectory,
includes.getPatterns(),
excludes.getPatterns());
}
archiver.createArchive(project, archive);
}