h1

What can I do with the MAVEN-VAULT-PLUGIN from Adobe for CRX/CQ?

March 22, 2012

The adobe maven vault plugin is very powerful, however, it seems not to be documented that well. Fear not, there is a way to look at all the options available by just executing the following command line:

mvn vault:help

Adobe File Vault Maven Plugin
Maven Plugin supporting various File Vault tasks

This plugin has 8 goals:

vault:build
Builds a content package defined on a remote CRX or Communique 5 system.

vault:help
Display help information on maven-vault-plugin.
Call
mvn vault:help -Ddetail=true -Dgoal=
to display parameter details.

vault:install
Install a Content Package on a remote CRX or Communique 5 system.

vault:ls
Lists packages installed on remote CRX or Communique 5 system.

vault:package
(no description available)

vault:rm
Removes a content package installed on a remote CRX or Communique 5 system.

vault:share
Share a Content Package on Adobe Package Share

vault:uninstall
Uninstalls a content package installed on a remote CRX or Communique 5 system.


As seen above, there is an option to get more detailed help (-Ddetail=true) that will give you the following output:

Adobe File Vault Maven Plugin
Maven Plugin supporting various File Vault tasks

This plugin has 8 goals:

vault:build
Builds a content package defined on a remote CRX or Communique 5 system.

Available parameters:

name
The name of the package to remove on the target system.

password (Default: admin)
The password to authenticate against the remote CRX system.

serverId
The server id with which to get the username and password from the user's
settings file.

