|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface ProjectDependencies
A ProjectDependencies object is a representation of the dependencies
between projects in a ProjectRepository. It is
used when using a TaskExecutor to run tasks such as
build tasks that involve several interdependent projects. For an example of
how a ProjectDependencies object is used, see the user's guide.
When iterating over a set of Project:s to be
processed, the build script uses getDependencies(Project) for each
project to get a collection of TaskDependency that
represents the dependencies that have to be satisfied before that project can
be processed. After creating tasks for processing the project, a dependency
object representing those tasks are registered using
registerDependency(Project, TaskDependency). That dependency object
is used for the dependencies of the other projects that depend on results
from this project when they are processed.
For example, in a ProjectRepository with
JavaProject:s, some Java projects have
compile dependencies on other Java projects. The Java project p's
compile task will depend on the dependencies returned from calling getDependencies(p). The Java project will be completed when its compile task
t has been run, so that is registered with registerDependency(p, t).
(The dependencies that are returned from getDependencies(Project)
are not the same dependencies registered by
registerDependency(Project, TaskDependency). They cannot be, since
that would force clients to register projects in dependency order, forfeiting
most of the point in using a ProjectDependencies object in the first
place.)
The ProjectDependencies object is itself an TaskDependency
that is satisfied when all its constituent dependencies are satisfied.
| Method Summary | |
|---|---|
Collection<? extends TaskDependency> |
getDependencies(Project p)
Get dependency objects for the given project. |
void |
registerDependency(Project p,
TaskDependency d)
Register a dependency for a project. |
| Methods inherited from interface org.schmant.run.TaskDependency |
|---|
getDependencyObservable, getSatisfiedStateLock, isSatisfied |
| Method Detail |
|---|
Collection<? extends TaskDependency> getDependencies(Project p)
p - The project
registerDependency(Project, TaskDependency).
void registerDependency(Project p,
TaskDependency d)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||