public void doExecute()

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);
        }

    }