Package jetbrains.buildServer.artifacts
Interface URLContentRetriever
-
- All Known Implementing Classes:
CompositeURLContentRetriever
,FilesystemTransportFactory.FilesystemTransport
,HttpTransport
public interface URLContentRetriever
Artifact dependency transport. Basic transport used to retrieve artifact dependencies from build server during artifact resolution. Author: Nikita.Skvortsov Date: 1/18/11
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default String
downloadCacheTo(String url, File target)
String
downloadUrlTo(String url, File target)
Download artifact to given location.String
getDigest(String url)
Retrieve content's digest.void
interrupt()
Interrupt operation.
-
-
-
Method Detail
-
downloadCacheTo
@Nullable default String downloadCacheTo(@NotNull String url, @NotNull File target) throws IOException
- Throws:
IOException
-
downloadUrlTo
@Nullable String downloadUrlTo(@NotNull String url, @NotNull File target) throws IOException
Download artifact to given location. Implementation is expected to write file only if the content was fetched successfully- Parameters:
url
- source url to get artifact fromtarget
- target file location- Returns:
- digest of downloaded context, or null if the content can not be retrieved by this transport
- Throws:
IOException
- if operation failed, can also throwRecoverableIOException
if operation can be repeated
-
getDigest
@Nullable String getDigest(@NotNull String url) throws IOException
Retrieve content's digest. The digest will be compared with locally stored value to see if content has changed and must be downloaded again.
Implementation is expected not to download whole content to get the digest.- Parameters:
url
- source url of the artifact to retrieve digest for- Returns:
- the digest or null, if the digest can not be retrieved by this transport
- Throws:
IOException
- if operation failed
-
interrupt
void interrupt()
Interrupt operation. Interrupts current transfer operation as early as possible. Will be called from external thread, so implementation should be thread-safe. Main thread is expected to throwResolvingInterruptedException
when interrupt is received
-
-