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 1372260 2012-08-13 04:29:09Z brett $
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 }