blob: 781f2f68292da6b39ac6927c59faecfc64772840 (
plain) (
tree)
|
|
/*******************************************************************************
* Copyright (c) 2012 Red Hat, Inc.
* All rights reserved. This program and the accompanying materials
* are 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.eclipse.m2e.jdt;
import java.util.Set;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
import org.eclipse.m2e.core.project.IMavenProjectFacade;
/**
* Configures Runtime Classpath for Launch configuration of a given workspace project, depending on its classifier.
*
* @author Fred Bricon
* @since 1.3
*/
public interface IClassifierClasspathProvider {
/**
* Checks if this provider applies to the given project / classifier combo.
*/
boolean applies(IMavenProjectFacade mavenProjectFacade, String classifier);
/**
* @return the classifier key this provider applies to. Can be <code>null</code>.
*/
String getClassifier();
/**
* Configures the test classpath of the given project
*/
void setTestClasspath(Set<IRuntimeClasspathEntry> testClasspath, IMavenProjectFacade mavenProjectFacade,
IProgressMonitor monitor) throws CoreException;
/**
* Configures the runtime classpath of the given project.
*/
void setRuntimeClasspath(Set<IRuntimeClasspathEntry> runtimeClasspath, IMavenProjectFacade mavenProjectFacade,
IProgressMonitor monitor) throws CoreException;
}
|