grunt-goserver v0.2.0
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)
11 years ago