/*
* Copyright (c) 2009 Netcetera AG and others.
* 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:
* - Netcetera AG: initial implementation
*/
package ch.netcetera.eclipse.projectconfig.core.configurationcommands;
import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IStatus;
/**
* Interface to a single command executed as part of a project configuration script.
*/
public interface IProjectConfigurationCommand {
/**
* Executes the command on all passed projects.
* <p>
* The status returned is set to {@link IStatus#WARNING} if the operation
* reported not {@link IStatus#isOK()} on at least one project. Details about
* the individual errors can be found in the error log.
* </p>
*
* @param projectList the projects to apply the command to
* @return the status of the operation
*/
IStatus execute(List<IProject> projectList);
}