{
List<String> reposes = new ArrayList<String>();
for (String remoteRepoId : repoIds()) {
// create proxy for remote
M1Repository repo = (M1Repository) env.lookup(Repository.class, "maven1");
CRepository repoConf = new DefaultCRepository();
repoConf.setProviderRole(Repository.class.getName());
repoConf.setProviderHint("maven1");
repoConf.setId(remoteRepoId);
repoConf.setName(remoteRepoId);
repoConf.setLocalStorage(new CLocalStorage());
repoConf.getLocalStorage().setProvider("file");
repoConf.getLocalStorage().setUrl(
env
.getApplicationConfiguration().getWorkingDirectory("proxy/store/" + remoteRepoId).toURI()
.toURL().toString()
);
Xpp3Dom ex = new Xpp3Dom("externalConfiguration");
repoConf.setExternalConfiguration(ex);
M1RepositoryConfiguration exConf = new M1RepositoryConfiguration(ex);
exConf.setRepositoryPolicy(RepositoryPolicy.RELEASE);
exConf.setChecksumPolicy(ChecksumPolicy.STRICT_IF_EXISTS);
repoConf.setRemoteStorage(new CRemoteStorage());
repoConf.getRemoteStorage().setProvider(env.getRemoteProviderHintFactory().getDefaultHttpRoleHint());
repoConf.getRemoteStorage().setUrl(server().getUrl() + "/" + remoteRepoId);
repoConf.setIndexable(false);
repo.configure(repoConf);
// repo.setCacheManager( env.getCacheManager() );
reposes.add(repo.getId());
env.getApplicationConfiguration().getConfigurationModel().addRepository(repoConf);
env.getRepositoryRegistry().addRepository(repo);
}
// ading one hosted only
M1Repository repo = (M1Repository) env.lookup(Repository.class, "maven1");
CRepository repoConf = new DefaultCRepository();
repoConf.setProviderRole(Repository.class.getName());
repoConf.setProviderHint("maven1");
repoConf.setId("inhouse");
repoConf.setIndexable(false);
repoConf.setLocalStorage(new CLocalStorage());
repoConf.getLocalStorage().setProvider("file");
repoConf.getLocalStorage().setUrl(
env.getApplicationConfiguration().getWorkingDirectory("proxy/store/inhouse").toURI().toURL().toString());
Xpp3Dom exRepo = new Xpp3Dom("externalConfiguration");
repoConf.setExternalConfiguration(exRepo);
M1RepositoryConfiguration exRepoConf = new M1RepositoryConfiguration(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 hosted snapshot repo
M1Repository repoSnapshot = (M1Repository) env.lookup(Repository.class, "maven1");
CRepository repoSnapshotConf = new DefaultCRepository();
repoSnapshotConf.setProviderRole(Repository.class.getName());
repoSnapshotConf.setProviderHint("maven1");
repoSnapshotConf.setId("inhouse-snapshot");
repoSnapshotConf.setIndexable(false);
repoSnapshotConf.setLocalStorage(new CLocalStorage());
repoSnapshotConf.getLocalStorage().setProvider("file");
repoSnapshotConf.getLocalStorage().setUrl(
env
.getApplicationConfiguration().getWorkingDirectory("proxy/store/inhouse-snapshot").toURI().toURL()
.toString()
);
Xpp3Dom exSnapRepo = new Xpp3Dom("externalConfiguration");
repoSnapshotConf.setExternalConfiguration(exSnapRepo);
M1RepositoryConfiguration exSnapRepoConf = new M1RepositoryConfiguration(exSnapRepo);
exSnapRepoConf.setRepositoryPolicy(RepositoryPolicy.SNAPSHOT);
exSnapRepoConf.setChecksumPolicy(ChecksumPolicy.STRICT_IF_EXISTS);
repoSnapshot.configure(repoSnapshotConf);
reposes.add(repoSnapshot.getId());
env.getApplicationConfiguration().getConfigurationModel().addRepository(repoSnapshotConf);
env.getRepositoryRegistry().addRepository(repoSnapshot);