grunt-smart-vlt
Version:
Friendly grunt plugin to run Adobe VLT commands.
138 lines (94 loc) • 3.64 kB
Markdown
# grunt-smart-vlt
> Friendly grunt plugin to run Adobe VLT commands.
> Run svlt task to automatically commit the changes from your local work.
>
> Call to svlt task after any change on your cq vault directory and all vlt operations will be performed.
## Getting Started
This plugin requires Grunt `~0.4.5`
If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
## Installing
If VLT command line is not installed, please follow next:
1. In your file system, go to <cq-installation-dir>/crx-quickstart/opt/filevault. The build is available in both tgz and zip formats.
2. Extract the archive.
3. Add `<cq-installation-dir>/crx-quickstart/opt/filevault/vault-cli-<version>/bin` to your environment PATH so that the command files vlt or vlt.bat are accessed as appropriate. For example, `<cq-installation-dir>/crx-quickstart/opt/filevault/vault-cli-1.1.2/bin`
Open a command line shell and execute `vlt --help`. Make sure it doesn't throw an error.
```[Adobe Guide Reference](http://wem.help.adobe.com/enterprise/en_US/10-0/wem/developing/developmenttools/developing_with_eclipse.html#Installing%20FileVault%20(VLT))
```shell
npm install grunt-smart-vlt --save-dev
```
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-smart-vlt');
```
## The "svlt" task
### Overview
In your project's Gruntfile, add a section named `svlt` to the data object passed into `grunt.initConfig()`.
```js
grunt.initConfig({
svlt: {
options: {
vaultWork: 'target/vault-work/jcr_root',
src: ['**','**/{*.*,.*.xml}', '!**/.vlt*'],
stdout: true,
multithread: true
checkout: {
host: {
uri: 'http://localhost:4502/crx',
user: 'admin',
password: 'admin'
},
autoforce: true,
params: '--verbose',
stdout: true
}
}
},
});
```
### Options
#### options.vaultWork
Type: `String`
**value required**
This path is where the working directory is loacated.
**NOTE: svlt:co will checkout to this path.**
#### options.multithread
Type `Boolean`
Set value in `true` to perform multiple vlt operations at once.
#### options.checkout.params
Type: `Array`
You must specify all directories and file filters that you want to commit under work directory.
#### Host.User
Set false if you won't use credentials, or pass a valid string with user name.
#### options.checkout.params
Type: `String`
You can pass next optional arguments to checkout: '--verbose --force -q -f'
#### options.checkout.autoforce
Type: `Boolean`
pass true if svlt:co should run in --force mode only when work directory has never been initialized yet.
### Usage Examples
```js
grunt.initConfig({
svlt: {
...
},
});
grunt.loadNpmTasks('grunt-smart-vlt');
grunt.registerTask('vlt', ['svlt:co', 'svlt']);
```
### Usage With grunt-contrib-watch
You can call 'svlt' after some watch event.
```js
grunt.initConfig({
svlt : { ... },
watch : {
coffee: {
files: [...],
tasks: ['coffee', 'svlt']
}
}
});
```
## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).
## Release History
_(Nothing yet)_