@Mojo(name="deploy-file",
requiresProject=false)
public class BundleDeployFileMojo
extends org.apache.maven.plugin.AbstractMojo
sling.file
to an OSGi Bundle Repository accepting the bundle. The plugin uses
a multipart/format-data POST request to just post the file to
the URL configured in the obr
property.Modifier and Type | Field and Description |
---|---|
protected boolean |
failOnError
Determines whether or not to fail the build if
the HTTP POST or PUT returns an non-OK response code.
|
protected String |
slingConsoleUrl
The WebConsole URL of the running Sling instance.
|
protected String |
slingUrl
The URL of the running Sling instance.
|
protected String |
slingUrlSuffix
An optional url suffix which will be appended to the
sling.url
for use as the real target url. |
Constructor and Description |
---|
BundleDeployFileMojo() |
Modifier and Type | Method and Description |
---|---|
protected File |
changeVersion(File file,
String oldVersion,
String newVersion)
Change the version in jar
|
void |
execute()
Execute this Mojo
|
protected File |
fixBundleVersion(File jarFile)
Optionally fixes up the version of the bundle given in the jar File.
|
protected String |
getBundleSymbolicName(File jarFile)
Returns the symbolic name of the given bundle.
|
protected String |
getConsoleTargetURL() |
protected org.apache.commons.httpclient.HttpClient |
getHttpClient() |
protected String |
getJarFileName()
Returns the path and name of the jar file containing the bundle to be
uploaded.
|
protected String |
getTargetURL() |
@Parameter(property="sling.url", defaultValue="http://localhost:8080/system/console", required=true) protected String slingUrl
The default is only useful for WebConsole deployment.
For WebDAV deployment it is recommended to include the Sling Simple WebDAV servlet root, for instance http://localhost:8080/dav/default/libs/sling/install. Omitting the dav/default segment can lead to conflicts with other servlets.
@Parameter(property="sling.console.url") protected String slingConsoleUrl
@Parameter(property="sling.urlSuffix") protected String slingUrlSuffix
sling.url
for use as the real target url. This allows to configure different target URLs
in each POM, while using the same common sling.url
in a parent
POM (eg. sling.url=http://localhost:8080
and
sling.urlSuffix=/project/specific/path
). This is typically used
in conjunction with WebDAV or SlingPostServlet deployment methods.@Parameter(property="sling.failOnError", defaultValue="true", required=true) protected boolean failOnError
protected String getJarFileName() throws org.apache.maven.plugin.MojoExecutionException
null
name but
throws a MojoExecutionException
if the name is not known.null
.org.apache.maven.plugin.MojoExecutionException
- If the name of the file is not known
because it might not have been configured.protected File fixBundleVersion(File jarFile)
jarFile
may just be
returned.jarFile
- The file whose bundle version should be fixedjarFile
if the version was not fixed.public void execute() throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected File changeVersion(File file, String oldVersion, String newVersion) throws org.apache.maven.plugin.MojoExecutionException
file
- FileoldVersion
- Old versionnewVersion
- New versionorg.apache.maven.plugin.MojoExecutionException
- Exceptionprotected String getBundleSymbolicName(File jarFile)
jarFile
does not contain a manifest with a
Bundle-SymbolicName
header null
is
returned. Otherwise the value of the Bundle-SymbolicName
header is returned.
This method may also be used to check whether the file is a bundle at all
as it is assumed, that only if the file contains an OSGi bundle will the
Bundle-SymbolicName
manifest header be set.
jarFile
- The file providing the bundle whose symbolic name is
requested.Bundle-SymbolicName
manifest header or
null
if no manifest exists in the file or the
header is not contained in the manifest. However, if
null
is returned, the file may be assumed to not
contain an OSGi bundle.protected String getTargetURL()
sling.url
and sling.urlSuffix
.protected String getConsoleTargetURL()
sling.console.url
and sling.urlSuffix
.protected org.apache.commons.httpclient.HttpClient getHttpClient()
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.