Class CompositeBuildArtifacts
- java.lang.Object
-
- jetbrains.buildServer.serverSide.impl.artifacts.BuildArtifactsBase
-
- jetbrains.buildServer.serverSide.impl.artifacts.CompositeBuildArtifacts
-
- All Implemented Interfaces:
BuildArtifacts
public final class CompositeBuildArtifacts extends BuildArtifactsBase
Represents a container which allows to combine artifacts from multiple providers (e. g.: internal and external ones, or artifacts from different builds). Not related to composite builds.
- Author:
- vbedrosova
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jetbrains.buildServer.serverSide.impl.artifacts.BuildArtifactsBase
BuildArtifactsBase.BreakException
-
Nested classes/interfaces inherited from interface jetbrains.buildServer.serverSide.artifacts.BuildArtifacts
BuildArtifacts.BuildArtifactsProcessor
-
-
Field Summary
-
Fields inherited from class jetbrains.buildServer.serverSide.impl.artifacts.BuildArtifactsBase
COMPARATOR, myBuildPromotion, myFilter, mySecurityContext
-
-
Constructor Summary
Constructors Constructor Description CompositeBuildArtifacts(BuildArtifacts artifacts, File baseFolder, ArtifactsGuard guard, BuildPromotion buildPromotion, SecurityContext securityContext, ArtifactsFilter filter)Creates a new flat view of the artifacts from a single artifact provider.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BuildArtifactHolderfindArtifact(String relativePath)Returns artifact holder for requested artifact path.List<BuildArtifacts>getArtifactProviders()BuildArtifactgetRootArtifact()booleanisAvailable()Checks if build contains available artifactsvoiditerateArtifacts(BuildArtifacts.BuildArtifactsProcessor processor)Iterates among all build artifacts calling given processor for every new found artifact.-
Methods inherited from class jetbrains.buildServer.serverSide.impl.artifacts.BuildArtifactsBase
checkAccess, checkVisibility, foundAccessible, getArtifact, iterate, normalizePath, notAccessible, notFound, toString, toStringItem
-
-
-
-
Constructor Detail
-
CompositeBuildArtifacts
public CompositeBuildArtifacts(@NotNull BuildArtifacts artifacts, @NotNull File baseFolder, @NotNull ArtifactsGuard guard, @NotNull BuildPromotion buildPromotion, @NotNull SecurityContext securityContext, @NotNull ArtifactsFilter filter)Creates a new flat view of the artifacts from a single artifact provider.
- Parameters:
artifacts- the artifacts to wrap, either from the same build or (for composite builds) from artifact dependencies.baseFolder- usually the common server-side artifact directory for the given build (localartifactsinternally hold the same value). Only used for file system locking purposes and not really needed (may even be a nonexistent path).guard- encapsulates the hierarchical RW-lock used to separate file system readers and writers.buildPromotion- the corresponding build promotion. For the artifacts of composite builds,artifactswill reference build promotions that correspond to artifact dependencies.securityContext- the security context (artifactsholds the same reference).filter- the artifact filter.
-
-
Method Detail
-
getRootArtifact
@NotNull public BuildArtifact getRootArtifact()
- Returns:
- root artifact directory item
- See Also:
BuildArtifacts.getRootArtifact()
-
isAvailable
public boolean isAvailable()
Checks if build contains available artifacts- Specified by:
isAvailablein interfaceBuildArtifacts- Overrides:
isAvailablein classBuildArtifactsBase- Returns:
- true if there are some available artifacts
- See Also:
BuildArtifactsBase.isAvailable()
-
findArtifact
@NotNull public BuildArtifactHolder findArtifact(@NotNull String relativePath)
Returns artifact holder for requested artifact path. Use this method if you need detailed information on why you cannot see an artifact by given relative path- Specified by:
findArtifactin interfaceBuildArtifacts- Overrides:
findArtifactin classBuildArtifactsBase- Parameters:
relativePath- relative path to find artifact- Returns:
- artifact holder object representing an artifact, even if build have no such artifact or you do not have rights to see it
- See Also:
BuildArtifactsBase.findArtifact(String)
-
iterateArtifacts
public void iterateArtifacts(@NotNull BuildArtifacts.BuildArtifactsProcessor processor)Iterates among all build artifacts calling given processor for every new found artifact. Iteration is done as depth-first search. Artifacts are read-locked withArtifactsGuardwhile processing files- Specified by:
iterateArtifactsin interfaceBuildArtifacts- Overrides:
iterateArtifactsin classBuildArtifactsBase- Parameters:
processor- found artifacts processor- See Also:
BuildArtifactsBase.iterateArtifacts(BuildArtifactsProcessor)
-
getArtifactProviders
@NotNull public List<BuildArtifacts> getArtifactProviders()
-
-