Class BuildServerImpl
- java.lang.Object
-
- jetbrains.buildServer.serverSide.impl.BuildServerImpl
-
- All Implemented Interfaces:
BuildServer
,ExtensionHolder
,ExtensionsProvider
,RootUrlHolder
,BuildServerEx
,BuildServerState
,BuildsManager
,RunningBuildsManagerEx
,RunningBuildsManager
,SBuildServer
,ServerExtensionHolder
,ServerUrlProvider
,ServiceLocator
- Direct Known Subclasses:
BaseServerTestCase.TestBuildServerImpl
public class BuildServerImpl extends Object implements BuildServerEx
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jetbrains.buildServer.ExtensionsProvider
ExtensionsProvider.ExtensionAction<T extends TeamCityExtension>
-
-
Field Summary
Fields Modifier and Type Field Description static int
TRIAL_EXPIRE_DAYS
static String
UNEXPECTED_FINISH
Deprecated.
-
Constructor Summary
Constructors Constructor Description BuildServerImpl(BuildServerLifecycleProcessor stateProcessor, ServerPaths paths, SecurityContextEx securityContext, BuildServerServiceLocator serviceLocator, ServerRootUrlHolder serverRootUrlHolder, EventDispatcher<BuildServerListener> dispatcher, ServerResponsibility serverResponsibility)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addListener(BuildServerListener listener)
Deprecated.use direct injection of EventDispatchervoid
addRunningBuild(RunningBuildEx serverRunningBuild)
byte[]
fetchData(long userId, long buildId, String sourceId, String value)
Get custom data provided by some data provider.SBuild
findBuildInstanceByBuildNumber(String buildTypeId, String buildNumber)
Returns the most recent build (ordered by changes) with the specified build numberSBuild
findBuildInstanceById(long buildId)
Return the build which corresponds to given buildId.Collection<SBuild>
findBuildInstances(Collection<Long> buildIds)
Returns collection of builds corresponding to the specified builds ids.List<SBuild>
findBuildInstancesByBuildNumber(String buildTypeId, String buildNumber)
Returns builds in specified build configuration id having the specified build number.SBuild
findNextBuild(SBuild build, BuildDataFilter filter)
Returns the next non personal build (finished or running) started after the specified build.LicenseKey
findPerUsageLicense()
SBuild
findPreviousBuild(SBuild build)
Finds a non personal build (running or finished) which was started before the specified build and contains same or previous changes than the specified build.SBuild
findPreviousBuild(SBuild build, BuildDataFilter filter)
Same asBuildsManager.findPreviousBuild(jetbrains.buildServer.serverSide.SBuild)
but searches for a previous build among builds accepted by the specified filter.RunningBuildEx
findRunningBuildById(long currentBuildId)
Searches for a running build by specified build id.<T> T
findSingletonService(Class<T> serviceClass)
Searches for singleton service of specified typeboolean
flushQueue()
Check for free build agents and try to send builds from queue to build agents.<T extends TeamCityExtension>
voidforeachExtension(Class<T> agentExtensionClass, ExtensionsProvider.ExtensionAction<T> action)
Iterates over extensions of some class and executes some action on them.BuildAgentManagerEx
getBuildAgentManager()
Date
getBuildDate()
String
getBuildNumber()
Returns server build number, i.e.int
getDaysToLicenseExpiration()
Returns number of days till license expiration.List<SBuild>
getEntriesSince(SBuild build, SBuildType buildType)
Returns collection of finished and running builds which are later than the given one in term of changes.ScheduledExecutorService
getExecutor()
Executor service for short-time processes<T extends TeamCityExtension>
TgetExtension(Class<T> extensionClass, String sourceId)
Retrieves extension registered with specified type and id<T extends TeamCityExtension>
Collection<T>getExtensions(Class<T> extensionClass)
Get list of extensions for some extension point.<T extends TeamCityExtension>
Collection<String>getExtensionSources(Class<T> extensionClass)
Returns identifiers of the extensions of specified typeString
getFullServerVersion()
Returns full server version string, including build number: TeamCity 3.0 EAP (build 4545)BuildHistoryEx
getHistory()
SBuild
getLastStartedBuild(String buildTypeId)
LicenseKeysManager
getLicenseKeysManager()
LicenseTokenManager
getLicenseTokenManager()
LicensingInfo
getLicensingInfo()
LicensingPolicyEx
getLicensingPolicy()
LoginConfiguration
getLoginConfiguration()
Return login configurations managerBuildServerListener
getMulticaster()
Deprecated.use direct injection of EventDispatcherint
getNumberOfRunningBuilds()
Returns total number of currently running builds.PersonalBuildManagerEx
getPersonalBuildManager()
Returns specific manager for personal builds.ProjectManagerEx
getProjectManager()
ProjectSettingsGeneratorRegistry
getProjectSettingsGeneratorRegistry()
BuildQueueEx
getQueue()
List<String>
getResponsibilityIds(long userId)
Returns all configurations specified user is currently responsible for.ResponsibilityFacadeEx
getResposibilityFacade()
String
getRootUrl()
Returns the server URLRunningBuildEx
getRunningBuildOnAgent(SBuildAgent agent)
Returns running build running on the specified agent or null if there are no build on the agent.List<SRunningBuild>
getRunningBuilds()
Same as getRunningBuilds(null, null) List of running builds is sorted by build id in reverse order (most recent build first).List<SRunningBuild>
getRunningBuilds(User user, BuildDataFilter filter)
Returns all running builds including personal builds according to settings of the specified user.List<SRunningBuild>
getRunningBuilds(User user, SBuildType buildType)
Returns all running builds including personal builds which belong to the specified build configuration.List<RunningBuildEx>
getRunningBuildsEx()
Map<SBuildType,List<SRunningBuild>>
getRunningStatus(User user, BuildDataFilter filter)
Returns map of running builds per build configuration.RunTypeRegistry
getRunTypeRegistry()
Returns registry for various build runners, like Ant, Maven, or Duplicates.SecurityContextEx
getSecurityContext()
byte
getServerMajorVersion()
Get server major version, 3 for TeamCity 3.0byte
getServerMinorVersion()
Get server minor version, 2 for TeamCity 1.2ServerResponsibility
getServerResponsibility()
String
getServerRootPath()
Path to server web application, i.e.<T> Collection<T>
getServices(Class<T> serviceClass)
Searches for all bean instances of type<T> T
getSingletonService(Class<T> serviceClass)
Searches for singleton service of specified typeSQLRunnerEx
getSQLRunner()
Deprecated.use direct SQLRunner injection<T extends TeamCityExtension,CONTEXT,TARGET>
StampedExtensionsSupplier<CONTEXT,TARGET>getStampedExtensionsSupplier(Class<T> extensionClass, Function<StampedExtensionsSupplier.StoredData<CONTEXT,Collection<T>>,TARGET> converter)
Live suppler of extensions.StatusProvider
getStatusProvider()
TimeService
getTimeService()
UserModel
getUserModel()
UserModelEx
getUserModelEx()
VcsModificationHistoryEx
getVcsHistory()
VcsManagerEx
getVcsManager()
ServerVersionInfo
getVersion()
Returns server version info.boolean
hasFinishingBuilds()
void
initServer()
boolean
isBuildFinishing(long buildId)
boolean
isCompositeBuildReadyToFinish(CompositeRunningBuild rb)
boolean
isDatabaseCreatedOnStartup()
boolean
isDefaultRootUrl()
boolean
isLicenseExpiringSoon()
boolean
isShuttingDown()
Returns true if server shutdown is in progress.boolean
isStarted()
Returns true if server was started (i.e.void
processBuildDetachedOnOtherNode(long buildId)
void
processBuildFinishedOnOtherNode(long buildId, Runnable callback)
void
processBuildInterruptedOnOtherNode(long buildId, Runnable callback)
void
processBuilds(BuildQueryOptions options, ItemProcessor<SBuild> processor)
Returns the builds matched by theoptions
specified.void
processBuildStartedOnOtherNode(long buildId)
void
processChangesLoadedOnOtherNode(long buildId)
<T extends TeamCityExtension>
voidregisterExtension(Class<T> extensionClass, String sourceId, T extension)
Register an extension for some extension point.void
removeListener(BuildServerListener listener)
Deprecated.use direct injection of EventDispatchervoid
removeRunningBuild(RunningBuildEx build)
void
scheduleBuildFinishing(RunningBuildEx rb)
void
setAgentManager(BuildAgentManagerEx agentManager)
void
setBuildQueue(BuildQueueEx queue)
void
setBuildsManager(BuildsManagerImpl buildsManager)
void
setDb(SQLRunnerEx db)
void
setExecutorServiceManager(ExecutorServiceManager executorServiceManager)
void
setFileWatcherFactory(FileWatcherFactory fileWatcherFactory)
void
setFlushQueueAction(FlushQueueAction flushQueueAction)
void
setHistoryEx(BuildHistoryEx history)
void
setLoginConfiguration(LoginConfiguration loginConfiguration)
void
setPersonalBuildManagerEx(PersonalBuildManagerEx personalBuildManager)
void
setProjectManagerImpl(ProjectManagerEx projectManager)
void
setProjectSettingsGeneratorRegistry(ProjectSettingsGeneratorRegistry projectSettingsGeneratorRegistry)
void
setResponsibilityFacade(ResponsibilityFacadeEx responsibilityFacade)
void
setRootUrl(String url)
Sets new root URL.void
setRunningBuildsManager(RunningBuildsManagerImpl runningBuilds)
void
setRunTypeRegistry(RunTypeRegistry runTypeRegistry)
void
setServerRootPath(String absolutePath)
void
setStatusProvider(StatusProvider statusProvider)
void
setSwitchableExternalActivityRegistry(SwitchableExternalActivityRegistry externalActivityRegistry)
void
setTimeService(TimeService timeService)
void
setUserModelEx(UserModelEx userModel)
void
setVcsManagerEx(VcsManagerEx vcsManager)
void
setVcsModificationHistory(VcsModificationHistoryEx history)
<T extends TeamCityExtension>
voidunregisterExtension(Class<T> extensionClass, String sourceId)
Unregister an extension with given parameters registered for some extension point.void
updateLicenseKeys()
Reloads license keys from disk-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jetbrains.buildServer.ExtensionsProvider
getExtensionsCollection, getExtensionsCollection
-
-
-
-
Field Detail
-
TRIAL_EXPIRE_DAYS
public static final int TRIAL_EXPIRE_DAYS
-
UNEXPECTED_FINISH
@Deprecated @NonNls public static final String UNEXPECTED_FINISH
Deprecated.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BuildServerImpl
public BuildServerImpl(@NotNull BuildServerLifecycleProcessor stateProcessor, @NotNull ServerPaths paths, @NotNull SecurityContextEx securityContext, @NotNull BuildServerServiceLocator serviceLocator, @NotNull ServerRootUrlHolder serverRootUrlHolder, @NotNull EventDispatcher<BuildServerListener> dispatcher, @NotNull ServerResponsibility serverResponsibility) throws IOException
- Throws:
IOException
-
-
Method Detail
-
setExecutorServiceManager
public void setExecutorServiceManager(@NotNull ExecutorServiceManager executorServiceManager)
-
setFlushQueueAction
public void setFlushQueueAction(@NotNull FlushQueueAction flushQueueAction)
-
getBuildAgentManager
@NotNull public BuildAgentManagerEx getBuildAgentManager()
- Specified by:
getBuildAgentManager
in interfaceBuildServerEx
- Specified by:
getBuildAgentManager
in interfaceSBuildServer
- Returns:
- manager of build agents.
-
getEntriesSince
public List<SBuild> getEntriesSince(@Nullable SBuild build, SBuildType buildType)
Description copied from interface:SBuildServer
Returns collection of finished and running builds which are later than the given one in term of changes. I.e. history builds which were started after the given one but relate to changes made before it, won't be returned. Collection is sorted by change order descending (recent first).- Specified by:
getEntriesSince
in interfaceSBuildServer
- Parameters:
build
- the boundary build, the result collection won't include it. if null, all builds will be returnedbuildType
- build configuration where to search in.- Returns:
- collection of finished and running builds belonging to the specified configuration which start after the specified one (ordered by changes, recent first).
-
setAgentManager
public void setAgentManager(BuildAgentManagerEx agentManager)
-
setDb
public void setDb(@NotNull SQLRunnerEx db)
-
setPersonalBuildManagerEx
public void setPersonalBuildManagerEx(@NotNull PersonalBuildManagerEx personalBuildManager)
-
setFileWatcherFactory
public void setFileWatcherFactory(@NotNull FileWatcherFactory fileWatcherFactory)
-
setHistoryEx
public void setHistoryEx(BuildHistoryEx history)
-
initServer
public void initServer()
-
setUserModelEx
public void setUserModelEx(UserModelEx userModel)
-
setBuildQueue
public void setBuildQueue(BuildQueueEx queue)
-
setRunTypeRegistry
public void setRunTypeRegistry(@NotNull RunTypeRegistry runTypeRegistry)
-
setVcsManagerEx
public void setVcsManagerEx(@NotNull VcsManagerEx vcsManager)
-
setVcsModificationHistory
public void setVcsModificationHistory(@NotNull VcsModificationHistoryEx history)
-
setProjectManagerImpl
public void setProjectManagerImpl(@NotNull ProjectManagerEx projectManager)
-
setLoginConfiguration
public void setLoginConfiguration(@NotNull LoginConfiguration loginConfiguration)
-
setResponsibilityFacade
public void setResponsibilityFacade(@NotNull ResponsibilityFacadeEx responsibilityFacade)
-
setRunningBuildsManager
public void setRunningBuildsManager(@NotNull RunningBuildsManagerImpl runningBuilds)
-
setBuildsManager
public void setBuildsManager(@NotNull BuildsManagerImpl buildsManager)
-
setSwitchableExternalActivityRegistry
public void setSwitchableExternalActivityRegistry(@NotNull SwitchableExternalActivityRegistry externalActivityRegistry)
-
setProjectSettingsGeneratorRegistry
public void setProjectSettingsGeneratorRegistry(@NotNull ProjectSettingsGeneratorRegistry projectSettingsGeneratorRegistry)
-
getSecurityContext
@NotNull public SecurityContextEx getSecurityContext()
- Specified by:
getSecurityContext
in interfaceBuildServerEx
-
getServerResponsibility
@NotNull public ServerResponsibility getServerResponsibility()
- Specified by:
getServerResponsibility
in interfaceBuildServerEx
-
getLoginConfiguration
@NotNull public LoginConfiguration getLoginConfiguration()
Description copied from interface:SBuildServer
Return login configurations manager- Specified by:
getLoginConfiguration
in interfaceSBuildServer
- Returns:
- see above
-
getExecutor
public ScheduledExecutorService getExecutor()
Description copied from interface:SBuildServer
Executor service for short-time processes- Specified by:
getExecutor
in interfaceSBuildServer
- Returns:
- Executor service for short-time processes
-
removeRunningBuild
public void removeRunningBuild(@NotNull RunningBuildEx build)
- Specified by:
removeRunningBuild
in interfaceRunningBuildsManagerEx
-
getUserModel
@NotNull public UserModel getUserModel()
- Specified by:
getUserModel
in interfaceSBuildServer
- Returns:
- user model in TeamCity
-
getVcsManager
@NotNull public VcsManagerEx getVcsManager()
- Specified by:
getVcsManager
in interfaceBuildServerEx
- Specified by:
getVcsManager
in interfaceSBuildServer
- Returns:
- Manager of various registered version controls and API to register VCS support
-
getLicensingInfo
@NotNull public LicensingInfo getLicensingInfo()
- Specified by:
getLicensingInfo
in interfaceBuildServerEx
-
flushQueue
public boolean flushQueue()
Description copied from interface:SBuildServer
Check for free build agents and try to send builds from queue to build agents.- Specified by:
flushQueue
in interfaceSBuildServer
- Returns:
- true if at least one build was started
-
getTimeService
@NotNull public TimeService getTimeService()
- Specified by:
getTimeService
in interfaceRunningBuildsManagerEx
-
getRunningBuildsEx
@NotNull public List<RunningBuildEx> getRunningBuildsEx()
- Specified by:
getRunningBuildsEx
in interfaceRunningBuildsManagerEx
-
setTimeService
public void setTimeService(@NotNull TimeService timeService)
-
isStarted
public boolean isStarted()
Description copied from interface:BuildServerState
Returns true if server was started (i.e.ServerListener.serverStartup()
event happened)- Specified by:
isStarted
in interfaceBuildServerState
-
isShuttingDown
public boolean isShuttingDown()
Description copied from interface:BuildServerState
Returns true if server shutdown is in progress.- Specified by:
isShuttingDown
in interfaceBuildServerState
- Returns:
- see above
-
isDatabaseCreatedOnStartup
public boolean isDatabaseCreatedOnStartup()
- Specified by:
isDatabaseCreatedOnStartup
in interfaceSBuildServer
- Returns:
- true if new database was created during server startup.
-
getQueue
@NotNull public BuildQueueEx getQueue()
- Specified by:
getQueue
in interfaceBuildServerEx
- Specified by:
getQueue
in interfaceSBuildServer
- Returns:
- build queue manager
-
findRunningBuildById
@Nullable public final RunningBuildEx findRunningBuildById(long currentBuildId)
Description copied from interface:RunningBuildsManager
Searches for a running build by specified build id.- Specified by:
findRunningBuildById
in interfaceRunningBuildsManager
- Specified by:
findRunningBuildById
in interfaceRunningBuildsManagerEx
- Parameters:
currentBuildId
- id of the build- Returns:
- running build with specified build id or null if there are no running build with such build id.
-
getRunningBuildOnAgent
@Nullable public RunningBuildEx getRunningBuildOnAgent(SBuildAgent agent)
Description copied from interface:RunningBuildsManager
Returns running build running on the specified agent or null if there are no build on the agent.- Specified by:
getRunningBuildOnAgent
in interfaceRunningBuildsManager
- Specified by:
getRunningBuildOnAgent
in interfaceRunningBuildsManagerEx
- Parameters:
agent
- agent to search build- Returns:
- running build or null
-
getRunningBuilds
@NotNull public List<SRunningBuild> getRunningBuilds(@Nullable User user, @NotNull SBuildType buildType)
Description copied from interface:RunningBuildsManager
Returns all running builds including personal builds which belong to the specified build configuration. If user is not null then all non-personal builds and personal builds of this user will be returned. If user settings are configured to show all personal builds, then personal builds of other users will be returned as well. If user is null, then all personal and non-personal builds are returned. List of running builds is sorted by build id in reverse order (most recent build first).- Specified by:
getRunningBuilds
in interfaceRunningBuildsManager
- Parameters:
user
- owner of personal builds or nullbuildType
- build configuration- Returns:
- see above
-
processBuildFinishedOnOtherNode
public void processBuildFinishedOnOtherNode(long buildId, @NotNull Runnable callback)
- Specified by:
processBuildFinishedOnOtherNode
in interfaceRunningBuildsManagerEx
-
processBuildInterruptedOnOtherNode
public void processBuildInterruptedOnOtherNode(long buildId, @NotNull Runnable callback)
- Specified by:
processBuildInterruptedOnOtherNode
in interfaceRunningBuildsManagerEx
-
processBuildDetachedOnOtherNode
public void processBuildDetachedOnOtherNode(long buildId)
- Specified by:
processBuildDetachedOnOtherNode
in interfaceRunningBuildsManagerEx
-
processChangesLoadedOnOtherNode
public void processChangesLoadedOnOtherNode(long buildId)
- Specified by:
processChangesLoadedOnOtherNode
in interfaceRunningBuildsManagerEx
-
processBuildStartedOnOtherNode
public void processBuildStartedOnOtherNode(long buildId)
- Specified by:
processBuildStartedOnOtherNode
in interfaceRunningBuildsManagerEx
-
getRunningBuilds
@NotNull public List<SRunningBuild> getRunningBuilds(@Nullable User user, @Nullable BuildDataFilter filter)
Description copied from interface:RunningBuildsManager
Returns all running builds including personal builds according to settings of the specified user. If user is not null then all non-personal builds and personal builds of this user will be returned. If user settings are configured to show all personal builds, then personal builds of other users will be returned as well. If user is null, then all personal and non-personal builds are returned. If filter is not null it will be applied to the result. List of running builds is sorted by build id in reverse order (most recent build first).- Specified by:
getRunningBuilds
in interfaceRunningBuildsManager
- Parameters:
user
- owner of personal builds, can be nullfilter
- filter to apply for builds, can be null- Returns:
- unmodifiable list of running builds
-
getRunningBuilds
@NotNull public List<SRunningBuild> getRunningBuilds()
Description copied from interface:RunningBuildsManager
Same as getRunningBuilds(null, null) List of running builds is sorted by build id in reverse order (most recent build first).- Specified by:
getRunningBuilds
in interfaceRunningBuildsManager
- Returns:
- see above
-
getNumberOfRunningBuilds
public int getNumberOfRunningBuilds()
Description copied from interface:RunningBuildsManager
Returns total number of currently running builds.- Specified by:
getNumberOfRunningBuilds
in interfaceRunningBuildsManager
- Returns:
- number of currently running builds.
-
getRunningStatus
public Map<SBuildType,List<SRunningBuild>> getRunningStatus(@Nullable User user, @Nullable BuildDataFilter filter)
Description copied from interface:RunningBuildsManager
Returns map of running builds per build configuration. Method returns all personal builds if user is null, otherwise only personal builds of this user are returned. If filter is not null it will be applied to the result. The resulting map will contain only those build configurations for which list or running builds is not empty. List of running builds is sorted by build id in reverse order (most recent build first).- Specified by:
getRunningStatus
in interfaceRunningBuildsManager
- Parameters:
user
- owner of personal builds, can be nullfilter
- filter to apply for builds, can be null- Returns:
- unmodifiable map of running builds per build type
-
getHistory
@NotNull public BuildHistoryEx getHistory()
- Specified by:
getHistory
in interfaceBuildServerEx
- Specified by:
getHistory
in interfaceSBuildServer
- Returns:
- build history manager
-
getVcsHistory
@NotNull public VcsModificationHistoryEx getVcsHistory()
- Specified by:
getVcsHistory
in interfaceBuildServerEx
- Specified by:
getVcsHistory
in interfaceSBuildServer
- Returns:
- Manager of version control history
-
getRunTypeRegistry
@NotNull public RunTypeRegistry getRunTypeRegistry()
Description copied from interface:SBuildServer
Returns registry for various build runners, like Ant, Maven, or Duplicates.- Specified by:
getRunTypeRegistry
in interfaceSBuildServer
- Returns:
- see above
- See Also:
RunType
-
scheduleBuildFinishing
public void scheduleBuildFinishing(@NotNull RunningBuildEx rb)
- Specified by:
scheduleBuildFinishing
in interfaceRunningBuildsManagerEx
-
isCompositeBuildReadyToFinish
public boolean isCompositeBuildReadyToFinish(@NotNull CompositeRunningBuild rb)
- Specified by:
isCompositeBuildReadyToFinish
in interfaceRunningBuildsManagerEx
-
hasFinishingBuilds
public boolean hasFinishingBuilds()
- Specified by:
hasFinishingBuilds
in interfaceRunningBuildsManagerEx
-
isBuildFinishing
public boolean isBuildFinishing(long buildId)
- Specified by:
isBuildFinishing
in interfaceRunningBuildsManagerEx
-
getSQLRunner
@Deprecated public SQLRunnerEx getSQLRunner()
Deprecated.use direct SQLRunner injectionDescription copied from interface:SBuildServer
Return the interface for interaction with the SQL database of TeamCity- Specified by:
getSQLRunner
in interfaceBuildServerEx
- Specified by:
getSQLRunner
in interfaceSBuildServer
- Returns:
- see above
-
getLicenseKeysManager
@NotNull public LicenseKeysManager getLicenseKeysManager()
- Specified by:
getLicenseKeysManager
in interfaceBuildServerEx
-
getLicenseTokenManager
public LicenseTokenManager getLicenseTokenManager()
- Specified by:
getLicenseTokenManager
in interfaceBuildServerEx
-
updateLicenseKeys
public void updateLicenseKeys()
Description copied from interface:BuildServerEx
Reloads license keys from disk- Specified by:
updateLicenseKeys
in interfaceBuildServerEx
-
getLicensingPolicy
public final LicensingPolicyEx getLicensingPolicy()
- Specified by:
getLicensingPolicy
in interfaceBuildServerEx
- Specified by:
getLicensingPolicy
in interfaceSBuildServer
- Returns:
- current licensing policy.
-
getUserModelEx
public UserModelEx getUserModelEx()
- Specified by:
getUserModelEx
in interfaceBuildServerEx
-
addListener
@Deprecated public final void addListener(BuildServerListener listener)
Deprecated.use direct injection of EventDispatcherDescription copied from interface:SBuildServer
Add global TeamCity listener. Listeners should work fast, if long operation is required, use executorSBuildServer.getExecutor()
- Specified by:
addListener
in interfaceSBuildServer
- Parameters:
listener
- listener to add- See Also:
BuildServerAdapter
-
removeListener
@Deprecated public final void removeListener(BuildServerListener listener)
Deprecated.use direct injection of EventDispatcherDescription copied from interface:SBuildServer
Remove global TeamCity listener.- Specified by:
removeListener
in interfaceSBuildServer
- Parameters:
listener
- listener to remove- See Also:
BuildServerAdapter
-
getMulticaster
@Deprecated public BuildServerListener getMulticaster()
Deprecated.use direct injection of EventDispatcher- Specified by:
getMulticaster
in interfaceBuildServerEx
-
setServerRootPath
public void setServerRootPath(String absolutePath)
-
fetchData
public byte[] fetchData(long userId, long buildId, String sourceId, String value)
Description copied from interface:BuildServer
Get custom data provided by some data provider. Data providers are implementations of jetbrains.buildServer.serverSide.DataFetcher interfaces, which are registered on the server side using jetbrains.buildServer.serverSide.SBuildServer#registerExtension method.- Specified by:
fetchData
in interfaceBuildServer
- Parameters:
userId
- Id of user who tries to fetch the data from the server.buildId
- buildId parameter, which is passed to the fetchData method of DataFetcher interface implementation.sourceId
- source identifier, which was used while DataFetcher registration using SBuildServer#registerExtension method.value
- custom parameter, which is passed to the fetchData method of DataFetcher interface implementation.- Returns:
- data, returned by the corresponding implementation of DataFetcher interface, if such DataFetcher was registered; empty array if no corresponding DataFetcher found.
-
getLastStartedBuild
@Nullable public SBuild getLastStartedBuild(String buildTypeId)
- Specified by:
getLastStartedBuild
in interfaceBuildServerEx
- Specified by:
getLastStartedBuild
in interfaceRunningBuildsManagerEx
-
addRunningBuild
public void addRunningBuild(@NotNull RunningBuildEx serverRunningBuild)
- Specified by:
addRunningBuild
in interfaceRunningBuildsManagerEx
-
getProjectManager
@NotNull public ProjectManagerEx getProjectManager()
- Specified by:
getProjectManager
in interfaceBuildServerEx
- Specified by:
getProjectManager
in interfaceSBuildServer
- Returns:
- project and build configuration manager.
-
getResponsibilityIds
public List<String> getResponsibilityIds(long userId)
Description copied from interface:BuildServer
Returns all configurations specified user is currently responsible for.- Specified by:
getResponsibilityIds
in interfaceBuildServer
- Parameters:
userId
- TeamCity user unique identifier.- Returns:
- list of configuration ids (buildTypeIds) the user is responsible for.
-
getRootUrl
@NotNull public String getRootUrl()
Description copied from interface:ServerUrlProvider
Returns the server URL- Specified by:
getRootUrl
in interfaceServerUrlProvider
- Returns:
- server root URL
-
setRootUrl
public void setRootUrl(@NotNull String url)
Description copied from interface:RootUrlHolder
Sets new root URL.- Specified by:
setRootUrl
in interfaceRootUrlHolder
- Parameters:
url
- new root URL
-
isDefaultRootUrl
public boolean isDefaultRootUrl()
-
setStatusProvider
public void setStatusProvider(@NotNull StatusProvider statusProvider)
-
getStatusProvider
@NotNull public StatusProvider getStatusProvider()
- Specified by:
getStatusProvider
in interfaceSBuildServer
- Returns:
- Notification status helper. Most likely this method will be deprecated.
-
getPersonalBuildManager
public PersonalBuildManagerEx getPersonalBuildManager()
Description copied from interface:SBuildServer
Returns specific manager for personal builds.- Specified by:
getPersonalBuildManager
in interfaceBuildServerEx
- Specified by:
getPersonalBuildManager
in interfaceSBuildServer
- Returns:
- see above
-
getResposibilityFacade
@NotNull public ResponsibilityFacadeEx getResposibilityFacade()
- Specified by:
getResposibilityFacade
in interfaceBuildServerEx
-
getBuildNumber
public String getBuildNumber()
Description copied from interface:SBuildServer
Returns server build number, i.e. build number of server-side code running on the build server- Specified by:
getBuildNumber
in interfaceSBuildServer
- Returns:
- see above
-
getBuildDate
public Date getBuildDate()
- Specified by:
getBuildDate
in interfaceSBuildServer
- Returns:
- date when the build was produced
-
getServerMajorVersion
public final byte getServerMajorVersion()
Description copied from interface:SBuildServer
Get server major version, 3 for TeamCity 3.0- Specified by:
getServerMajorVersion
in interfaceSBuildServer
- Returns:
- see above
-
getServerMinorVersion
public final byte getServerMinorVersion()
Description copied from interface:SBuildServer
Get server minor version, 2 for TeamCity 1.2- Specified by:
getServerMinorVersion
in interfaceSBuildServer
- Returns:
- see above
-
getVersion
@NotNull public ServerVersionInfo getVersion()
Description copied from interface:SBuildServer
Returns server version info.- Specified by:
getVersion
in interfaceSBuildServer
- Returns:
- see above
-
getFullServerVersion
public String getFullServerVersion()
Description copied from interface:SBuildServer
Returns full server version string, including build number: TeamCity 3.0 EAP (build 4545)- Specified by:
getFullServerVersion
in interfaceSBuildServer
- Returns:
- see above
-
getDaysToLicenseExpiration
public int getDaysToLicenseExpiration()
Description copied from interface:BuildServerEx
Returns number of days till license expiration.- Specified by:
getDaysToLicenseExpiration
in interfaceBuildServerEx
- Returns:
- -1 if there are no expirable license
0 if license expired
positive integer indicating number of days till license expiration.
-
isLicenseExpiringSoon
public boolean isLicenseExpiringSoon()
- Specified by:
isLicenseExpiringSoon
in interfaceBuildServerEx
-
findPerUsageLicense
@Nullable public LicenseKey findPerUsageLicense()
- Specified by:
findPerUsageLicense
in interfaceBuildServerEx
-
getServerRootPath
public String getServerRootPath()
Description copied from interface:SBuildServer
Path to server web application, i.e. servletContext.getRealPath("/")- Specified by:
getServerRootPath
in interfaceSBuildServer
- Returns:
- see above
-
registerExtension
public final <T extends TeamCityExtension> void registerExtension(@NotNull Class<T> extensionClass, @NonNls @NotNull String sourceId, @NotNull T extension)
Description copied from interface:ExtensionHolder
Register an extension for some extension point.
NOTE. TeamCity checks Spring beans for extensions as well- Specified by:
registerExtension
in interfaceExtensionHolder
- Parameters:
extensionClass
- class of the extension, which defines the extension point typesourceId
- a unique Id for the given extension for given extension pointextension
- extension itself, implementation of the interface 'extensionClass'
-
unregisterExtension
public final <T extends TeamCityExtension> void unregisterExtension(@NotNull Class<T> extensionClass, @NonNls @NotNull String sourceId)
Description copied from interface:ExtensionHolder
Unregister an extension with given parameters registered for some extension point.- Specified by:
unregisterExtension
in interfaceExtensionHolder
- Parameters:
extensionClass
- class of the extension, which defines the extension point typesourceId
- a unique Id for the given extension for given extension point
-
getExtensions
@NotNull public final <T extends TeamCityExtension> Collection<T> getExtensions(@NotNull Class<T> extensionClass)
Description copied from interface:ExtensionsProvider
Get list of extensions for some extension point. TeamCity checks all registered Spring beans for extensions- Specified by:
getExtensions
in interfaceExtensionsProvider
- Parameters:
extensionClass
- class of the extension, which defines the extension point type- Returns:
- list of extensions for specified extension point
-
foreachExtension
public final <T extends TeamCityExtension> void foreachExtension(@NotNull Class<T> agentExtensionClass, @NotNull ExtensionsProvider.ExtensionAction<T> action)
Description copied from interface:ExtensionsProvider
Iterates over extensions of some class and executes some action on them. Exceptions fromExtensionsProvider.ExtensionAction.action(T)
are catched and logged- Specified by:
foreachExtension
in interfaceExtensionsProvider
- Parameters:
agentExtensionClass
- extension classaction
- action to execute
-
getExtensionSources
@NotNull public final <T extends TeamCityExtension> Collection<String> getExtensionSources(@NotNull Class<T> extensionClass)
Description copied from interface:ExtensionsProvider
Returns identifiers of the extensions of specified type- Specified by:
getExtensionSources
in interfaceExtensionsProvider
- Parameters:
extensionClass
- type of the extension- Returns:
- identifiers
-
getExtension
@Nullable public final <T extends TeamCityExtension> T getExtension(@NotNull Class<T> extensionClass, @NotNull String sourceId)
Description copied from interface:ExtensionsProvider
Retrieves extension registered with specified type and id- Specified by:
getExtension
in interfaceExtensionsProvider
- Parameters:
extensionClass
- extension typesourceId
- id- Returns:
- extension or null
-
getStampedExtensionsSupplier
@NotNull public <T extends TeamCityExtension,CONTEXT,TARGET> StampedExtensionsSupplier<CONTEXT,TARGET> getStampedExtensionsSupplier(@NotNull Class<T> extensionClass, @NotNull Function<StampedExtensionsSupplier.StoredData<CONTEXT,Collection<T>>,TARGET> converter)
Description copied from interface:ExtensionsProvider
Live suppler of extensions. This supplier can be safely stored in a field of some class. It is updated automatically if a new extension of a given class is registered or if outer context was changed. For example this supplier is very useful if some internal property is used to select a single extension implementation which should be used:StampedExtensionsSupplier<String, MyExtension> supplier = extensionsProvider.getStampedExtensionsSupplier(MyExtension.class, extensions -> { for (MyExtension ext : extensions.data) { if (ext.getClass().getName().equals(extensions.context)) return ext; } return new DefaultMyExtension(); }); MyExtension currentlyUsedExtension = supplier.get(TeamCityProperties.getProperty("myextension.implementationClass"));
here with each change of the "myextension.implementationClass" property the supplier will reset the internal cache and will call the provided function with the registered extensions collection and with the current context (the parameter value in this example). The internal cache is also reset automatically if the registered extensions collection changes. Without the getStampedExtensionsSupplier method, same code could be implemented with getExtensionsCollection(), but will require filtering the collection each time:ExtensionsCollection<MyExtension> allExtensions = extensionsProvider.getExtensionsCollection(MyExtension.class); MyExtension currentlyUsedExtension = null; for (MyExtension ext : allExtensions.getExtensions()) { if (ext.getClass().getName().equals(TeamCityProperties.getProperty("myextension.implementationClass"))) { currentlyUsedExtension = ext; break; } } if (currentlyUsedExtension == null) currentlyUsedExtension = new DefaultMyExtension()
- Specified by:
getStampedExtensionsSupplier
in interfaceExtensionsProvider
- Parameters:
extensionClass
- extension classconverter
- function to convert the base extension. Will be automatically applied if underlying collection should be reset (eg if a new extension is registered).- Returns:
- collection of extension
-
getSingletonService
@NotNull public final <T> T getSingletonService(@NotNull Class<T> serviceClass)
Description copied from interface:ServiceLocator
Searches for singleton service of specified type- Specified by:
getSingletonService
in interfaceServiceLocator
- Parameters:
serviceClass
- type of the service- Returns:
- found service, never null
-
findSingletonService
@Nullable public final <T> T findSingletonService(@NotNull Class<T> serviceClass)
Description copied from interface:ServiceLocator
Searches for singleton service of specified type- Specified by:
findSingletonService
in interfaceServiceLocator
- Parameters:
serviceClass
- type of the service- Returns:
- found service or null if there's no such service
-
getServices
@NotNull public final <T> Collection<T> getServices(@NotNull Class<T> serviceClass)
Description copied from interface:ServiceLocator
Searches for all bean instances of type- Specified by:
getServices
in interfaceServiceLocator
- Parameters:
serviceClass
- - type to search- Returns:
- collection of classes that implements T
-
findBuildInstanceById
@Nullable public SBuild findBuildInstanceById(long buildId)
Description copied from interface:BuildsManager
Return the build which corresponds to given buildId. Build can be running, or it can be finished.- Specified by:
findBuildInstanceById
in interfaceBuildsManager
- Parameters:
buildId
- build identifier- Returns:
- the build which corresponds to given buildId
- See Also:
Build.isFinished()
,BuildsManager.findBuildInstanceByBuildNumber(String, String)
-
findPreviousBuild
@Nullable public SBuild findPreviousBuild(@NotNull SBuild build)
Description copied from interface:BuildsManager
Finds a non personal build (running or finished) which was started before the specified build and contains same or previous changes than the specified build. The resulting build belongs to the same build configuration.- Specified by:
findPreviousBuild
in interfaceBuildsManager
- Parameters:
build
- build to find previous build for- Returns:
- previous build in same build configuration or null if there is no previous build
-
findPreviousBuild
@Nullable public SBuild findPreviousBuild(@NotNull SBuild build, @NotNull BuildDataFilter filter)
Description copied from interface:BuildsManager
Same asBuildsManager.findPreviousBuild(jetbrains.buildServer.serverSide.SBuild)
but searches for a previous build among builds accepted by the specified filter. Previous mean containing previous changes or with same changes but started before this one.- Specified by:
findPreviousBuild
in interfaceBuildsManager
- Parameters:
build
- build to find previous build forfilter
- build filter- Returns:
- previous build in same build configuration matching the specified filter or null if there is no previous build
-
findNextBuild
@Nullable public SBuild findNextBuild(@NotNull SBuild build, @NotNull BuildDataFilter filter)
Description copied from interface:BuildsManager
Returns the next non personal build (finished or running) started after the specified build.- Specified by:
findNextBuild
in interfaceBuildsManager
- Parameters:
build
- build to find next build forfilter
- build filter- Returns:
- next build in same build configuration, or null
- See Also:
BuildsManager.findPreviousBuild(SBuild, BuildDataFilter)
-
findBuildInstances
public Collection<SBuild> findBuildInstances(Collection<Long> buildIds)
Description copied from interface:BuildsManager
Returns collection of builds corresponding to the specified builds ids. Both running and finished builds can appear in the resulting collection. The collection will contain existing builds only. NOTE: RETURNED COLLECTION WILL NOT MAINTAIN REQUESTED ORDER!- Specified by:
findBuildInstances
in interfaceBuildsManager
- Parameters:
buildIds
- build identifiers to be searched for.- Returns:
- see above
-
findBuildInstanceByBuildNumber
@Nullable public SBuild findBuildInstanceByBuildNumber(@NotNull String buildTypeId, @NotNull String buildNumber)
Description copied from interface:BuildsManager
Returns the most recent build (ordered by changes) with the specified build number- Specified by:
findBuildInstanceByBuildNumber
in interfaceBuildsManager
- Parameters:
buildTypeId
- build configuration internal idbuildNumber
- build number string- Returns:
- see above
-
findBuildInstancesByBuildNumber
@NotNull public List<SBuild> findBuildInstancesByBuildNumber(@NotNull String buildTypeId, @NotNull String buildNumber)
Description copied from interface:BuildsManager
Returns builds in specified build configuration id having the specified build number. Builds are ordered by changes, i.e. the most recent build first. The list may contain personal builds too.- Specified by:
findBuildInstancesByBuildNumber
in interfaceBuildsManager
- Parameters:
buildTypeId
- build configuration internal idbuildNumber
- build number- Returns:
- see above
-
processBuilds
public void processBuilds(@NotNull BuildQueryOptions options, @NotNull ItemProcessor<SBuild> processor)
Description copied from interface:BuildsManager
Returns the builds matched by theoptions
specified.- Specified by:
processBuilds
in interfaceBuildsManager
- Parameters:
options
- query optionsprocessor
- builds processor
-
getProjectSettingsGeneratorRegistry
@NotNull public ProjectSettingsGeneratorRegistry getProjectSettingsGeneratorRegistry()
- Specified by:
getProjectSettingsGeneratorRegistry
in interfaceBuildServerEx
-
-