Q: get current Gruntfile within grunt task Is there a portable way to get at the currently loaded Gruntfile?
grunt.registerTask('someTask', 'someTask in a separate grunt instance', function() {
    var gruntFile = getCurrentGruntFile(); // ???
    var done = this.async();
    var child = grunt.util.spawn({
        cmd: "grunt",
        args: ['someTask', '--gruntfile=' + gruntFile, '-v'],
    }, done);
});

I needed to run jshint in a subshell because it was outputting color codes into the reporter-outputFile.  I imagine that there should really only be one Gruntfile per project, but setting a Gruntfile dynamically could be useful when developing grunt plugins or during initial configuration.
Grunt.config only lists task-level options. The documentation for Inside Tasks  doesn't list anything useful. Grunt.util doesn't list anything relevant either.

EDIT
I have already set-up the jshint task using grunt.util.async to spawn a separate grunt in a subshell and pass it the --no-colors CLI arg.  I was simultaneously developing several different Gruntfiles for this particular project and I couldn't figure out a way to determine the currently loaded Gruntfile.  Fortunately, it was just a curiosity and this jshint task works fine if you have only one Gruntfile or don't need to change it.  Also, if it was a project requirement to have several Gruntfiles I imagine they could be kept in different directories and then the grunt tasks could be initiated in the relevant directory.
grunt.registerTask('jshintNoColor', 'jshint without color-code output', function() {
    var done = this.async();
    var child = grunt.util.spawn({
        cmd: "grunt",
        args: ['jshint', '--no-color'],
        opts: {
            stdio: 'inherit'
        }
    }, done);
});

