mirror of
https://github.com/apache/ant.git
synced 2025-05-19 06:24:47 +00:00
Don't merge Class-Path attributes, deal with them like with any other
attribute - except that they may occur several times, that is. PR: 21170 git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274780 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b3daf333da
commit
3341571e8e
7
WHATSNEW
7
WHATSNEW
@ -39,6 +39,10 @@ Changes that could break older environments:
|
||||
defined in the project. If you rely on the task waiting for input,
|
||||
don't use the addproperty attribute.
|
||||
|
||||
* The Class-Path attribute in manifests will no longer merge the
|
||||
entries of all manifests found, but will be treated like all other
|
||||
manifest attributes - the most recent attribute(s) will be used.
|
||||
|
||||
Fixed bugs:
|
||||
-----------
|
||||
* Filter readers were not handling line endings properly. Bugzilla
|
||||
@ -182,6 +186,9 @@ Fixed bugs:
|
||||
* Nested websphere element for ejbjar does not support spaces in file name.
|
||||
Bugzilla Report 21298
|
||||
|
||||
* Don't multiply Class-Path attributes when updating jars. Bugzilla
|
||||
Report 21170.
|
||||
|
||||
Other changes:
|
||||
--------------
|
||||
* Six new Clearcase tasks added.
|
||||
|
@ -459,16 +459,19 @@ public class Manifest {
|
||||
}
|
||||
|
||||
Enumeration e = section.getAttributeKeys();
|
||||
Attribute classpathAttribute = null;
|
||||
while (e.hasMoreElements()) {
|
||||
String attributeName = (String) e.nextElement();
|
||||
Attribute attribute = section.getAttribute(attributeName);
|
||||
if (attributeName.equals(ATTRIBUTE_CLASSPATH) &&
|
||||
attributes.containsKey(attributeName)) {
|
||||
Attribute ourClassPath = getAttribute(attributeName);
|
||||
if (attributeName.equals(ATTRIBUTE_CLASSPATH)) {
|
||||
if (classpathAttribute == null) {
|
||||
classpathAttribute = new Attribute();
|
||||
classpathAttribute.setName(ATTRIBUTE_CLASSPATH);
|
||||
}
|
||||
Enumeration cpe = attribute.getValues();
|
||||
while (cpe.hasMoreElements()) {
|
||||
String value = (String) cpe.nextElement();
|
||||
ourClassPath.addValue(value);
|
||||
classpathAttribute.addValue(value);
|
||||
}
|
||||
} else {
|
||||
// the merge file always wins
|
||||
@ -476,6 +479,11 @@ public class Manifest {
|
||||
}
|
||||
}
|
||||
|
||||
if (classpathAttribute != null) {
|
||||
// the merge file *always* wins, even for Class-Path
|
||||
storeAttribute(classpathAttribute);
|
||||
}
|
||||
|
||||
// add in the warnings
|
||||
Enumeration warnEnum = section.warnings.elements();
|
||||
while (warnEnum.hasMoreElements()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user