Package aQute.bnd.maven.support
Class MavenRemoteRepository
java.lang.Object
aQute.bnd.maven.support.MavenRemoteRepository
- All Implemented Interfaces:
Plugin
,RegistryPlugin
,RepositoryPlugin
public class MavenRemoteRepository
extends Object
implements RepositoryPlugin, RegistryPlugin, Plugin
-
Nested Class Summary
Nested classes/interfaces inherited from interface aQute.bnd.service.RepositoryPlugin
RepositoryPlugin.DownloadListener, RepositoryPlugin.PutOptions, RepositoryPlugin.PutResult
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) Maven
(package private) Registry
(package private) Reporter
(package private) URI[]
Fields inherited from interface aQute.bnd.service.RepositoryPlugin
DEFAULTOPTIONS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
canWrite()
Answer if this repository can be used to store files.get
(String bsn, Version version, Map<String, String> properties, RepositoryPlugin.DownloadListener... listeners) Return a URL to a matching version of the given bundle.Return a location identifier of this repositorygetMaven()
getName()
Return a list of bsns that are present in the repository.put
(InputStream stream, RepositoryPlugin.PutOptions options) Put an artifact (from the InputStream) into the repository.
There is no guarantee that the artifact on the input stream has not been modified after it's been put in the repository since that is dependent on the implementation of the repository.void
void
setProperties
(Map<String, String> map) Give the plugin the remaining properties.void
setRegistry
(Registry registry) void
setReporter
(Reporter reporter) Set the current reporter.void
setRepositories
(URI... urls) Return a list of versions.
-
Field Details
-
Constructor Details
-
MavenRemoteRepository
public MavenRemoteRepository()
-
-
Method Details
-
get
public File get(String bsn, String version, Strategy strategy, Map<String, String> properties) throws Exception- Throws:
Exception
-
getMaven
-
canWrite
public boolean canWrite()Description copied from interface:RepositoryPlugin
Answer if this repository can be used to store files.- Specified by:
canWrite
in interfaceRepositoryPlugin
- Returns:
- true if writable
-
put
public RepositoryPlugin.PutResult put(InputStream stream, RepositoryPlugin.PutOptions options) throws Exception Description copied from interface:RepositoryPlugin
Put an artifact (from the InputStream) into the repository.
There is no guarantee that the artifact on the input stream has not been modified after it's been put in the repository since that is dependent on the implementation of the repository.- Specified by:
put
in interfaceRepositoryPlugin
- Parameters:
stream
- The input stream with the artifactoptions
- The put options. SeeRepositoryPlugin.PutOptions
, can benull
, which will then take the default options like new PutOptions().- Returns:
- The result of the put, never null. See
RepositoryPlugin.PutResult
- Throws:
Exception
- When the repository root directory doesn't exist, when the repository is read-only, when the specified checksum doesn't match the checksum of the fetched artifact (seeRepositoryPlugin.PutOptions.digest
), when the implementation wants to modify the artifact but isn't allowed, or when another error has occurred.
-
list
Description copied from interface:RepositoryPlugin
Return a list of bsns that are present in the repository.- Specified by:
list
in interfaceRepositoryPlugin
- Parameters:
regex
- A <ahref="https://en.wikipedia.org/wiki/Glob_%28programming%29"> glob pattern to be matched against bsns present in the repository, ornull
.- Returns:
- A list of bsns that match the pattern parameter or all if pattern is null; repositories that do not support browsing or querying should return an empty list.
- Throws:
Exception
-
versions
Description copied from interface:RepositoryPlugin
Return a list of versions.- Specified by:
versions
in interfaceRepositoryPlugin
- Throws:
Exception
-
getName
- Specified by:
getName
in interfaceRepositoryPlugin
- Returns:
- The name of the repository
-
setRepositories
-
setProperties
Description copied from interface:Plugin
Give the plugin the remaining properties. When a plugin is declared, the clause can contain extra properties. All the properties and directives are given to the plugin to use.- Specified by:
setProperties
in interfacePlugin
- Parameters:
map
- attributes and directives for this plugin's clause
-
setReporter
Description copied from interface:Plugin
Set the current reporter. This is called at init time. This plugin should report all errors and warnings to this reporter.- Specified by:
setReporter
in interfacePlugin
-
setRegistry
- Specified by:
setRegistry
in interfaceRegistryPlugin
-
setMaven
-
getLocation
Description copied from interface:RepositoryPlugin
Return a location identifier of this repository- Specified by:
getLocation
in interfaceRepositoryPlugin
-
get
public File get(String bsn, Version version, Map<String, String> properties, RepositoryPlugin.DownloadListener... listeners) throws ExceptionDescription copied from interface:RepositoryPlugin
Return a URL to a matching version of the given bundle. If download listeners are specified then the returned file is not guaranteed to exist before a download listener is notified of success or failure. The callback can happen before the method has returned. If the returned file is null then download listeners are not called back. The intention of the Download Listeners is to allow a caller to obtain references to files that do not yet exist but are to be downloaded. If the downloads were done synchronously in the call, then no overlap of downloads could take place.- Specified by:
get
in interfaceRepositoryPlugin
- Parameters:
bsn
- Bundle-SymbolicName of the searched bundleversion
- Version requestedlisteners
- Zero or more download listener that will be notified of the outcome.- Returns:
- A file to the revision or null if not found
- Throws:
Exception
- when anything goes wrong, in this case no listeners will be called back.
-