1 package org.apache.maven.continuum.configuration;
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.buildqueue.BuildQueueServiceException;
23 import org.apache.continuum.configuration.BuildAgentConfiguration;
24 import org.apache.continuum.configuration.BuildAgentGroupConfiguration;
25 import org.apache.continuum.configuration.ContinuumConfigurationException;
26 import org.apache.maven.continuum.model.project.BuildQueue;
27 import org.apache.maven.continuum.model.project.Schedule;
28 import org.apache.maven.continuum.store.ContinuumStoreException;
29
30 import java.io.File;
31 import java.util.List;
32
33
34
35
36
37 public interface ConfigurationService
38 {
39 String ROLE = ConfigurationService.class.getName();
40
41 public static final String DEFAULT_SCHEDULE_NAME = "DEFAULT_SCHEDULE";
42
43 public static final String DEFAULT_BUILD_QUEUE_NAME = "DEFAULT_BUILD_QUEUE";
44
45
46
47
48
49 File getApplicationHome();
50
51 boolean isInitialized();
52
53 void setInitialized( boolean initialized );
54
55 String getUrl();
56
57 void setUrl( String url );
58
59 File getBuildOutputDirectory();
60
61 void setBuildOutputDirectory( File buildOutputDirectory );
62
63 File getWorkingDirectory();
64
65 void setWorkingDirectory( File workingDirectory );
66
67 File getDeploymentRepositoryDirectory();
68
69 void setDeploymentRepositoryDirectory( File deploymentRepositoryDirectory );
70
71 String getBuildOutput( int buildId, int projectId )
72 throws ConfigurationException;
73
74 File getBuildOutputDirectory( int projectId );
75
76 File getBuildOutputFile( int buildId, int projectId )
77 throws ConfigurationException;
78
79 File getTestReportsDirectory( int buildId, int projectId )
80 throws ConfigurationException;
81
82 File getReleaseOutputDirectory();
83
84 void setReleaseOutputDirectory( File releaseOutputDirectory );
85
86 File getReleaseOutputDirectory( int projectGroupId );
87
88 File getReleaseOutputFile( int projectGroupId, String releaseName )
89 throws ConfigurationException;
90
91 String getReleaseOutput( int projectGroupId, String releaseName )
92 throws ConfigurationException;
93
94 int getNumberOfBuildsInParallel();
95
96 void setNumberOfBuildsInParallel( int num );
97
98 BuildQueue getDefaultBuildQueue()
99 throws BuildQueueServiceException;
100
101 List<BuildAgentConfiguration> getBuildAgents();
102
103 void addBuildAgent( BuildAgentConfiguration buildAgent )
104 throws ConfigurationException;
105
106 void removeBuildAgent( BuildAgentConfiguration buildAgent );
107
108 void updateBuildAgent( BuildAgentConfiguration buildAgent );
109
110 boolean isDistributedBuildEnabled();
111
112 void setDistributedBuildEnabled( boolean distributedBuildEnabled );
113
114 void addBuildAgentGroup( BuildAgentGroupConfiguration buildAgentGroup )
115 throws ConfigurationException;
116
117 void removeBuildAgentGroup( BuildAgentGroupConfiguration buildAgentGroup )
118 throws ConfigurationException;
119
120 void updateBuildAgentGroup( BuildAgentGroupConfiguration buildAgentGroup )
121 throws ConfigurationException;
122
123 void addBuildAgent( BuildAgentGroupConfiguration buildAgentGroup, BuildAgentConfiguration buildAgent )
124 throws ConfigurationException;
125
126 void removeBuildAgent( BuildAgentGroupConfiguration buildAgentGroup, BuildAgentConfiguration buildAgent )
127 throws ConfigurationException;
128
129 BuildAgentGroupConfiguration getBuildAgentGroup( String name );
130
131 BuildAgentConfiguration getBuildAgent( String url );
132
133 List<BuildAgentGroupConfiguration> getBuildAgentGroups();
134
135 boolean containsBuildAgentUrl( String buildAgentUrl, BuildAgentGroupConfiguration buildAgentGroup );
136
137 void setSharedSecretPassword( String sharedSecretPassword );
138
139 String getSharedSecretPassword();
140
141
142
143
144
145 File getFile( String filename );
146
147
148
149
150
151 boolean isLoaded();
152
153 void reload()
154 throws ConfigurationLoadingException, ContinuumConfigurationException;
155
156 void store()
157 throws ConfigurationStoringException, ContinuumConfigurationException;
158
159 Schedule getDefaultSchedule()
160 throws ContinuumStoreException, ConfigurationLoadingException, ContinuumConfigurationException,
161 BuildQueueServiceException;
162 }