blob: 05e04e9fbec361529df8c369370682beb0127b6d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008 Sonatype, 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
*******************************************************************************/
package org.eclipse.m2e.wtp;
import org.apache.maven.project.MavenProject;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.m2e.jdt.IClasspathDescriptor;
/**
* Configure projects based on maven plugin configuration.
*
* @provisional This class has been added as part of a work in progress.
* It is not guaranteed to work or remain the same in future releases.
* For more information contact <a href="mailto:m2e-wtp-dev@eclipse.org">m2e-wtp-dev@eclipse.org</a>.
*
* @author Fred Bricon
*/
interface IProjectConfiguratorDelegate {
/**
* Set project facet and configure settings according to maven plugin configuration.
*
* @param mavenProject
* @param project
* @param monitor
* @throws MarkedException
*/
void configureProject(IProject project, MavenProject mavenProject, IProgressMonitor monitor) throws MarkedException;
/**
* Configure project module dependencies based on maven plugin configuration.
*
* @param mavenProject
* @param project
* @param monitor
* @throws CoreException
*/
void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
throws CoreException;
/**
* Configures Maven project classpath, i.e. content of MavenDependencies classpath container
*
* @param project
* @param mavenProject
* @param classpath
* @param monitor
*/
void configureClasspath(IProject project, MavenProject mavenProject, IClasspathDescriptor classpath,
IProgressMonitor monitor) throws CoreException;
}