### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/internal/core/ClasspathEntry.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/ClasspathEntry.java,v retrieving revision 1.107 diff -u -r1.107 ClasspathEntry.java --- model/org/eclipse/jdt/internal/core/ClasspathEntry.java 16 Oct 2008 14:30:30 -0000 1.107 +++ model/org/eclipse/jdt/internal/core/ClasspathEntry.java 28 Oct 2008 17:06:41 -0000 @@ -1829,17 +1829,9 @@ case IClasspathEntry.CPE_LIBRARY : path = ClasspathEntry.resolveDotDot(path); - // resolve Class-Path: in manifest - IPath[] chainedJars = ClasspathEntry.resolvedChainedLibraries(path); - for (int i = 0, length = chainedJars.length; i < length; i++) { - IPath chainedJar = chainedJars[i]; - IJavaModelStatus status = validateLibraryEntry(chainedJar, project, null/*don't check source attachment*/, null/*force computing of entryPathMsg*/); - if (!status.isOK()) { - if (referredByContainer && status.getCode() == IJavaModelStatusConstants.INVALID_CLASSPATH) - continue; // ignore this entry (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=250946 ) - return status; - } - } + // do not validate entries from Class-Path: in manifest + // (these entries are considered optional since the user cannot act on them) + // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=252392 IJavaModelStatus status = validateLibraryEntry(path, project, checkSourceAttachment ? entry.getSourceAttachmentPath() : null, entryPathMsg); if (!status.isOK()) #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/ClasspathTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ClasspathTests.java,v retrieving revision 1.191 diff -u -r1.191 ClasspathTests.java --- src/org/eclipse/jdt/core/tests/model/ClasspathTests.java 17 Oct 2008 11:01:03 -0000 1.191 +++ src/org/eclipse/jdt/core/tests/model/ClasspathTests.java 28 Oct 2008 17:06:44 -0000 @@ -3111,7 +3111,8 @@ } } /* - * Ensures that a marker is created for incorrect extra libraries in the Class-Path: clause of a jar + * Ensures that a marker is not created for incorrect extra libraries in the Class-Path: clause of a jar + * (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=252392 ) */ public void testExtraLibraries06() throws Exception { try { @@ -3125,7 +3126,7 @@ JavaCore.VERSION_1_4); assertMarkers( "Unexpected markers", - "Project \'P\' is missing required library: \'lib2.jar\'", + "", p); } finally { deleteProject("P"); @@ -3184,7 +3185,8 @@ } } /* - * Ensures that a marker is created for incorrect extra libraries in the Class-Path: clause of an external jar + * Ensures that a marker is not created for incorrect extra libraries in the Class-Path: clause of an external jar + * (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=252392 ) */ public void testExtraLibraries09() throws Exception { try { @@ -3198,7 +3200,7 @@ JavaCore.VERSION_1_4); assertMarkers( "Unexpected markers", - "Project \'P\' is missing required library: \'"+ getExternalPath() + "lib2.jar\'", + "", p); } finally { deleteProject("P"); @@ -3207,7 +3209,8 @@ } } /* - * Ensures that a marker is created for incorrect extra libraries in the Class-Path: clause of an external jar + * Ensures that a marker is not created for incorrect extra libraries in the Class-Path: clause of an external jar + * (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=252392 ) */ public void testExtraLibraries10() throws Exception { try { @@ -3227,7 +3230,7 @@ refreshExternalArchives(p); assertMarkers( "Unexpected markers", - "Project \'P\' is missing required library: \'"+ getExternalPath() + "lib2.jar\'", + "", p); } finally { deleteProject("P");