### Eclipse Workspace Patch 1.0 #P org.eclipse.pde.core Index: src/org/eclipse/pde/internal/core/builders/ManifestConsistencyChecker.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ManifestConsistencyChecker.java,v retrieving revision 1.20 diff -u -r1.20 ManifestConsistencyChecker.java --- src/org/eclipse/pde/internal/core/builders/ManifestConsistencyChecker.java 2 Jan 2008 15:56:21 -0000 1.20 +++ src/org/eclipse/pde/internal/core/builders/ManifestConsistencyChecker.java 6 May 2008 20:19:28 -0000 @@ -252,9 +252,7 @@ validateManifestFile(manifestFile, new SubProgressMonitor(monitor, 1)); } } - if ((type & BUILD) != 0) { - validateBuildProperties(new SubProgressMonitor(monitor, 1)); - } + validateBuildProperties(new SubProgressMonitor(monitor, 1), (type & BUILD) != 0); } private int getWorkAmount(int type) { @@ -330,12 +328,22 @@ monitor.done(); } - private void validateBuildProperties(IProgressMonitor monitor) { + private void validateBuildProperties(IProgressMonitor monitor, boolean force) { if (monitor.isCanceled()) return; IProject project = getProject(); IFile file = project.getFile(ICoreConstants.BUILD_FILENAME_DESCRIPTOR); if (file.exists()) { + // If we aren't strictly required to check the build.properties, + // check them anyway if there are currently PDE markers + // + if (!force) { + try { + if (file.findMarkers(PDEMarkerFactory.MARKER_ID, false, 0).length == 0) + return; + } catch (CoreException e) { + } + } monitor.subTask(PDECoreMessages.ManifestConsistencyChecker_buildPropertiesSubtask); BuildErrorReporter ber = new BuildErrorReporter(file); ber.validateContent(monitor);