Bug 550250 - Remove ManifestBuilder and SchemaBuilder from API analysis
Change-Id: Ia6a917ba2b0a9a73c0c2e72fcea1a55fef32a4f7
Signed-off-by: Vikas Chandra <Vikas.Chandra@in.ibm.com>
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiAnalysisApplication.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiAnalysisApplication.java
index c1566fd..d1744fb 100644
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiAnalysisApplication.java
+++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiAnalysisApplication.java
@@ -18,9 +18,11 @@
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Predicate;
+import java.util.stream.Collectors;
import org.eclipse.core.resources.ICommand;
import org.eclipse.core.resources.IMarker;
@@ -308,9 +310,23 @@
projectDescription.setBuildSpec(builders);
res.setDescription(projectDescription, 0, new NullProgressMonitor());
}
+ ICommand[] buildSpec = projectDescription.getBuildSpec();
+ List<ICommand> newBuilders = removeManifestAndSchemaBuilders(buildSpec);
+ projectDescription.setBuildSpec(
+ newBuilders.toArray(new ICommand[newBuilders.size()]));
+ res.setDescription(projectDescription, new NullProgressMonitor());
return res;
}
+ private static List<ICommand> removeManifestAndSchemaBuilders(ICommand[] buildSpec) {
+ // remove manifest and schema builders
+ return Arrays.stream(buildSpec)
+ .filter(x -> !("org.eclipse.pde.ManifestBuilder".equals(x.getBuilderName()) //$NON-NLS-1$
+ || "org.eclipse.pde.SchemaBuilder".equals(x.getBuilderName())) //$NON-NLS-1$
+
+ ).collect(Collectors.toList());
+ }
+
@Override
public void stop() {
// Nothing to do