Skip to content
This repository has been archived by the owner on Nov 17, 2020. It is now read-only.

Commit

Permalink
remove scala-libraries from "Maven Dependencies" container
Browse files Browse the repository at this point in the history
  • Loading branch information
davidB committed Jun 4, 2010
1 parent cbfb701 commit bb23a90
Showing 1 changed file with 20 additions and 4 deletions.
Expand Up @@ -21,17 +21,19 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.maven.ide.eclipse.jdt.IClasspathDescriptor;
import org.maven.ide.eclipse.jdt.IClasspathEntryDescriptor;
import org.maven.ide.eclipse.jdt.IJavaProjectConfigurator;
import org.maven.ide.eclipse.project.IMavenProjectFacade;
import org.maven.ide.eclipse.project.configurator.AbstractProjectConfigurator;
import org.maven.ide.eclipse.project.configurator.ProjectConfigurationRequest;

//TODO : check the jre/java version compliance (>= 1.5)
public class ScalaProjectConfigurator extends AbstractProjectConfigurator implements IJavaProjectConfigurator {

public static String ID_NATURE = "ch.epfl.lamp.sdt.core.scalanature";
public static String MOJO_GROUP_ID = "org.scala-tools";
public static String MOJO_ARTIFACT_ID = "maven-scala-plugin";

//public static String SCALA_PLUGIN_ID_BUILDER = "ch.epfl.lamp.sdt.core.scalabuilder";

public void configure(ProjectConfigurationRequest request, IProgressMonitor monitor) throws CoreException {
Expand All @@ -44,7 +46,21 @@ public void configure(ProjectConfigurationRequest request, IProgressMonitor moni

public void configureClasspath(IMavenProjectFacade facade, IClasspathDescriptor classpath, IProgressMonitor monitor)
throws CoreException {

if(isScalaProject(facade.getProject())) {
classpath.removeEntry(new IClasspathDescriptor.EntryFilter() {
public boolean accept(IClasspathEntryDescriptor descriptor) {
boolean back = "org.scala-lang".equals(descriptor.getGroupId());
//TODO, use content of Scala Library Container instead of hardcoded value
back = back && (
"scala-library".equals(descriptor.getArtifactId())
|| "scala-compiler".equals(descriptor.getArtifactId())
|| "scala-dbc".equals(descriptor.getArtifactId())
|| "scala-swing".equals(descriptor.getArtifactId())
);
return back;
}
});
}
/*
if(isAjdtProject(facade.getProject())) {
// TODO cache in facade.setSessionProperty
Expand Down Expand Up @@ -74,15 +90,15 @@ public void configureRawClasspath(ProjectConfigurationRequest request, IClasspat

}

static boolean isAjdtProject(IProject project) {
static boolean isScalaProject(IProject project) {
try {
return project != null && project.isAccessible() && project.hasNature(ID_NATURE);
} catch(CoreException e) {
return false;
}
}

private boolean isScalaProject(IMavenProjectFacade facade, IProgressMonitor monitor)
private boolean isScalaProject(IMavenProjectFacade facade, IProgressMonitor monitor)
throws CoreException {
List<Plugin> plugins = facade.getMavenProject(monitor).getBuildPlugins();
if(plugins != null) {
Expand Down

0 comments on commit bb23a90

Please sign in to comment.