in src/main/java/org/apache/easyant/tasks/RegisterArtifact.java [42:86]
public void doExecute() throws BuildException {
prepareAndCheck();
DefaultModuleDescriptor md = (DefaultModuleDescriptor) getResolvedReport().getModuleDescriptor();
// this is a published artifact
String artName = getSettings().substitute(getName());
artName = artName == null ? md.getModuleRevisionId().getName() : artName;
String artType = getSettings().substitute(getType());
artType = artType == null ? "jar" : artType;
String artExt = getSettings().substitute(getExt());
artExt = artExt != null ? artExt : artType;
Map<String, String> extraAttributes = new HashMap<String, String>();
if (getClassifier() != null) {
md.addExtraAttributeNamespace("m", "http://ant.apache.org/ivy/maven");
extraAttributes.put("m:classifier", getClassifier());
}
MDArtifact artifact = new MDArtifact(md, artName, artType, artExt, null, extraAttributes);
String[] configurations = getConfs().split(",");
for (String configuration : configurations) {
if ("*".equals(configuration)) {
String[] declaredConfs = md.getConfigurationsNames();
for (String declaredConf : declaredConfs) {
artifact.addConfiguration(declaredConf);
md.addArtifact(declaredConf, artifact);
}
} else {
// create configuration if it doesn't exist
if (md.getConfiguration(configuration) == null) {
Configuration generatedConfiguration = new Configuration(configuration);
md.addConfiguration(generatedConfiguration);
}
artifact.addConfiguration(configuration);
md.addArtifact(configuration, artifact);
}
}
ResolutionCacheManager cacheManager = getSettings().getResolutionCacheManager();
File ivyFileInCache = cacheManager.getResolvedIvyFileInCache(md.getResolvedModuleRevisionId());
try {
XmlModuleDescriptorWriter.write(md, ivyFileInCache);
} catch (IOException e) {
throw new BuildException("Can't register specified artifact", e);
}
}