Sha256: aefdf53a5401de2c1404ef7c02421a0733904af2c77f52033fa0c9dceab3da8e

Contents?: true

Size: 1.35 KB

Versions: 1

Compression:

Stored size: 1.35 KB

Contents

# Grump

Poor man's build system.

## How does it work?

Create a `Grumpfile` and define your project. `Grumpfile`s are inherited from root (/) to current directory.

Run `grump (task name)` to invoke some logic. Tasks are defined in Grumpfiles. If no task name is specified "default" is used.

## Grumpfile

### plugin(name)

Loads plugin. Will require file "grump-#{name}" and will include it into current context. If "#{name}_plugin_setup"
method exists, invokes it.

### task(name, &block)

If no block is given, execute task specified by name. If block is given, define new task identified by name.

### var(name, value=nil)

If value is not nil, set value for name. When value is nil, return value for name.

### directory(path)

Resolve directory relative to location of Grumpfile.

## Example Grumpfile

``ruby
plugin :maven

maven 'io.netty', 'netty-handler', '4.0.7.Final'
maven 'org.slf4j', 'slf4j-api', '1.7.5'
maven 'org.msgpack', 'msgpack', '0.6.7'

var(:pwd, directory('.'))

task('build') do
  maven_download
  java_build
end

task('package') do
  task('build')
  java_jar
  java_package
end

task('default') do
  task('build')
  java_run
end

``

## Plugins

Plugin is a Module included into the context where Grumpfiles are resolved. Plugin defines methods, variables or anything
Grumpfile can define.

## Why?

Because!

## License

Check the LICENSE.md file.

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
grump-0.0.1 README.md