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.configuration.BuildAgentConfigurationService;
23 import org.apache.continuum.buildagent.utils.ContinuumBuildAgentUtil;
24 import org.apache.maven.continuum.model.project.Project;
25 import org.apache.maven.shared.model.fileset.FileSet;
26 import org.apache.maven.shared.model.fileset.util.FileSetManager;
27 import org.codehaus.plexus.action.AbstractAction;
28
29 import java.io.File;
30 import java.util.Map;
31
32
33
34
35 public class CleanWorkingDirectoryAction
36 extends AbstractAction
37 {
38
39
40
41 private BuildAgentConfigurationService buildAgentConfigurationService;
42
43 public void execute( Map context )
44 throws Exception
45 {
46 Project project = ContinuumBuildAgentUtil.getProject( context );
47
48 File workingDirectory = buildAgentConfigurationService.getWorkingDirectory( project.getId() );
49
50 if ( workingDirectory.exists() )
51 {
52 getLogger().debug( "Cleaning working directory " + workingDirectory.getAbsolutePath() );
53
54 FileSetManager fileSetManager = new FileSetManager();
55 FileSet fileSet = new FileSet();
56 fileSet.setDirectory( workingDirectory.getPath() );
57 fileSet.addInclude( "**/**" );
58
59 fileSet.setFollowSymlinks( false );
60 fileSetManager.delete( fileSet );
61 }
62 }
63 }