1 package org.apache.maven.continuum.core.action;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.continuum.dao.BuildDefinitionDao;
23 import org.apache.continuum.dao.ProjectDao;
24 import org.apache.maven.continuum.ContinuumException;
25 import org.apache.maven.continuum.execution.ContinuumBuildExecutor;
26 import org.apache.maven.continuum.execution.ContinuumBuildExecutorException;
27 import org.apache.maven.continuum.execution.manager.BuildExecutorManager;
28 import org.apache.maven.continuum.model.project.BuildDefinition;
29 import org.apache.maven.continuum.model.project.Project;
30 import org.apache.maven.continuum.model.scm.ScmResult;
31 import org.apache.maven.continuum.store.ContinuumStoreException;
32 import org.apache.maven.continuum.utils.WorkingDirectoryService;
33
34 import java.util.List;
35 import java.util.Map;
36
37
38
39
40
41
42
43 public class UpdateProjectFromWorkingDirectoryContinuumAction
44 extends AbstractContinuumAction
45 {
46
47
48
49 private WorkingDirectoryService workingDirectoryService;
50
51
52
53
54 private BuildExecutorManager buildExecutorManager;
55
56
57
58
59 private BuildDefinitionDao buildDefinitionDao;
60
61
62
63
64 private ProjectDao projectDao;
65
66 public void execute( Map context )
67 throws ContinuumStoreException, ContinuumException, ContinuumBuildExecutorException
68 {
69 Project project = getProject( context );
70
71 project = projectDao.getProjectWithAllDetails( project.getId() );
72
73 getLogger().info( "Updating project '" + project.getName() + "' from checkout." );
74
75 BuildDefinition buildDefinition = buildDefinitionDao.getBuildDefinition( getBuildDefinitionId( context ) );
76
77
78
79
80
81 ContinuumBuildExecutor builder = buildExecutorManager.getBuildExecutor( project.getExecutorId() );
82
83 ScmResult scmResult = (ScmResult) context.get( "scmResult" );
84 List<Project> projectsWithCommonScmRoot = getListOfProjectsInGroupWithCommonScmRoot( context );
85 String projectScmRootUrl = getProjectScmRootUrl( context, project.getScmUrl() );
86
87 builder.updateProjectFromCheckOut( workingDirectoryService.getWorkingDirectory( project, projectScmRootUrl,
88 projectsWithCommonScmRoot ),
89 project, buildDefinition, scmResult );
90
91
92
93
94 projectDao.updateProject( project );
95 }
96 }