1 package org.apache.maven.continuum.execution;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.artifact.Artifact;
23 import org.apache.maven.continuum.model.project.BuildDefinition;
24 import org.apache.maven.continuum.model.project.Project;
25 import org.apache.maven.continuum.model.scm.ChangeSet;
26 import org.apache.maven.continuum.model.scm.ScmResult;
27
28 import java.io.File;
29 import java.util.List;
30
31
32
33
34
35 public interface ContinuumBuildExecutor
36 {
37 String ROLE = ContinuumBuildExecutor.class.getName();
38
39
40 ContinuumBuildExecutionResult build( Project project, BuildDefinition buildDefinition, File buildOutput,
41 List<Project> projectsWithCommonScmRoot, String projectScmRootUrl )
42 throws ContinuumBuildExecutorException;
43
44
45 void updateProjectFromCheckOut( File workingDirectory, Project project, BuildDefinition buildDefinition,
46 ScmResult scmResult )
47 throws ContinuumBuildExecutorException;
48
49 boolean isBuilding( Project project );
50
51 void killProcess( Project project );
52
53
54 List<Artifact> getDeployableArtifacts( Project project, File workingDirectory, BuildDefinition buildDefinition )
55 throws ContinuumBuildExecutorException;
56
57
58 void backupTestFiles( Project project, int buildId, String projectScmRootUrl,
59 List<Project> projectsWithCommonScmRoot );
60
61 boolean shouldBuild( List<ChangeSet> changes, Project continuumProject, File workingDirectory,
62 BuildDefinition buildDefinition )
63 throws ContinuumBuildExecutorException;
64 }