targetURL (Default: http://localhost:4502/crx/packmgr/service.jsp)
The URL to the HTTP service API of the CRX package manager. See HTTP
Service Interface for details on this interface.

timeout (Default: 5)
The connection timeout to set when communicating with the package manager
service. Default value is 5 seconds. Value is specified in seconds.

useProxy (Default: true)
Setting this to false disables considering the use of any of the active
proxies configured in the Maven Settings. By default the first active
proxy configuration in the Maven Settings is used to proxy any request to
the package manager.

userId (Default: admin)
The user name to authenticate as against the remote CRX system.

verbose (Default: false)
Enable verbose logging when set to true.

vault:help
Display help information on maven-vault-plugin.
Call
mvn vault:help -Ddetail=true -Dgoal=
to display parameter details.

Available parameters:

detail (Default: false)
If true, display all settable properties for each goal.

goal
The name of the goal for which to show help. If unspecified, all goals
will be displayed.

indentSize (Default: 2)
The number of spaces per indentation level, should be positive.

lineLength (Default: 80)
The maximum length of a display line, should be positive.

vault:install
Install a Content Package on a remote CRX or Communique 5 system.

Available parameters:

artifact
A string of the form groupId:artifactId:version[:packaging].

artifactId
The artifactId of the artifact to install

groupId
The groupId of the artifact to install

install (Default: true)
Whether to install (unpack) the uploaded package automatically or not.

name (Default: ${project.artifactId})
The name of the content package

packageFile
The name of the content package file to install on the target system. If
not set, the primary artifact of the project is considered the content
package to be installed.

packaging (Default: zip)
The packaging of the artifact to install

password (Default: admin)
The password to authenticate against the remote CRX system.

repositoryId (Default: temp)
The id of the repository from which we'll download the artifact

repositoryUrl
The url of the repository from which we'll download the artifact

serverId
The server id with which to get the username and password from the user's
settings file.

targetURL (Default: http://localhost:4502/crx/packmgr/service.jsp)
The URL to the HTTP service API of the CRX package manager. See HTTP
Service Interface for details on this interface.

timeout (Default: 5)
The connection timeout to set when communicating with the package manager
service. Default value is 5 seconds. Value is specified in seconds.

useProxy (Default: true)
Setting this to false disables considering the use of any of the active
proxies configured in the Maven Settings. By default the first active
proxy configuration in the Maven Settings is used to proxy any request to
the package manager.

userId (Default: admin)
The user name to authenticate as against the remote CRX system.

verbose (Default: false)
Enable verbose logging when set to true.

version
The version of the artifact to install

vault:ls
Lists packages installed on remote CRX or Communique 5 system.

Available parameters:

password (Default: admin)
The password to authenticate against the remote CRX system.

serverId
The server id with which to get the username and password from the user's
settings file.

targetURL (Default: http://localhost:4502/crx/packmgr/service.jsp)
The URL to the HTTP service API of the CRX package manager. See HTTP
Service Interface for details on this interface.

timeout (Default: 5)
The connection timeout to set when communicating with the package manager
service. Default value is 5 seconds. Value is specified in seconds.

useProxy (Default: true)
Setting this to false disables considering the use of any of the active
proxies configured in the Maven Settings. By default the first active
proxy configuration in the Maven Settings is used to proxy any request to
the package manager.

userId (Default: admin)
The user name to authenticate as against the remote CRX system.

verbose (Default: false)
Enable verbose logging when set to true.

vault:package
(no description available)

Available parameters:

archive
The archive configuration to use. See the documentation for Maven
Archiver.

classesDirectory (Default: ${project.build.outputDirectory})
The directory containing the content to be packaged up into the content
package.

dependencies
(no description available)

embeddeds
(no description available)

embeddedTarget
(no description available)

filters
Defines the content of the filter.xml file

finalName (Default: ${project.build.finalName})
The name of the generated package ZIP file without the '.zip' file
extension.

group (Default: ${project.groupId})
The groupId used for the generated content package. This will be part of
the target installation path of the content package.

hotfix
Defines information about the generated hotfix. Specifically the hotfix id
must be defined for this project to be considered a hotfix.

name (Default: ${project.artifactId})
The name of the content package

outputDirectory (Default: ${project.build.directory})
(no description available)

prefix
(no description available)

properties
Specifies additional properties to be set in the properties.xml file.
These properties cannot overwrite the following predefined properties:
group
Use group parameter to set
name
Use name parameter to set
version
Use version parameter to set
description
Set from the project description
groupId
groupId of the Maven project descriptor
artifactId
artifactId of the Maven project descriptor
dependencies
Use dependencies parameter to set
createdBy
The value of the user.name system property
created
The current system time
requiresRoot
Use requiresRoot parameter to set
packagePath
Automatically generated from the group and package name

requiresRoot (Default: false)
Defines whether the package requires the root. This will become the
requiresRoot property of the properties.xml file.

subPackages
(no description available)

version (Default: ${project.version})
The version of the content package.

workDirectory (Default: ${project.build.directory}/vault-work)
The directory containing the content to be packaged up into the content
package.

vault:rm
Removes a content package installed on a remote CRX or Communique 5 system.

Available parameters:

name
The name of the package to remove on the target system.

password (Default: admin)
The password to authenticate against the remote CRX system.

serverId
The server id with which to get the username and password from the user's
settings file.

targetURL (Default: http://localhost:4502/crx/packmgr/service.jsp)
The URL to the HTTP service API of the CRX package manager. See HTTP
Service Interface for details on this interface.

timeout (Default: 5)
The connection timeout to set when communicating with the package manager
service. Default value is 5 seconds. Value is specified in seconds.

useProxy (Default: true)
Setting this to false disables considering the use of any of the active
proxies configured in the Maven Settings. By default the first active
proxy configuration in the Maven Settings is used to proxy any request to
the package manager.

userId (Default: admin)
The user name to authenticate as against the remote CRX system.

verbose (Default: false)
Enable verbose logging when set to true.

vault:share
Share a Content Package on Adobe Package Share

Available parameters:

name (Default: ${project.artifactId})
The name of the content package

packageFile
The name of the content package file to install on the target system. If
not set, the primary artifact of the project is considered the content
package to be installed.

password
The password to authenticate against Adobe Package Share.

serverId
The server id with which to get the username and password from the user's
settings file.

serverURL
(no description available)

timeout (Default: 30)
The connection timeout to set when communicating with Adobe Package Share.
Default value is 30 seconds. Value is specified in seconds.

useProxy (Default: true)
Setting this to false disables considering the use of any of the active
proxies configured in the Maven Settings. By default the first active
proxy configuration in the Maven Settings is used to proxy any request to
the package manager.

userId
The user name to authenticate as against Adobe Package Share.

verbose (Default: false)
Enable verbose logging when set to true.

vault:uninstall
Uninstalls a content package installed on a remote CRX or Communique 5 system.

Available parameters:

name
The name of the package to uninstall on the target system.

password (Default: admin)
The password to authenticate against the remote CRX system.

serverId
The server id with which to get the username and password from the user's
settings file.

targetURL (Default: http://localhost:4502/crx/packmgr/service.jsp)
The URL to the HTTP service API of the CRX package manager. See HTTP
Service Interface for details on this interface.

timeout (Default: 5)
The connection timeout to set when communicating with the package manager
service. Default value is 5 seconds. Value is specified in seconds.

useProxy (Default: true)
Setting this to false disables considering the use of any of the active
proxies configured in the Maven Settings. By default the first active
proxy configuration in the Maven Settings is used to proxy any request to
the package manager.

userId (Default: admin)
The user name to authenticate as against the remote CRX system.

verbose (Default: false)
Enable verbose logging when set to true.


Note: you need to have the adobe repository in your maven settings.xml file or pom and the maven vault plugin declared as a dependency for this to work:


<build>
<plugins>
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>maven-vault-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>install</goal>
</goals>
<configuration>
<targetURL>http://localhost:4504/crx/packmgr/service.jsp</targetURL>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

and


<repositories>
<repository>
<id>adobe</id>
<name>Adobe</name>
<url>http://repo.adobe.com/archiva/repository/day-central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>

Leave a comment