Author: scabanovich
Date: 2009-11-30 11:23:33 -0500 (Mon, 30 Nov 2009)
New Revision: 18925
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.core/plugin.properties
trunk/cdi/plugins/org.jboss.tools.cdi.core/plugin.xml
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreBuilder.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/ICDIBuilderDelegate.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/lib/
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/lib/ClassPathMonitor.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF
trunk/cdi/plugins/org.jboss.tools.cdi.core/build.properties
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5244
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF 2009-11-30 16:21:05
UTC (rev 18924)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF 2009-11-30 16:23:33
UTC (rev 18925)
@@ -4,6 +4,7 @@
Bundle-SymbolicName: org.jboss.tools.cdi.core;singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: org.jboss.tools.cdi.core.CDICorePlugin
+Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.jboss.tools.common,
@@ -13,4 +14,5 @@
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: JBoss by Red Hat
-Export-Package: org.jboss.tools.cdi.core
+Export-Package: org.jboss.tools.cdi.core,
+ org.jboss.tools.cdi.internal.core.scanner.lib
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/build.properties
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/build.properties 2009-11-30 16:21:05 UTC
(rev 18924)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/build.properties 2009-11-30 16:23:33 UTC
(rev 18925)
@@ -3,4 +3,5 @@
bin.includes = plugin.xml,\
META-INF/,\
.
-src.includes = src/
+src.includes = src/,\
+ plugin.xml
Added: trunk/cdi/plugins/org.jboss.tools.cdi.core/plugin.properties
===================================================================
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.core/plugin.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/cdi/plugins/org.jboss.tools.cdi.core/plugin.xml
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/plugin.xml (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/plugin.xml 2009-11-30 16:23:33 UTC (rev
18925)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+
+ <extension
+ id="cdibuilder"
+ name="CDI Builder"
+ point="org.eclipse.core.resources.builders">
+ <builder
+ hasNature="false">
+ <run
+ class="org.jboss.tools.cdi.core.CDICoreBuilder">
+ </run>
+ </builder>
+ </extension>
+ <extension
+ id="cdinature"
+ name="CDI Project Nature"
+ point="org.eclipse.core.resources.natures">
+ <runtime>
+ <run
+ class="org.jboss.tools.cdi.core.CDICoreNature">
+ </run>
+ </runtime>
+ <builder
+ id="org.jboss.tools.cdi.core.cdibuilder">
+ </builder>
+ </extension>
+
+</plugin>
\ No newline at end of file
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.core/plugin.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreBuilder.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreBuilder.java
(rev 0)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreBuilder.java 2009-11-30
16:23:33 UTC (rev 18925)
@@ -0,0 +1,195 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.core;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+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.IResourceVisitor;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+
+public class CDICoreBuilder extends IncrementalProjectBuilder {
+ public static String BUILDER_ID = "org.jboss.tools.cdi.core.cdibuilder";
+
+ static Set<ICDIBuilderDelegate> delegates = null;
+
+ static Set<ICDIBuilderDelegate> getDelegates() {
+ if(delegates == null) {
+ delegates = new HashSet<ICDIBuilderDelegate>();
+ //TODO populate
+ }
+ return delegates;
+ }
+
+ ICDIBuilderDelegate builderDelegate;
+
+ CDIResourceVisitor resourceVisitor = null;
+
+ public CDICoreBuilder() {}
+
+ CDICoreNature getCDICoreNature() {
+ IProject p = getProject();
+ if(p == null) return null;
+ return CDICorePlugin.getCDI(p, false);
+ }
+
+ CDIResourceVisitor getResourceVisitor() {
+ if(resourceVisitor == null) {
+ resourceVisitor = new CDIResourceVisitor();
+ }
+ return resourceVisitor;
+ }
+
+ private void findDelegate() {
+ Set<ICDIBuilderDelegate> ds = getDelegates();
+ int relevance = 0;
+ for (ICDIBuilderDelegate d: ds) {
+ int r = d.computeRelevance(getProject());
+ if(r > relevance) {
+ builderDelegate = d;
+ relevance = r;
+ }
+ }
+ }
+
+ public ICDIBuilderDelegate getDelegate() {
+ return builderDelegate;
+ }
+
+ protected IProject[] build(int kind, Map args, IProgressMonitor monitor)
+ throws CoreException {
+ findDelegate();
+ if(getDelegate() == null) {
+ return null;
+ }
+ CDICoreNature n = getCDICoreNature();
+ if(n == null) {
+ return null;
+ }
+ if(n.hasNoStorage()) {
+ kind = FULL_BUILD;
+ }
+
+ n.postponeFiring();
+
+ long begin = System.currentTimeMillis();
+
+ try {
+ n.resolveStorage(kind != FULL_BUILD);
+
+ if(n.getDelegate() == null || n.getDelegate().getClass() !=
getDelegate().getProjectImplementationClass()) {
+ if(n.getDelegate() != null) {
+ n.clean();
+ n.postponeFiring();
+ }
+ kind = FULL_BUILD;
+ try {
+ ICDIProject delegate =
(ICDIProject)getDelegate().getProjectImplementationClass().newInstance();
+ n.setCDIProject(delegate);
+ } catch (IllegalAccessException e1) {
+ CDICorePlugin.getDefault().logError(e1);
+ } catch (InstantiationException e2) {
+ CDICorePlugin.getDefault().logError(e2);
+ }
+ }
+
+ if(n.getClassPath().update()) {
+ n.getClassPath().process();
+ } else if(n.getClassPath().hasToUpdateProjectDependencies()) {
+ n.getClassPath().validateProjectDependencies();
+ }
+
+ if (kind == FULL_BUILD) {
+ fullBuild(monitor);
+ } else {
+ IResourceDelta delta = getDelta(getProject());
+ if (delta == null) {
+ fullBuild(monitor);
+ } else {
+ incrementalBuild(delta, monitor);
+ }
+ }
+ long end = System.currentTimeMillis();
+ n.fullBuildTime += end - begin;
+ try {
+ n.store();
+ } catch (IOException e) {
+ CDICorePlugin.getDefault().logError(e); //$NON-NLS-1$
+ }
+
+// n.postBuild();
+
+ } finally {
+ n.fireChanges();
+ }
+
+ return null;
+ }
+
+ protected void fullBuild(final IProgressMonitor monitor)
+ throws CoreException {
+ try {
+ getProject().accept(getResourceVisitor());
+ } catch (CoreException e) {
+ CDICorePlugin.getDefault().logError(e);
+ }
+ }
+
+ protected void incrementalBuild(IResourceDelta delta,
+ IProgressMonitor monitor) throws CoreException {
+ delta.accept(new SampleDeltaVisitor());
+ }
+
+ protected void clean(IProgressMonitor monitor) throws CoreException {
+ CDICoreNature n = getCDICoreNature();
+ if(n != null) n.clean();
+ }
+
+ class SampleDeltaVisitor implements IResourceDeltaVisitor {
+ /*
+ * @see
org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
+ */
+ public boolean visit(IResourceDelta delta) throws CoreException {
+ IResource resource = delta.getResource();
+ switch (delta.getKind()) {
+ case IResourceDelta.ADDED:
+ return getResourceVisitor().visit(resource);
+ case IResourceDelta.REMOVED:
+ CDICoreNature p = getCDICoreNature();
+ if(p != null) p.pathRemoved(resource.getFullPath());
+ break;
+ case IResourceDelta.CHANGED:
+ return getResourceVisitor().visit(resource);
+ }
+ //return true to continue visiting children.
+ return true;
+ }
+ }
+
+ class CDIResourceVisitor implements IResourceVisitor {
+
+ public boolean visit(IResource resource) throws CoreException {
+ // TODO
+ return false;
+ }
+
+ }
+
+}
+
Property changes on:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreBuilder.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java
(rev 0)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java 2009-11-30
16:23:33 UTC (rev 18925)
@@ -0,0 +1,237 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.core;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.ICommand;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IProjectNature;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.jboss.tools.cdi.internal.core.scanner.lib.ClassPathMonitor;
+import org.jboss.tools.common.util.FileUtil;
+
+public class CDICoreNature implements IProjectNature {
+ public static String NATURE_ID = "org.jboss.tools.cdi.core.cdinature";
+
+ IProject project = null;
+ ICDIProject cdiProjectDelegate;
+
+ ClassPathMonitor classPath = new ClassPathMonitor(this);
+
+ Map<IPath, Object> sourcePaths2 = new HashMap<IPath, Object>(); //TODO
+
+ private boolean isStorageResolved = false;
+
+ public CDICoreNature() {}
+
+ public void configure() throws CoreException {
+ addToBuildSpec(CDICoreBuilder.BUILDER_ID);
+ }
+
+ public void deconfigure() throws CoreException {
+ removeFromBuildSpec(CDICoreBuilder.BUILDER_ID);
+ }
+
+ public IProject getProject() {
+ return project;
+ }
+
+ public void setProject(IProject project) {
+ this.project = project;
+ }
+
+ public void setCDIProject(ICDIProject cdiProject) {
+ this.cdiProjectDelegate = cdiProject;
+ }
+
+ public ICDIProject getDelegate() {
+ return cdiProjectDelegate;
+ }
+
+ public ClassPathMonitor getClassPath() {
+ return classPath;
+ }
+ /**
+ *
+ * @param load
+ */
+ public void resolveStorage(boolean load) {
+ if(isStorageResolved) return;
+ if(load) {
+ load();
+ } else {
+ isStorageResolved = true;
+ }
+ }
+
+ /**
+ *
+ */
+ public void resolve() {
+ resolveStorage(true);
+ }
+
+ /**
+ * Loads results of last build, which are considered
+ * actual until next build.
+ */
+ public void load() {
+ if(isStorageResolved) return;
+ isStorageResolved = true;
+
+ postponeFiring();
+
+ try {
+ boolean b = getClassPath().update();
+ if(b) {
+ getClassPath().validateProjectDependencies();
+ }
+ File file = getStorageFile();
+
+ //TODO
+
+ if(b) {
+ getClassPath().process();
+ }
+
+ } finally {
+ fireChanges();
+ }
+ }
+
+ public void clean() {
+ File file = getStorageFile();
+ if(file != null && file.isFile()) {
+ file.delete();
+ }
+ classPath.clean();
+ postponeFiring();
+ IPath[] ps = sourcePaths2.keySet().toArray(new IPath[0]);
+ for (int i = 0; i < ps.length; i++) {
+ pathRemoved(ps[i]);
+ }
+ fireChanges();
+ }
+
+ /**
+ * Stores results of last build, so that on exit/enter Eclipse
+ * load them without rebuilding project
+ * @throws IOException
+ */
+ public void store() throws IOException {
+ File file = getStorageFile();
+ file.getParentFile().mkdirs();
+
+ //TODO
+ }
+ /**
+ *
+ * @param builderID
+ * @throws CoreException
+ */
+ protected void addToBuildSpec(String builderID) throws CoreException {
+ IProjectDescription description = getProject().getDescription();
+ ICommand command = null;
+ ICommand commands[] = description.getBuildSpec();
+ for (int i = 0; i < commands.length && command == null; ++i) {
+ if (commands[i].getBuilderName().equals(builderID))
+ command = commands[i];
+ }
+ if (command == null) {
+ command = description.newCommand();
+ command.setBuilderName(builderID);
+ ICommand[] oldCommands = description.getBuildSpec();
+ ICommand[] newCommands = new ICommand[oldCommands.length + 1];
+ System.arraycopy(oldCommands, 0, newCommands, 0, oldCommands.length);
+ newCommands[oldCommands.length] = command;
+ description.setBuildSpec(newCommands);
+ getProject().setDescription(description, null);
+ }
+ }
+
+ /**
+ *
+ */
+ static String EXTERNAL_TOOL_BUILDER =
"org.eclipse.ui.externaltools.ExternalToolBuilder"; //$NON-NLS-1$
+
+ /**
+ *
+ */
+ static final String LAUNCH_CONFIG_HANDLE = "LaunchConfigHandle";
//$NON-NLS-1$
+
+ /**
+ *
+ * @param builderID
+ * @throws CoreException
+ */
+ protected void removeFromBuildSpec(String builderID) throws CoreException {
+ IProjectDescription description = getProject().getDescription();
+ ICommand[] commands = description.getBuildSpec();
+ for (int i = 0; i < commands.length; ++i) {
+ String builderName = commands[i].getBuilderName();
+ if (!builderName.equals(builderID)) {
+ if(!builderName.equals(EXTERNAL_TOOL_BUILDER)) continue;
+ Object handle = commands[i].getArguments().get(LAUNCH_CONFIG_HANDLE);
+ if(handle == null || handle.toString().indexOf(builderID) < 0) continue;
+ }
+ ICommand[] newCommands = new ICommand[commands.length - 1];
+ System.arraycopy(commands, 0, newCommands, 0, i);
+ System.arraycopy(commands, i + 1, newCommands, i, commands.length - i - 1);
+ description.setBuildSpec(newCommands);
+ getProject().setDescription(description, null);
+ return;
+ }
+ }
+
+ /*
+ *
+ */
+ private File getStorageFile() {
+ IPath path = CDICorePlugin.getDefault().getStateLocation();
+ File file = new File(path.toFile(), "projects/" + project.getName());
//$NON-NLS-1$
+ return file;
+ }
+
+ public void clearStorage() {
+ File f = getStorageFile();
+ if(f == null || !f.exists()) return;
+ FileUtil.clear(f);
+ f.delete();
+ }
+
+ public boolean hasNoStorage() {
+ File f = getStorageFile();
+ return f == null || !f.exists();
+ }
+
+ public void postponeFiring() {
+ //TODO
+ }
+
+ public void fireChanges() {
+ //TODO
+ }
+
+ public long fullBuildTime;
+ public List<Long> statistics;
+
+ public void pathRemoved(IPath source) {
+ //TODO
+ }
+
+}
Property changes on:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java 2009-11-30
16:21:05 UTC (rev 18924)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java 2009-11-30
16:23:33 UTC (rev 18925)
@@ -10,6 +10,9 @@
******************************************************************************/
package org.jboss.tools.cdi.core;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.resource.ImageDescriptor;
import org.jboss.tools.common.log.BaseUIPlugin;
import org.osgi.framework.BundleContext;
@@ -68,4 +71,23 @@
public static ImageDescriptor getImageDescriptor(String path) {
return imageDescriptorFromPlugin(PLUGIN_ID, path);
}
-}
\ No newline at end of file
+
+ public static CDICoreNature getCDI(IProject project, boolean resolve) {
+ if(project == null || !project.exists() || !project.isOpen()) return null;
+ try {
+ if(!project.hasNature(CDICoreNature.NATURE_ID)) return null;
+ } catch (CoreException e) {
+ //ignore - all checks are done above
+ return null;
+ }
+ CDICoreNature n = null;
+ try {
+ n = (CDICoreNature)project.getNature(CDICoreNature.NATURE_ID);
+ if(resolve) n.resolve();
+ } catch (CoreException e) {
+ getDefault().logError(e);
+ }
+ return n;
+ }
+
+}
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/ICDIBuilderDelegate.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/ICDIBuilderDelegate.java
(rev 0)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/ICDIBuilderDelegate.java 2009-11-30
16:23:33 UTC (rev 18925)
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.core;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+
+/**
+ * Builder delegate performs build for specific kind of cdi project.
+ * CDICoreBuilder collects builder delegates registered by extension point
+ * and resolves which of them is best suited for the project instance.
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
+public interface ICDIBuilderDelegate {
+
+ public String getID();
+
+ public int computeRelevance(IProject project);
+
+ public Class<? extends ICDIProject> getProjectImplementationClass();
+
+ public void build(IFile file, CDICoreNature projectNature);
+
+}
Property changes on:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/ICDIBuilderDelegate.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/lib/ClassPathMonitor.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/lib/ClassPathMonitor.java
(rev 0)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/lib/ClassPathMonitor.java 2009-11-30
16:23:33 UTC (rev 18925)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.internal.core.scanner.lib;
+
+import org.jboss.tools.cdi.core.CDICoreNature;
+
+//TODO implement
+public class ClassPathMonitor {
+
+ public ClassPathMonitor(CDICoreNature project) {
+
+ }
+
+ public boolean update() {
+ //TODO
+ return true;
+ }
+
+ public void validateProjectDependencies() {
+ //TODO
+ }
+
+ public void process() {
+ //TODO
+ }
+
+ public boolean hasToUpdateProjectDependencies() {
+ //TODO
+ return false;
+ }
+
+ public void clean() {
+ //TODO
+ }
+
+}
Property changes on:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/lib/ClassPathMonitor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain