npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

grunt-jboss-as

v0.1.0

Published

Download, extract and start JBoss with custom JVM parameters and an optional keystore, clean-build a Mavenized project and deploy an archive on JBoss AS.

Downloads

3

Readme

grunt-jboss-as Build Status NPM version

This project contains a Grunt plugin which includes tasks to:

  • Download and extract JBoss AS
  • Start JBoss AS with customized JVM parameters, custom HTTP/HTTPS ports and an optional keystore
  • Build a Maven project
  • (Re)deploy an archive on JBoss AS
  • Kill a process

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-jboss-as --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-jboss-as');

download-jboss-as task

This task downloads the jboss-as-7.1.1.Final file and stores it inside the target destination directory.

grunt.initConfig({
    servers: {
        jboss: {
            download: {
                url: 'http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip',
                targetDir: 'target'
            }
        }
    }
});

Options

url

Type: String
Description: The URL to download the JBoss AS zip from
Default: http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip

targetDir

Type: String
Description: The target directory in which the JBoss AS zip is stored
Default: target

extract-jboss-as task

This task extracts the JBoss AS zip file in the configured target directory.

grunt.initConfig({
    servers: {
        jboss: {
            extract : {
                targetDir: 'target'
            }
        }
    }
});

Options

targetDir

Type: String
Description: The target directory to host the extracted JBoss AS contents
Default: 'target'

start-jboss-as-default task

This task starts the JBoss AS in standalone mode, sets the configured ports, JVM parameters and keystore, using the grunt init configuration.

grunt.initConfig({
    servers: {
        jboss: {
            startup: {
                options: {
                    httpPort: 8081,
                    httpsPort: 8444,
                    xms: '512m',
                    xmx: '1024m',
                    maxPermSize: '256m',
                    bindingAddress: '127.0.0.1',
                    keystoreAlias: 'aerogear',
                    keystorePassword: 'aerogear',
                    keystoreFile: '/home/aemmanou/git-repos/aerogear-js-cors-jsonp-tests/help-files/aerogear.keystore',
                    securityProtocol: 'TLSv1',
                    baseProcessId: 'jboss-as'
                }
            }
        }
    }
});

Options

httpPort

Type: Integer
Description: The HTTP port
Default: 8080

httpsPort

Type: Integer
Decsription: The HTTPS port
Default: 8443

xms

Type: String
Description: Specify the initial size, in bytes, of the memory allocation pool
Default: 64m

xmx

Type: String
Description: Specify the maximum size, in bytes, of the memory allocation pool
Default: 512m

maxPermSize

Type: String
Description: Max size of the separate area of the heap called Permanent Generation space
Default: 256m

bindingAddress

Type: String
Description: Indicate the address where services should be listening
Default: 127.0.0.1

keystoreAlias

Type: String
Description: The alias used to for the server certificate in the keystore
Default: -

keystorePassword

Type: String
Decsription: Password for both trustore and keystore
Default: -

keystoreFile

Type: String
Decsription: The pathname of the keystore file where you have stored the server certificate to be loaded
Default: ``

securityProtocol

Type: String
Decsription: The version of the SSL protocol to use. If not specified, Supported values: SSLv2, SSLv3, TLSv1, SSLv2+SSLv3 and ALL
Default: -

baseProcessId

Type: String
Description: The prefix of the JBoss AS process - used internally from the plugin
Default: -

start-jboss-as task

This task can be used as a standalone task in order to start a JBoss AS instance, set the configured ports, JVM parameters and keystore. It receives as input the following arguments in order: jbossHome, xms, xmx, permSize, bindingAddress, httpPort, httpsPort, keystoreAlias, keystorePassword, keystoreFile, securityProtocol. You can execute it by using:

grunt start-jboss-as:/home/user/jbosss-7.1.1.Final

You can pass more arguments by adding : and the argument's value. For instance, in order to startup a JBoss AS instance using the xms and xmx JVM parameters you have to execute:

grunt start-jboss-as:/home/user/jbosss-7.1.1.Final:128m:1024m

Note that the JBoss AS pid is printed in the stdout: [INFO] start-jboss-as: =====> process id: '__3835'. You can use the pid number e.g 3835 in order to kill the process, by using the stop-process task:

grunt stop-process:3835

maven-build-default task

This task cleans & builds the configured mavenized project.

grunt.initConfig({
    maven: {
        build: {
            pom: '/home/user/myproject/pom.xml'
        }
    }
});

Options

pom

Type: String
Description: The POM file's absolute path
Default: -

maven-build task

This task receives the pom file path as input and cleans/builds the mavenized project. It can be executed using:

grunt maven-build:/home/user/myproject/pom.xml

deploy-archive-jboss-as-default task

This task (re)deploys an archive to the default configured JBoss AS instance (the one which was downloaded and extracted by the above mentioned tasks).

grunt.initConfig({
    servers: {
        jboss: {
            deploy: {
                archive: '/home/user/myproject/target/myproject.war'
            }
        }
    }
});

Options

archive

Type: String
Description: The absolute path of the archive which is going to be (re)deployed on the JBoss AS
Default: -

stop-all-processes task

This task is used to kill the processes created by the current plugin and more specifically the JBoss AS process. It should not be executed as standalone task.

stop-process task

This task can be used to kill a process. It can be executed as a standalone task using:

grunt stop-process:pid

Example

The example folder contains a sample example which depicts how to use this plugin.

Release History

0.1.0

Released 30 September 2013

  • Initial release