throws Exception
{
final List<String> reposes = new ArrayList<String>();
{
// adding 1st proxy, that is out of service
final M2Repository repo = (M2Repository) env.lookup(Repository.class, "maven2");
CRepository repoConf = new DefaultCRepository();
repoConf.setProviderRole(Repository.class.getName());
repoConf.setProviderHint("maven2");
repoConf.setId(PROXY1_REPO_ID);
repoConf.setName(PROXY1_REPO_ID);
repoConf.setNotFoundCacheActive(true);
repoConf.setLocalStatus(LocalStatus.OUT_OF_SERVICE.name()); // THIS REPO IS OUT OF SERVICE
repoConf.setLocalStorage(new CLocalStorage());
repoConf.getLocalStorage().setProvider("file");
repoConf.getLocalStorage().setUrl(
env.getApplicationConfiguration().getWorkingDirectory("proxy/store/" + PROXY1_REPO_ID).toURI().toURL()
.toString());
Xpp3Dom ex = new Xpp3Dom("externalConfiguration");
repoConf.setExternalConfiguration(ex);
M2RepositoryConfiguration exConf = new M2RepositoryConfiguration(ex);
exConf.setRepositoryPolicy(RepositoryPolicy.RELEASE);
exConf.setChecksumPolicy(ChecksumPolicy.STRICT_IF_EXISTS);
repoConf.setRemoteStorage(new CRemoteStorage());
repoConf.getRemoteStorage().setProvider(
env.getRemoteProviderHintFactory().getDefaultHttpRoleHint());
repoConf.getRemoteStorage().setUrl("http://localhost:" + server.getPort() + "/");
repo.configure(repoConf);
// repo.setCacheManager( env.getCacheManager() );
reposes.add(repo.getId());
env.getApplicationConfiguration().getConfigurationModel().addRepository(repoConf);
env.getRepositoryRegistry().addRepository(repo);
}
{
// adding 2nd proxy
final M2Repository repo = (M2Repository) env.lookup(Repository.class, "maven2");
CRepository repoConf = new DefaultCRepository();
repoConf.setProviderRole(Repository.class.getName());
repoConf.setProviderHint("maven2");
repoConf.setId(PROXY2_REPO_ID);
repoConf.setName(PROXY2_REPO_ID);
repoConf.setNotFoundCacheActive(true);
repoConf.setLocalStorage(new CLocalStorage());
repoConf.getLocalStorage().setProvider("file");
repoConf.getLocalStorage().setUrl(
env.getApplicationConfiguration().getWorkingDirectory("proxy/store/" + PROXY2_REPO_ID).toURI().toURL()
.toString());
Xpp3Dom ex = new Xpp3Dom("externalConfiguration");
repoConf.setExternalConfiguration(ex);
M2RepositoryConfiguration exConf = new M2RepositoryConfiguration(ex);
exConf.setRepositoryPolicy(RepositoryPolicy.RELEASE);
exConf.setChecksumPolicy(ChecksumPolicy.STRICT_IF_EXISTS);
repoConf.setRemoteStorage(new CRemoteStorage());
repoConf.getRemoteStorage().setProvider(
env.getRemoteProviderHintFactory().getDefaultHttpRoleHint());
repoConf.getRemoteStorage().setUrl("http://localhost:" + server.getPort() + "/");
repo.configure(repoConf);
// repo.setCacheManager( env.getCacheManager() );
reposes.add(repo.getId());
env.getApplicationConfiguration().getConfigurationModel().addRepository(repoConf);
env.getRepositoryRegistry().addRepository(repo);
}
{
// adding one hosted
final M2Repository repo = (M2Repository) env.lookup(Repository.class, "maven2");
CRepository repoConf = new DefaultCRepository();
repoConf.setProviderRole(Repository.class.getName());
repoConf.setProviderHint("maven2");
repoConf.setId(HOSTED_REPO_ID);
repoConf.setName(HOSTED_REPO_ID);
repoConf.setLocalStorage(new CLocalStorage());
repoConf.getLocalStorage().setProvider("file");
repoConf.getLocalStorage().setUrl(
env.getApplicationConfiguration().getWorkingDirectory("proxy/store/" + HOSTED_REPO_ID).toURI().toURL()
.toString());
Xpp3Dom exRepo = new Xpp3Dom("externalConfiguration");
repoConf.setExternalConfiguration(exRepo);
M2RepositoryConfiguration exRepoConf = new M2RepositoryConfiguration(exRepo);
exRepoConf.setRepositoryPolicy(RepositoryPolicy.RELEASE);
exRepoConf.setChecksumPolicy(ChecksumPolicy.STRICT_IF_EXISTS);
repo.configure(repoConf);
reposes.add(repo.getId());
env.getApplicationConfiguration().getConfigurationModel().addRepository(repoConf);
env.getRepositoryRegistry().addRepository(repo);
}
{
// add a group