repo.getRemoteStorage().setUrl("http://some-remote-repository/repo-root");
Xpp3Dom ex = new Xpp3Dom(DefaultCRepository.EXTERNAL_CONFIGURATION_NODE_NAME);
repo.setExternalConfiguration(ex);
M2RepositoryConfiguration exConf = new M2RepositoryConfiguration(ex);
// huh? see initConfig classes
if (getRepositoryPolicy() != null) {
exConf.setRepositoryPolicy(getRepositoryPolicy());
}
repo.externalConfigurationImple = exConf;
repo.setWritePolicy(RepositoryWritePolicy.READ_ONLY.name());
repo.setNotFoundCacheActive(true);
repo.setNotFoundCacheTTL(1440);
if (exConf.getRepositoryPolicy() != null && exConf.getRepositoryPolicy() == RepositoryPolicy.SNAPSHOT) {
exConf.setArtifactMaxAge(1440);
}
else {
exConf.setArtifactMaxAge(-1);
}
repo.setIndexable(true);
repo.setSearchable(true);
CRepositoryCoreConfiguration result =
new CRepositoryCoreConfiguration(getTemplateProvider().getApplicationConfiguration(), repo,
new CRepositoryExternalConfigurationHolderFactory<M2RepositoryConfiguration>()
{
public M2RepositoryConfiguration createExternalConfigurationHolder(CRepository config) {
return new M2RepositoryConfiguration((Xpp3Dom) config.getExternalConfiguration());
}
});
return result;
}