summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt.tools/src/org/eclipse/swt/tools/builders/JNIBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.swt.tools/src/org/eclipse/swt/tools/builders/JNIBuilder.java')
-rw-r--r--bundles/org.eclipse.swt.tools/src/org/eclipse/swt/tools/builders/JNIBuilder.java80
1 files changed, 0 insertions, 80 deletions
diff --git a/bundles/org.eclipse.swt.tools/src/org/eclipse/swt/tools/builders/JNIBuilder.java b/bundles/org.eclipse.swt.tools/src/org/eclipse/swt/tools/builders/JNIBuilder.java
deleted file mode 100644
index 3c17417ce8..0000000000
--- a/bundles/org.eclipse.swt.tools/src/org/eclipse/swt/tools/builders/JNIBuilder.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.swt.tools.builders;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.tools.internal.JNIGeneratorApp;
-import org.eclipse.swt.tools.internal.MetaData;
-
-public class JNIBuilder extends IncrementalProjectBuilder {
-
- MetaData metaData;
- MainClass[] classes;
-
- static class MainClass {
- public String mainClassName;
- public String outputDir;
- public String sourceDir;
- public boolean build;
-
- public String toString() {
- return mainClassName + "->" + outputDir;
- }
- }
-
- public JNIBuilder() {
- metaData = new MetaData("org.eclipse.swt.internal");
- String mainClasses = metaData.getMetaData("swt_main_classes", null);
- if (mainClasses != null) {
- String[] list = mainClasses.split(",");
- classes = new MainClass[list.length / 2];
- for (int i = 0; i < list.length; i += 2) {
- MainClass clazz = classes[i/2] = new MainClass();
- clazz.mainClassName = list[i];
- clazz.outputDir = list[i+1].substring(2, list[i+1].length());
- clazz.sourceDir = clazz.outputDir.substring(0, clazz.outputDir.length() - "library/".length());
- }
- }
- }
-
- protected IProject[] build(int kind, Map args, final IProgressMonitor monitor) throws CoreException {
- IResourceDelta delta = getDelta(getProject());
- if (delta == null) return null;
- delta.accept(new IResourceDeltaVisitor() {
- public boolean visit(IResourceDelta delta) throws CoreException {
- IPath ipath = delta.getFullPath();
- if (!"java".equals(ipath.getFileExtension())) return true;
- String path = ipath.toPortableString();
- for (int i = 0; i < classes.length; i++) {
- if (classes[i].build) continue;
- if (path.startsWith(classes[i].sourceDir)) {
- classes[i].build = true;
- }
- }
- return true;
- }
- });
- final IWorkspaceRoot root = getProject().getWorkspace().getRoot();
- for (int i = 0; i < classes.length; i++) {
- MainClass mainClass = classes[i];
- if (mainClass.build) {
- mainClass.build = false;
- IResource library = root.findMember(mainClass.outputDir);
- JNIGeneratorApp gen = new JNIGeneratorApp();
- gen.setMainClassName(mainClass.mainClassName, library.getLocation().toPortableString());
- gen.generate();
- library.refreshLocal(IResource.DEPTH_INFINITE, null);
- }
- }
- return null;
- }
-
-}