Package jetbrains.buildServer.agent.impl
Class AgentBuildSettingsImpl
- java.lang.Object
-
- jetbrains.buildServer.agent.impl.AgentBuildSettingsImpl
-
- All Implemented Interfaces:
AgentBuildSettings,AgentBuildSettingsEx
public class AgentBuildSettingsImpl extends Object implements AgentBuildSettingsEx
- Author:
- Eugene Petrenko Created: 04.06.2010 13:51:06
-
-
Constructor Summary
Constructors Constructor Description AgentBuildSettingsImpl(AgentBuild agentBuild, BuildAgentConfiguration configuration, BuildProgressLogger logger, BuildParametersMapsFactory mapsFactory, PasswordReplacer passwordReplacer)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidcleanParameters()StringgetAccessCode()Returns build access code used to download artifactsStringgetAccessUser()Get user name to be used to execute authenticated requests on behalf of build to TeamCity server.BuildAgentConfigurationgetAgentConfiguration()Build agent configuration of the build agent.FilegetAgentTempDirectory()Returns temporary directory which has the same lifecycle as build temporary directory.List<ArtifactDependencyInfo>getArtifactDependencies()Returns artifact dependenciesMap<String,String>getArtifactStorageSettings()StringgetBuildCurrentVersion(VcsRoot vcsRoot)Returns current version of the specified VCS rootlonggetBuildId()Returns id of the buildBuildProgressLoggergetBuildLogger()Returns logger which can be used to log messages to the build log on server.StringgetBuildPreviousVersion(VcsRoot vcsRoot)Returns previous version of the specified VCS rootList<BuildRunnerSettings>getBuildRunners()FilegetBuildTempDirectory()Returns build temporary directory.StringgetBuildTypeExternalId()Returns external build configuration idStringgetBuildTypeId()Returns internal build configuration idStringgetBuildTypeName()Returns name of build configuration (on the moment of build starting)<T> TgetBuildTypeOptionValue(Option<T> option)Returns value of the specified build configuration optionAgentBuild.CheckoutTypegetCheckoutType()Returns Checkout Type that was sent by server in the settings of the build.longgetCleanCheckoutEnforcedBuildId()FilegetDefaultCheckoutDirectory()Deprecated.longgetExecutionTimeoutMinutes()Returns build execution timeout in minutes, 0 indicates that there is no limitFullCheckoutFlaggetFullCheckoutFlag()StringgetOwnerNodeId()Map<String,String>getParametersSpecMap()Returns a map of parameters spec strings.PasswordReplacergetPasswordReplacer()List<VcsChangeInfo>getPersonalVcsChanges()Returns list of changed files modified in personal changelist (if build is non personal returns empty list)StringgetProjectName()Returns name of the project (on the moment of build starting)StringgetUnresolvedArtifactPaths()StringgetUnresolvedBuildCheckoutDirectory()Collection<BuildFeatureInfo>getUnresolvedBuildFeatures()Map<String,String>getUnresolvedBuildParameters()Map<String,String>getUnresolvedConfigParameters()List<BuildRunnerData>getUnresolvedRunnersSettings()Map<String,String>getUnresolvedServerParameters()Collection<String>getUserDefinedReferences()Collection<String>getUserParameterNames()List<VcsChangeInfo>getVcsChanges()Returns list of changed files in this build (excluding files modified in personal changelist if build is personal)List<VcsRootEntry>getVcsRootEntries()Returns VCS root entries associated with this build, i.e.StringgetVcsSettingsHashForCheckoutMode(AgentCheckoutMode agentCheckoutMode)Returns vcs settings hash for the specified checkout mode, seeAgentRunningBuild.getEffectiveCheckoutMode()This hash is used as a default checkout directory name if explicit checkout directory is not defined.booleanisCheckoutOnAgent()Returns true ifAgentBuildSettings.getCheckoutType()returnsAgentBuild.CheckoutType.ON_AGENTSince 10.0, this method may return false even if checkout will be performed on Agent.booleanisCheckoutOnServer()Returns true ifAgentBuildSettings.getCheckoutType()returnsAgentBuild.CheckoutType.ON_SERVERSince 10.0, this method may return false even if checkout will be performed on Server.booleanisCleanBuild()Returns true if files should be cleaned before buildbooleanisCustomCheckoutDirectory()Returns true if custom checkout directory is specified.booleanisPersonal()Returns true if build is personalbooleanisPersonalPatchAvailable()
-
-
-
Constructor Detail
-
AgentBuildSettingsImpl
public AgentBuildSettingsImpl(@NotNull AgentBuild agentBuild, @NotNull BuildAgentConfiguration configuration, @NotNull BuildProgressLogger logger, @NotNull BuildParametersMapsFactory mapsFactory, @NotNull PasswordReplacer passwordReplacer)
-
-
Method Detail
-
getBuildId
public final long getBuildId()
Description copied from interface:AgentBuildSettingsReturns id of the build- Specified by:
getBuildIdin interfaceAgentBuildSettings- Returns:
- build id
-
isCleanBuild
public final boolean isCleanBuild()
Description copied from interface:AgentBuildSettingsReturns true if files should be cleaned before build- Specified by:
isCleanBuildin interfaceAgentBuildSettings- Returns:
- see above
-
isPersonal
public final boolean isPersonal()
Description copied from interface:AgentBuildSettingsReturns true if build is personal- Specified by:
isPersonalin interfaceAgentBuildSettings- Returns:
- see above
-
isPersonalPatchAvailable
public final boolean isPersonalPatchAvailable()
- Specified by:
isPersonalPatchAvailablein interfaceAgentBuildSettings- Returns:
- true if this personal build has personal patch.
-
isCheckoutOnAgent
public final boolean isCheckoutOnAgent()
Description copied from interface:AgentBuildSettingsReturns true ifAgentBuildSettings.getCheckoutType()returnsAgentBuild.CheckoutType.ON_AGENTSince 10.0, this method may return false even if checkout will be performed on Agent. It is possible if checkout type setting is set to AUTO and is resolved to the Agent-Side checkout.- Specified by:
isCheckoutOnAgentin interfaceAgentBuildSettings- See Also:
AgentBuildSettings.getCheckoutType()
-
isCheckoutOnServer
public final boolean isCheckoutOnServer()
Description copied from interface:AgentBuildSettingsReturns true ifAgentBuildSettings.getCheckoutType()returnsAgentBuild.CheckoutType.ON_SERVERSince 10.0, this method may return false even if checkout will be performed on Server. It is possible if checkout type setting is set to AUTO and is resolved to the Server-Side checkout.- Specified by:
isCheckoutOnServerin interfaceAgentBuildSettings- See Also:
AgentBuildSettings.getCheckoutType()
-
getCheckoutType
@NotNull public AgentBuild.CheckoutType getCheckoutType()
Description copied from interface:AgentBuildSettingsReturns Checkout Type that was sent by server in the settings of the build.- Specified by:
getCheckoutTypein interfaceAgentBuildSettings- See Also:
AgentRunningBuild.getEffectiveCheckoutMode()
-
getExecutionTimeoutMinutes
public final long getExecutionTimeoutMinutes()
Description copied from interface:AgentBuildSettingsReturns build execution timeout in minutes, 0 indicates that there is no limit- Specified by:
getExecutionTimeoutMinutesin interfaceAgentBuildSettings- Returns:
- build execution timeout
-
getPasswordReplacer
@NotNull public PasswordReplacer getPasswordReplacer()
- Specified by:
getPasswordReplacerin interfaceAgentBuildSettingsEx- Returns:
- instance of PasswordReplacer which can be used to replace passwords known to current build in different logs or files
-
getArtifactDependencies
@NotNull public final List<ArtifactDependencyInfo> getArtifactDependencies()
Description copied from interface:AgentBuildSettingsReturns artifact dependencies- Specified by:
getArtifactDependenciesin interfaceAgentBuildSettings- Returns:
- artifact dependencies
-
getAccessUser
@NotNull public String getAccessUser()
Description copied from interface:AgentBuildSettingsGet user name to be used to execute authenticated requests on behalf of build to TeamCity server. For password seeAgentBuildSettings.getAccessCode()- Specified by:
getAccessUserin interfaceAgentBuildSettings- Returns:
- user name
- See Also:
AgentBuildSettings.getAccessCode()
-
getAccessCode
@NotNull public final String getAccessCode()
Description copied from interface:AgentBuildSettingsReturns build access code used to download artifacts- Specified by:
getAccessCodein interfaceAgentBuildSettings- Returns:
- build access code
- See Also:
AgentBuildSettings.getAccessUser()
-
getVcsRootEntries
@NotNull public final List<VcsRootEntry> getVcsRootEntries()
Description copied from interface:AgentBuildSettingsReturns VCS root entries associated with this build, i.e. build configuration VCS root entries on the moment of build starting.- Specified by:
getVcsRootEntriesin interfaceAgentBuildSettings- Returns:
- see above
-
getBuildCurrentVersion
public final String getBuildCurrentVersion(@NotNull VcsRoot vcsRoot)
Description copied from interface:AgentBuildSettingsReturns current version of the specified VCS root- Specified by:
getBuildCurrentVersionin interfaceAgentBuildSettings- Parameters:
vcsRoot- VCS root- Returns:
- see above
-
getBuildPreviousVersion
public final String getBuildPreviousVersion(@NotNull VcsRoot vcsRoot)
Description copied from interface:AgentBuildSettingsReturns previous version of the specified VCS root- Specified by:
getBuildPreviousVersionin interfaceAgentBuildSettings- Parameters:
vcsRoot- VCS root- Returns:
- see above
-
getBuildTypeId
@NotNull public final String getBuildTypeId()
Description copied from interface:AgentBuildSettingsReturns internal build configuration id- Specified by:
getBuildTypeIdin interfaceAgentBuildSettings- Returns:
- internal build configuration id
-
getBuildTypeExternalId
@NotNull public String getBuildTypeExternalId()
Description copied from interface:AgentBuildSettingsReturns external build configuration id- Specified by:
getBuildTypeExternalIdin interfaceAgentBuildSettings- Returns:
- external build configuration id
-
isCustomCheckoutDirectory
public final boolean isCustomCheckoutDirectory()
Description copied from interface:AgentBuildSettingsReturns true if custom checkout directory is specified.- Specified by:
isCustomCheckoutDirectoryin interfaceAgentBuildSettings- Returns:
- true if custom checkout directory is specified
-
getVcsChanges
@NotNull public final List<VcsChangeInfo> getVcsChanges()
Description copied from interface:AgentBuildSettingsReturns list of changed files in this build (excluding files modified in personal changelist if build is personal)- Specified by:
getVcsChangesin interfaceAgentBuildSettings- Returns:
- list of changed files in this build (excluding personal changes)
-
getPersonalVcsChanges
@NotNull public final List<VcsChangeInfo> getPersonalVcsChanges()
Description copied from interface:AgentBuildSettingsReturns list of changed files modified in personal changelist (if build is non personal returns empty list)- Specified by:
getPersonalVcsChangesin interfaceAgentBuildSettings- Returns:
- list of changed files modified in personal changelist
-
getBuildTempDirectory
@NotNull public final File getBuildTempDirectory()
Description copied from interface:AgentBuildSettingsReturns build temporary directory. Before TeamCity 2023.05: it was cleaned before the build is started (afterAgentLifeCycleListener.buildStarted(AgentRunningBuild), but beforeAgentLifeCycleListener.preparationFinished(AgentRunningBuild)) Since TeamCity 2023.05: it is created and cleaned beforeAgentLifeCycleListener.buildStarted(AgentRunningBuild)event It is intended to be set as temporary folder for running build process. In general build process may do whatever it need with this directory contents. Consider usingAgentBuildSettings.getAgentTempDirectory()to store temporary files that are created by any build running code on the build agent.- Specified by:
getBuildTempDirectoryin interfaceAgentBuildSettings- Returns:
- build temp dir
-
getAgentTempDirectory
@NotNull public final File getAgentTempDirectory()
Description copied from interface:AgentBuildSettingsReturns temporary directory which has the same lifecycle as build temporary directory. Before TeamCity 2023.05: it was cleaned before the build is started (afterAgentLifeCycleListener.buildStarted(AgentRunningBuild), but beforeAgentLifeCycleListener.preparationFinished(AgentRunningBuild)) Since TeamCity 2023.05: it is created and cleaned beforeAgentLifeCycleListener.buildStarted(AgentRunningBuild)event This directory is intended to be used to store any build-related files generated by the agent plugins. This folder is not intended to be used as build process temp directory.- Specified by:
getAgentTempDirectoryin interfaceAgentBuildSettings- Returns:
- see above
-
getBuildLogger
@NotNull public final BuildProgressLogger getBuildLogger()
Description copied from interface:AgentBuildSettingsReturns logger which can be used to log messages to the build log on server.- Specified by:
getBuildLoggerin interfaceAgentBuildSettings- Returns:
- logger for various build messages
-
getAgentConfiguration
@NotNull public final BuildAgentConfiguration getAgentConfiguration()
Description copied from interface:AgentBuildSettingsBuild agent configuration of the build agent.- Specified by:
getAgentConfigurationin interfaceAgentBuildSettings- Returns:
- build agent configuration of the build agent
-
getBuildTypeOptionValue
public final <T> T getBuildTypeOptionValue(@NotNull Option<T> option)Description copied from interface:AgentBuildSettingsReturns value of the specified build configuration option- Specified by:
getBuildTypeOptionValuein interfaceAgentBuildSettings- Type Parameters:
T- type of the value- Parameters:
option- build configuration option- Returns:
- value
-
getProjectName
public final String getProjectName()
Description copied from interface:AgentBuildSettingsReturns name of the project (on the moment of build starting)- Specified by:
getProjectNamein interfaceAgentBuildSettings- Returns:
- name of the project
-
getBuildTypeName
public final String getBuildTypeName()
Description copied from interface:AgentBuildSettingsReturns name of build configuration (on the moment of build starting)- Specified by:
getBuildTypeNamein interfaceAgentBuildSettings- Returns:
- name of build configuration
-
getUnresolvedBuildCheckoutDirectory
@NotNull public String getUnresolvedBuildCheckoutDirectory()
- Specified by:
getUnresolvedBuildCheckoutDirectoryin interfaceAgentBuildSettingsEx
-
cleanParameters
public void cleanParameters()
- Specified by:
cleanParametersin interfaceAgentBuildSettingsEx
-
getOwnerNodeId
@Nullable public String getOwnerNodeId()
- Specified by:
getOwnerNodeIdin interfaceAgentBuildSettingsEx
-
getDefaultCheckoutDirectory
@Deprecated @NotNull public File getDefaultCheckoutDirectory()
Deprecated.- Specified by:
getDefaultCheckoutDirectoryin interfaceAgentBuildSettings- Returns:
- default checkout directory which will be used if custom checkout directory is not specified.
-
getUnresolvedArtifactPaths
public String getUnresolvedArtifactPaths()
- Specified by:
getUnresolvedArtifactPathsin interfaceAgentBuildSettingsEx
-
getUnresolvedServerParameters
@NotNull public Map<String,String> getUnresolvedServerParameters()
- Specified by:
getUnresolvedServerParametersin interfaceAgentBuildSettingsEx
-
getUnresolvedBuildParameters
@NotNull public Map<String,String> getUnresolvedBuildParameters()
- Specified by:
getUnresolvedBuildParametersin interfaceAgentBuildSettingsEx
-
getUnresolvedConfigParameters
@NotNull public Map<String,String> getUnresolvedConfigParameters()
- Specified by:
getUnresolvedConfigParametersin interfaceAgentBuildSettingsEx- Returns:
- server provided configuration parameters
-
getUnresolvedRunnersSettings
@NotNull public List<BuildRunnerData> getUnresolvedRunnersSettings()
- Specified by:
getUnresolvedRunnersSettingsin interfaceAgentBuildSettingsEx
-
getUserParameterNames
@NotNull public Collection<String> getUserParameterNames()
- Specified by:
getUserParameterNamesin interfaceAgentBuildSettingsEx
-
getUserDefinedReferences
@NotNull public Collection<String> getUserDefinedReferences()
- Specified by:
getUserDefinedReferencesin interfaceAgentBuildSettingsEx
-
getFullCheckoutFlag
@NotNull public FullCheckoutFlag getFullCheckoutFlag()
- Specified by:
getFullCheckoutFlagin interfaceAgentBuildSettingsEx
-
getUnresolvedBuildFeatures
@NotNull public Collection<BuildFeatureInfo> getUnresolvedBuildFeatures()
- Specified by:
getUnresolvedBuildFeaturesin interfaceAgentBuildSettingsEx
-
getVcsSettingsHashForCheckoutMode
@NotNull public String getVcsSettingsHashForCheckoutMode(AgentCheckoutMode agentCheckoutMode)
Description copied from interface:AgentBuildSettingsReturns vcs settings hash for the specified checkout mode, seeAgentRunningBuild.getEffectiveCheckoutMode()This hash is used as a default checkout directory name if explicit checkout directory is not defined.- Specified by:
getVcsSettingsHashForCheckoutModein interfaceAgentBuildSettings- Parameters:
agentCheckoutMode- how checkout will be performed
-
getBuildRunners
@NotNull public List<BuildRunnerSettings> getBuildRunners()
- Specified by:
getBuildRunnersin interfaceAgentBuildSettings- Returns:
- list of build runners settings associated with this build
-
getParametersSpecMap
@NotNull public Map<String,String> getParametersSpecMap()
Description copied from interface:AgentBuildSettingsExReturns a map of parameters spec strings. ParametersUtil could be used to create ControlDescription instance from a string. Specs should not change during the build. The map contain only those parameter keys which have a spec.- Specified by:
getParametersSpecMapin interfaceAgentBuildSettingsEx
-
getArtifactStorageSettings
@NotNull public Map<String,String> getArtifactStorageSettings()
- Specified by:
getArtifactStorageSettingsin interfaceAgentBuildSettingsEx
-
getCleanCheckoutEnforcedBuildId
public long getCleanCheckoutEnforcedBuildId()
- Specified by:
getCleanCheckoutEnforcedBuildIdin interfaceAgentBuildSettingsEx
-
-