### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/core/IClasspathContainer.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IClasspathContainer.java,v retrieving revision 1.24 diff -u -r1.24 IClasspathContainer.java --- model/org/eclipse/jdt/core/IClasspathContainer.java 7 Mar 2009 01:08:10 -0000 1.24 +++ model/org/eclipse/jdt/core/IClasspathContainer.java 26 May 2010 15:31:55 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -27,6 +27,10 @@ *
CPE_PROJECT
) + * A library entry can reference other libraries through the Class-Path section of the JAR's MANIFEST.MF file. If the + * container wants such referenced entries to be part of the classpath, the container must explicitly add them to the + * array returned from {@link #getClasspathEntries()}. *
* Classpath container values are persisted locally to the workspace, but are not preserved from a
* session to another. It is thus highly recommended to register a ClasspathContainerInitializer
@@ -63,7 +67,10 @@
*
* A classpath container can neither reference further classpath containers
* or classpath variables.
- *
+ * A library entry can reference other libraries through the Class-Path section of the JAR's MANIFEST.MF file. If + * the container wants such referenced entries to be part of the classpath, the container must explicitly add them + * to the result. *
* This method is called by the Java model when it needs to resolve this * classpath container entry into a list of library and project entries. @@ -80,6 +87,7 @@ *
null
as projectAbstractTemplatesPage
@SuppressWarnings("unchecked")
does not ignore raw types warnings anymoreWhat is affected: Classpath containers that depended on JDT to resolve referenced libraries via JAR's MANIFEST.MF.
+Description:
+In 3.5, classpath containers did not have full control over what JARs ended up on the classpath, since references in the Class-Path section
+of a JAR's MANIFEST.MF were automatically added. In 3.6, referenced JARs are not automatically added any more. However a classpath container
+implementor can use JavaCore#getReferencedClasspathEntries()
to resolve the referenced JARs and return them in the implementation of
+IClasspathContainer#getClasspathEntries()
.
Please refer to the documentation under the following sections for further reference:
+
IClasspathContainer
JavaCore#getReferencedClasspathEntries()
Action required:
+If the classpath container implementation can not be changed to accommodate this, the 3.5 behavior can be retained by adding a system property (-DincludeContainerReferencedLib=false
) to the -vmargs
+list on start-up.