1 package org.apache.maven.continuum.utils;
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.continuum.configuration.ConfigurationService;
23 import org.apache.maven.continuum.model.project.Project;
24 import org.apache.maven.continuum.model.project.ProjectGroup;
25 import org.springframework.stereotype.Service;
26
27 import java.io.File;
28 import java.util.List;
29 import javax.annotation.Resource;
30
31
32
33
34
35 @Service( "workingDirectoryService#chrootJail" )
36 public class ChrootJailWorkingDirectoryService
37 implements WorkingDirectoryService
38 {
39 @Resource
40 private ConfigurationService configurationService;
41
42
43
44
45 private File chrootJailDirectory;
46
47 public void setConfigurationService( ConfigurationService configurationService )
48 {
49 this.configurationService = configurationService;
50 }
51
52 public ConfigurationService getConfigurationService()
53 {
54 return configurationService;
55 }
56
57 public void setChrootJailDirectory( File chrootJailDirectory )
58 {
59 this.chrootJailDirectory = chrootJailDirectory;
60 }
61
62 public File getChrootJailDirectory()
63 {
64 return chrootJailDirectory;
65 }
66
67 public File getWorkingDirectory( Project project )
68 {
69 return getWorkingDirectory( project, true );
70 }
71
72 public File getWorkingDirectory( Project project, boolean shouldSet )
73 {
74 ProjectGroup projectGroup = project.getProjectGroup();
75
76 File f = new File( getChrootJailDirectory(), projectGroup.getGroupId() );
77 f = new File( f, getConfigurationService().getWorkingDirectory().getPath() );
78 return new File( f, Integer.toString( project.getId() ) );
79 }
80
81 public File getWorkingDirectory( Project project, String projectScmRoot, List<Project> projects )
82 {
83 return getWorkingDirectory( project, true );
84 }
85
86 public File getWorkingDirectory( Project project, String projectScmRoot, List<Project> projects, boolean shouldSet )
87 {
88 return getWorkingDirectory( project, shouldSet );
89 }
90 }