You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bu...@apache.org on 2002/09/09 16:51:46 UTC

DO NOT REPLY [Bug 12440] New: - manifest task does not update in update mode

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12440>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12440

manifest task does not update in update mode

           Summary: manifest task does not update in update mode
           Product: Ant
           Version: 1.5
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Core tasks
        AssignedTo: ant-dev@jakarta.apache.org
        ReportedBy: tzimber@e2e.ch


The manifest task does not update when only an attribute in a section has
changed. The cause of this is, when merging the current and the toWrite manifest
in the ManifestTask, the merge method add all the section-instances from the
current to the toWrite manifest. When the merge with the nestedManifest changes
an attribute of an section in toWrite, the attribute is also changed in the
current manifest. So the call of toWrite.equals(current) allways returns true.
I've implemented the Cloneable interface to the section and have written a
clone-Method like this:

protected Object clone() {
    Section clonedSection = new Section();
    clonedSection.setName(name);
    Enumeration configuredAttributes = attributes.elements();
    while(configuredAttributes.hasMoreElements()) {
        Attribute attribute = (Attribute)configuredAttributes.nextElement();
        clonedSection.storeAttribute(new Attribute(attribute.getName(),
attribute.getValue()));
    }
    return clonedSection;
}

and changed the call to add the section in method Manifest.merge to

addConfiguredSection((Section)otherSection.clone());

After these changes the update works fine in my cases.

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>