in src/main/java/org/apache/maven/plugins/jarsigner/AbstractJarsignerMojo.java [460:547]
protected final void processArchive(final File archive) throws MojoExecutionException {
if (archive == null) {
throw new NullPointerException("archive");
}
preProcessArchive(archive);
if (this.verbose) {
getLog().info(getMessage("processing", archive));
} else if (getLog().isDebugEnabled()) {
getLog().debug(getMessage("processing", archive));
}
JarSignerRequest request = createRequest(archive);
request.setVerbose(verbose);
request.setAlias(alias);
request.setArchive(archive);
request.setKeystore(keystore);
request.setStoretype(storetype);
request.setProviderArg(providerArg);
request.setProviderClass(providerClass);
request.setProviderName(providerName);
request.setWorkingDirectory(workingDirectory);
request.setMaxMemory(maxMemory);
request.setProtectedAuthenticationPath(protectedAuthenticationPath);
// Preserves 'file.encoding' the plugin is executed with.
final List<String> additionalArguments = new ArrayList<>();
boolean fileEncodingSeen = false;
if (this.arguments != null) {
for (final String argument : this.arguments) {
if (argument.trim().startsWith("-J-Dfile.encoding=")) {
fileEncodingSeen = true;
}
additionalArguments.add(argument);
}
}
if (!fileEncodingSeen) {
additionalArguments.add("-J-Dfile.encoding=" + ReaderFactory.FILE_ENCODING);
}
// Adds proxy information.
if (this.settings != null
&& this.settings.getActiveProxy() != null
&& StringUtils.isNotEmpty(this.settings.getActiveProxy().getHost())) {
additionalArguments.add(
"-J-Dhttp.proxyHost=" + this.settings.getActiveProxy().getHost());
additionalArguments.add(
"-J-Dhttps.proxyHost=" + this.settings.getActiveProxy().getHost());
additionalArguments.add(
"-J-Dftp.proxyHost=" + this.settings.getActiveProxy().getHost());
if (this.settings.getActiveProxy().getPort() > 0) {
additionalArguments.add(
"-J-Dhttp.proxyPort=" + this.settings.getActiveProxy().getPort());
additionalArguments.add(
"-J-Dhttps.proxyPort=" + this.settings.getActiveProxy().getPort());
additionalArguments.add(
"-J-Dftp.proxyPort=" + this.settings.getActiveProxy().getPort());
}
if (StringUtils.isNotEmpty(this.settings.getActiveProxy().getNonProxyHosts())) {
additionalArguments.add("-J-Dhttp.nonProxyHosts=\""
+ this.settings.getActiveProxy().getNonProxyHosts() + "\"");
additionalArguments.add("-J-Dftp.nonProxyHosts=\""
+ this.settings.getActiveProxy().getNonProxyHosts() + "\"");
}
}
request.setArguments(
!additionalArguments.isEmpty()
? additionalArguments.toArray(new String[additionalArguments.size()])
: null);
// Special handling for passwords through the Maven Security Dispatcher
request.setStorepass(decrypt(storepass));
try {
executeJarSigner(jarSigner, request);
} catch (JavaToolException e) {
throw new MojoExecutionException(getMessage("commandLineException", e.getMessage()), e);
}
}