Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Gradle plugin to convert your groovy files to javascript using grooscript. Last version published is 1.3.0.

build.gradle to use the plugin with gradle 2.0+ version:

buildscript {
    repositories {
    dependencies {
        classpath 'org.grooscript:gradle-plugin:1.3.0'

apply plugin: 'org.grooscript.conversion'

build.gradle to use the plugin with gradle 2.1+:

plugins {
  id "org.grooscript.conversion" version "1.3.0"

There are 4 extension, convert files, convert templates, spy changes in files and generate require.js modules.

//Convert files, you can change options
grooscript {
    source = ['src/main/groovy/presenters'] //Sources to be converted(List), default is ['src/main/groovy']
    destination = 'js' //Target directory for js files, default is 'src/main/webapp/js/app'
    classpath = ['src/main/groovy'] //Needed classpath's to compile source files(List), default is ['src/main/groovy']
    customization = null //Customization in files, it's a closure, as for example { -> ast(groovy.transform.TypeChecked) }
    initialText = '//Grooscript converted file'
    initialText = '//End converted file'
    recursive = true //Default is false
    mainContextScope = ['$'] //Variables available in main scope (List), default is null
    addGsLib = 'grooscript' //Include a grooscript js lib in the result, default is null
    includeDependencies = true //Include conversion of dependency files, default is false

//Templates options
templates {
    templatesPath = 'src/main/webapp/templates'
    templates = ['main.gtpl', 'little/small.tpl']
    destinationFile = 'src/main/webapp/js/lib'
    classpath = ['src/main/groovy']

//Spy files changes
spy {
    files = ['anyFolder', 'aFile']
    onChanges = { list ->
        println 'Changes!! ' + list

//Require.js modules
requireJs {
    sourceFile = 'src/main/groovy/MyApp.groovy'
    destinationFolder = 'src/main/resources/web/js/app'

There are 9 tasks:

convert - to convert groovy files to javascript

convertThread - to run conversion daemon that detect file changes and convert the files to javascript

templatesJs - generate javascript file with groovy templates defined

templatesThread - run daemon to convert templates. Executes daemon in a thread, so is perfect to use with other task

spyChanges - listen changes in files

syncGsLibs - synchronize grooscript libraries with plugin

requireJs - to generate require.js modules from groovy code

requireJsThread - listen changes in groovy code to regenerate require.js modules

generateGrailsFiles - this task is done automatically if you are in a grails project, to generate static files needed by grooscript grails plugin

More info about tasks here


  • Jorge Franco
  • Michal Bernhard