/******************************************************************************* * Copyright (c) 2006-2015 * Software Technology Group, Dresden University of Technology * DevBoost GmbH, Dresden, Amtsgericht Dresden, HRB 34001 * * 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: * Software Technology Group - TU Dresden, Germany; * DevBoost GmbH - Dresden, Germany * - initial API and implementation ******************************************************************************/ package de.devboost.buildboost.model; import java.util.Collection; import java.util.List; /** * The IBuildContext collects information during the build and provides access to this information to all components * that are involved in this process. */ public interface IBuildContext { /** * Returns an unmodifiable collection containing the artifacts discovered so far. */ public Collection<IArtifact> getDiscoveredArtifacts(); /** * Removes the given collection of artifacts from the set of discovered artifacts. */ public void removeDiscoveredArtifacts(Collection<IArtifact> artifactsToRemove); /** * Adds the given collection of artifacts to the set of discovered artifacts. */ public void addDiscoveredArtifacts(Collection<IArtifact> artifactsToAdd); /** * Returns the listener for the current build. The listener can be used to send status messages about the build * process. */ public IBuildListener getBuildListener(); public boolean ignoreUnresolvedDependencies(); public List<IBuildParticipant> getBuildParticipants(); public void addBuildParticipant(IBuildParticipant participant); }