Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ariel-rodriguez/grunt-smart-vlt

A simple grunt interface for Adobe VLT
https://github.com/ariel-rodriguez/grunt-smart-vlt

Last synced: 2 months ago
JSON representation

A simple grunt interface for Adobe VLT

Awesome Lists containing this project

README

        

# grunt-smart-vlt (beta)

> Friendly grunt plugin what runs Adobe VLT commands for you.

> Use 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 /crx-quickstart/opt/filevault. The build is available in both tgz and zip formats.

2. Extract the archive.

3. Add `/crx-quickstart/opt/filevault/vault-cli-/bin` to your environment PATH so that the command files vlt or vlt.bat are accessed as appropriate. For example, `/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',
pwd: '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.src
Type: `Array`

You must specify all directories and file filters that you want to commit under work directory.

#### Host.User
**value required**
Type: `String`
Set false if you won't use credentials, or pass a valid string with user name.

#### Host.pwd
Type: `String`
Make sure to pass a valid string password if you are using the user property. otherways it will fail!.

#### 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)_