Coder Social home page Coder Social logo

andersem / maven-deploy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from finn-no/maven-deploy

0.0 2.0 0.0 444 KB

A simple NodeJS module to create a war/jar package and install to a local Maven repository or deploy to a remote one

JavaScript 100.00%

maven-deploy's Introduction

maven-deploy

Build Status Coverage Status Dependencies status

A simple Node.js module to create a war-/jar-package and install/deploy to a local/remote Maven repository. It uses mvn to do the actual deployment, so you need maven installed locally.

Project name and version is extracted from package.json and used as artifactId and maven version. Supply an object litteral with other Maven related config. Values from package.json can be used by adding curly-braces around the key. Example {finalName: "{name}-{version}"}.

The package is created from the {buildDir}/ folder. So you need to make sure that the files you want in the package is put there before packaging. The default is dist/. The package file will be output in the same folder.

var config = {
    "groupId"      : "com.example",    // required - the Maven group id.
    "artifactId"   : "{name}",         // the Maven artifact id.
    "buildDir"     : "dist",           // project build directory.
    "finalName"    : "{name}",         // the final name of the file created when the built project is packaged.
    "type"         : "war",            // type of package. "war" or "jar" supported.
    "fileEncoding" : "utf-8"           // file encoding when traversing the file system, default is UTF-8
    "repositories" : [                 // array of repositories, each with id and url to a Maven repository.
      {
        "id": "example-internal-snapshot",
        "url": "http://mavenproxy.example.com/example-internal-snapshot/"
      },
      {
        "id": "example-internal-release",
        "url": "http://mavenproxy.example.com/example-internal-release/"
      }
    ]
};

It might be useful to store the config as a separate json-file, so you can re-use it in multiple files.

var config = require('./maven-config.json');

Package war/jar

It expects output from the project to be in dist/ directory. It zips the content and outputs it to dist/{finalName}.{type} Usage: maven.package( [callback] )

Example:

var maven = require('maven-deploy');
maven.config(config);
maven.package();

Install to local repository

Runs package first, then installs the package to your local Maven repository. Usage: maven.install( [callback] )

Example:

var maven = require('maven-deploy');
maven.config(config);
maven.install();

Deploy

Runs package first, then deploys the package to the specified Maven repository. Usage: maven.deploy( repositoryId, [snapshot = false], [callback])

Example: deploy to snapshot repo

var maven = require('maven-deploy');
maven.config(config);
maven.deploy('example-internal-snapshot', true);

Example: deploy to release repo

var maven = require('maven-deploy');
maven.config(config);
maven.deploy('example-internal-release');

Contributing

We would love your contribution, please consult the contributing page for how to make your contributions land into the project as easily as possible.

maven-deploy's People

Contributors

gregersrygg avatar jmorille avatar jonathanmorley avatar leftiefriele avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.