in src/main/java/org/apache/maven/plugins/help/EffectiveSettingsMojo.java [156:199]
private static Settings copySettings(Settings settings) {
if (settings == null) {
return null;
}
// Not a deep copy in M2.2.1 !!!
Settings clone = SettingsUtils.copySettings(settings);
List<Server> clonedServers = new ArrayList<>(settings.getServers().size());
for (Server server : settings.getServers()) {
Server clonedServer = new Server();
clonedServer.setConfiguration(server.getConfiguration());
clonedServer.setDirectoryPermissions(server.getDirectoryPermissions());
clonedServer.setFilePermissions(server.getFilePermissions());
clonedServer.setId(server.getId());
clonedServer.setPassphrase(server.getPassphrase());
clonedServer.setPassword(server.getPassword());
clonedServer.setPrivateKey(server.getPrivateKey());
clonedServer.setSourceLevel(server.getSourceLevel());
clonedServer.setUsername(server.getUsername());
clonedServers.add(clonedServer);
}
clone.setServers(clonedServers);
List<Proxy> clonedProxies = new ArrayList<>(settings.getProxies().size());
for (Proxy proxy : settings.getProxies()) {
Proxy clonedProxy = new Proxy();
clonedProxy.setActive(proxy.isActive());
clonedProxy.setHost(proxy.getHost());
clonedProxy.setId(proxy.getId());
clonedProxy.setNonProxyHosts(proxy.getNonProxyHosts());
clonedProxy.setPassword(proxy.getPassword());
clonedProxy.setPort(proxy.getPort());
clonedProxy.setProtocol(proxy.getProtocol());
clonedProxy.setSourceLevel(proxy.getSourceLevel());
clonedProxy.setUsername(proxy.getUsername());
clonedProxies.add(clonedProxy);
}
clone.setProxies(clonedProxies);
return clone;
}