1 package org.apache.continuum.buildagent.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.buildagent.build.execution.ContinuumAgentBuildExecutor;
23 import org.apache.continuum.buildagent.build.execution.manager.BuildAgentBuildExecutorManager;
24 import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationService;
25 import org.apache.continuum.buildagent.utils.ContinuumBuildAgentUtil;
26 import org.apache.maven.continuum.model.project.BuildDefinition;
27 import org.apache.maven.continuum.model.project.Project;
28 import org.codehaus.plexus.action.AbstractAction;
29 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory;
31
32 import java.io.File;
33 import java.util.Map;
34
35
36
37
38
39 public class UpdateProjectFromWorkingDirectoryAction
40 extends AbstractAction
41 {
42 private static final Logger logger = LoggerFactory.getLogger( UpdateProjectFromWorkingDirectoryAction.class );
43
44
45
46
47 private BuildAgentBuildExecutorManager buildAgentBuildExecutorManager;
48
49
50
51
52 private BuildAgentConfigurationService buildAgentConfigurationService;
53
54 public void execute( Map context )
55 throws Exception
56 {
57 Project project = ContinuumBuildAgentUtil.getProject( context );
58
59 logger.info( "Updating project '" + project.getName() + "' from checkout." );
60
61 BuildDefinition buildDefinition = ContinuumBuildAgentUtil.getBuildDefinition( context );
62
63 File workingDirectory = buildAgentConfigurationService.getWorkingDirectory( project.getId() );
64
65 ContinuumAgentBuildExecutor buildExecutor = buildAgentBuildExecutorManager.getBuildExecutor(
66 project.getExecutorId() );
67
68 buildExecutor.updateProjectFromWorkingDirectory( workingDirectory, project, buildDefinition );
69 }
70
71 }