use of org.eclipse.ceylon.common.config.Repositories in project ceylon by eclipse.
the class RepositoriesTest method testSetRepositories.
@Test
public void testSetRepositories() {
CeylonConfig configCopy = testConfig.copy();
Repositories testRepos = Repositories.withConfig(configCopy);
Map<String, Repository[]> repomap = testRepos.getRepositories();
Repository[] reps = { new Repositories.SimpleRepository("", "./mods", null) };
repomap.put(Repositories.REPO_TYPE_LOCAL_LOOKUP, reps);
testRepos.setRepositories(repomap);
Repository[] lookup = testRepos.getLocalLookupRepositories();
Assert.assertTrue(lookup.length == 1);
assertRepository(lookup[0], "%lookup-1", "./mods", null, null);
}
use of org.eclipse.ceylon.common.config.Repositories in project ceylon by eclipse.
the class CeylonConfigRepositoryAntTask method execute.
@Override
public void execute() throws BuildException {
Java7Checker.check();
if (name == null && type == null) {
throw new BuildException("Either the 'name' or 'type' attribute has to be specified for 'ceylon-config-repository'");
}
if (name != null && type != null) {
throw new BuildException("The 'name' and 'type' attributes cannot both be specified for 'ceylon-config-repository'");
}
if (key == null) {
throw new BuildException("'key' is a required attribute for 'ceylon-config-repository'");
}
if (property == null) {
throw new BuildException("'property' is a required attribute for 'ceylon-config-value'");
}
CeylonConfig config = getConfig();
Repositories reps = Repositories.withConfig(config);
Repository rep;
String repdesc;
if (name != null) {
rep = reps.getRepository(name);
repdesc = "of name '" + name + "'";
} else {
rep = reps.getRepositoryByTypeWithDefaults(type.name());
repdesc = "of type '" + type.name() + "'";
}
if (rep != null) {
String value = null;
switch(key) {
case name:
value = rep.getName();
break;
case url:
value = rep.getUrl();
break;
default:
Credentials cred = rep.getCredentials();
if (cred != null) {
switch(key) {
case user:
value = cred.getUser();
break;
case password:
value = cred.getPassword();
break;
case keystore:
value = cred.getKeystore();
break;
case alias:
value = cred.getAlias();
break;
default:
}
} else {
log("No credentials found for repository " + repdesc, Project.MSG_WARN);
}
}
if (value != null) {
setProjectProperty(property, value);
}
} else {
log("Repository " + repdesc + " not found", Project.MSG_WARN);
}
}
use of org.eclipse.ceylon.common.config.Repositories in project ceylon by eclipse.
the class RepositoriesTest method testSetRepositoriesByType.
@Test
public void testSetRepositoriesByType() {
CeylonConfig configCopy = testConfig.copy();
Repositories testRepos = Repositories.withConfig(configCopy);
Repository[] reps = testRepos.getRepositoriesByType(Repositories.REPO_TYPE_LOCAL_LOOKUP);
reps = new Repositories.SimpleRepository[] { new Repositories.SimpleRepository("", "./mods", null) };
testRepos.setRepositoriesByType(Repositories.REPO_TYPE_LOCAL_LOOKUP, reps);
Repository[] lookup = testRepos.getLocalLookupRepositories();
Assert.assertTrue(lookup.length == 1);
assertRepository(lookup[0], "%lookup-1", "./mods", null, null);
}
Aggregations