View Javadoc

1   package org.apache.maven.continuum.configuration;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
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   * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
35   * @version $Id: ConfigurationService.java 748163 2009-02-26 14:47:01Z ctan $
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     // ----------------------------------------------------------------------
138     //
139     // ----------------------------------------------------------------------
140 
141     File getFile( String filename );
142 
143     // ----------------------------------------------------------------------
144     //
145     // ----------------------------------------------------------------------
146 
147     boolean isLoaded();
148 
149     void reload()
150         throws ConfigurationLoadingException, ContinuumConfigurationException;
151 
152     void store()
153         throws ConfigurationStoringException, ContinuumConfigurationException;
154 
155     Schedule getDefaultSchedule()
156         throws ContinuumStoreException, ConfigurationLoadingException, ContinuumConfigurationException, BuildQueueServiceException;
157 }