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 RepositoryPlugin
RepositoryPlugin.DownloadListener, RepositoryPlugin.PutOptions, RepositoryPlugin.PutResult -
Field Summary
Fields inherited from interface RepositoryPlugin
DEFAULTOPTIONS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanWrite()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.voidvoidsetProperties(Map<String, String> map) Give the plugin the remaining properties.voidsetRegistry(Registry registry) voidsetReporter(aQute.service.reporter.Reporter reporter) Set the current reporter.voidsetRepositories(URI... urls) Return a list of versions.
-
Constructor Details
-
MavenRemoteRepository
public MavenRemoteRepository()
-
-
Method Details
-
get
-
getMaven
-
canWrite
public boolean canWrite()Description copied from interface:RepositoryPluginAnswer if this repository can be used to store files.- Specified by:
canWritein interfaceRepositoryPlugin- Returns:
- true if writable
-
put
public RepositoryPlugin.PutResult put(InputStream stream, RepositoryPlugin.PutOptions options) throws Exception Description copied from interface:RepositoryPluginPut 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:
putin 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:RepositoryPluginReturn a list of bsns that are present in the repository.- Specified by:
listin interfaceRepositoryPlugin- Parameters:
regex- A invalid input: '<'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:RepositoryPluginReturn a list of versions.- Specified by:
versionsin interfaceRepositoryPlugin- Throws:
Exception
-
getName
- Specified by:
getNamein interfaceRepositoryPlugin- Returns:
- The name of the repository
-
setRepositories
-
setProperties
Description copied from interface:PluginGive 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:
setPropertiesin interfacePlugin- Parameters:
map- attributes and directives for this plugin's clause
-
setReporter
public void setReporter(aQute.service.reporter.Reporter reporter) Description copied from interface:PluginSet the current reporter. This is called at init time. This plugin should report all errors and warnings to this reporter.- Specified by:
setReporterin interfacePlugin- Parameters:
reporter-
-
setRegistry
- Specified by:
setRegistryin interfaceRegistryPlugin
-
setMaven
-
getLocation
Description copied from interface:RepositoryPluginReturn a location identifier of this repository- Specified by:
getLocationin interfaceRepositoryPlugin
-
get
public File get(String bsn, Version version, Map<String, String> properties, RepositoryPlugin.DownloadListener... listeners) throws ExceptionDescription copied from interface:RepositoryPluginReturn 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:
getin 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.
-