grunt-goserver

0.2.0 • Public • Published

grunt-goserver

Grunt task to spawn and reload a Go server

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-goserver --save-dev

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

grunt.loadNpmTasks('grunt-goserver');

The "goserver" task

Overview

In your project's Gruntfile, add a section named goserver to the data object passed into grunt.initConfig().

grunt.initConfig({
  goserver: {
    options: {
      // Task-specific options go here.
    },
    default: {
      srcPath: '/full/path/to/src/folder',
      srcFile: 'name_of_go_file_to_build',
      binPath: '/full/path/to/go/bin/folder'
    },
  },
})

Options

options.srcPath

Type: String Default value: ''

Full path to Go source folder Must be the full path, do not use ~/

options.srcFile

Type: String Default value: ''

Name of Go source file to build e.g. 'main'

Extension is not necessary

options.binPath

Type: String Default value: ''

Full path to Go binary folder

Must be the full path, do not use ~/

This is the path where your binary will be installed when doing 'go install'.

Usage Examples

Default Options

grunt.initConfig({
  goserver: {
    options: {},
    default: {
      srcPath: '/Users/John/Go/src/github.com/john/repo_name',
      srcFile: 'main',
      binPath: '/Users/John/Go/bin'
    },
  },
})

Using with watch

grunt.initConfig({
  watch: {
    go: {
      files: ['**/*.go'],
      tasks: ['goserver'],
      options: {
        nospawn: true,
      }
    }
  },
 
  goserver: {
    default: {
      srcPath: '/Users/John/Go/src/github.com/john/repo_name',
      srcFile: 'main',
      binPath: '/Users/John/Go/bin'
    }
  }
});
 
grunt.registerTask('start', function () {
  grunt.task.run('goserver');
  grunt.task.run('watch');
});
  
grunt.loadNpmTasks('grunt-goserver');

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.

Release History

(Nothing yet)

Readme

Keywords

none

Package Sidebar

Install

npm i grunt-goserver

Weekly Downloads

1

Version

0.2.0

License

none

Last publish

Collaborators

  • sporto