Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including gulp-maven-deploy with all npm packages installed. Try it out:

var gulpMavenDeploy = require("gulp-maven-deploy")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

gulp-maven-deploy v1.0.2

Simple gulp plugin for the maven-deploy module


A Gulp wrapper for the maven-deploy module. Enables you to have projects which are built with Gulp, but deploys to Maven repositories.

Build Status Dependency Status devDependency Status


All the samples below require a basic understanding of Gulp and Maven. Please look at the documentation for those projects for details. This readme refers to 1.x versions. If you are still using the 0.x versions, have a look into the 0.x support branch.


$ npm install gulp-maven-deploy --save-dev

Sample usage in a gulpfile.js

Below are two configuration samples:

Configuring a task for deploying to a Maven proxy

var gulp = require('gulp'),
    maven = require('gulp-maven-deploy');
    zip = require('gulp-zip');

gulp.task('deploy', function() {
    return gulp.src('.')
            'groupId': 'com.mygroup',
            'repositories': [{
                'id': 'some-repo-id',
                'url': 'http://some-repo/url'

A task running a local Maven install:

var gulp = require('gulp'),
    maven = require('gulp-maven-deploy'),
    zip = require('gulp-zip');

gulp.task('deploy-local', function() {
    return gulp.src('.')
            'groupId': 'com.mygroup',

Note: A local install in Maven means it is only available on your machine. A deployment is different as it means you ship the artifact off to some remote repository.

Upgrading from 0.x to 1.x

With gulp-maven-deploy version 1.0.0 we want to go one more step into the direction of a well performing gulp plugin. Following the single responsibility principle this plugin will only perform the deploy part in the future.

  • Implement a packaging logic for your files like gulp-zip
  • Remove the additional config level from options = {config: { ... }} to options = { ... }
  • Remove artifactId and type from config. They are now extracted from the file name. To influence them, rename the file in the gulp stream before piping it to gulp-maven-deploy
  • Callback function was removed. Use stream events finish or error to get notified about successful or unsuccessful deploys

Example project

There is a complete example project if you checkout the example directory.

$ cd example
$ npm install
$ ./node_modules/.bin/gulp

This will install gulp and allow you to run the sample. Gulp will run with with a local deploy configuration by default. You should see an artifact deployed to your local M2_HOME repository.

Running tests

$ npm test


All pull requests and issues are welcome!

Big thanks to Gregers for making the maven-deploy module.


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free