You need to add the class to buildSrc if you want to reference it from the assembly (and not in the simple Exec task). Given this directory structure:
|-buildSrc | |- src | |- main | |- groovy | |- GroovyClass.groovy |- build.gradle
Where is GroovyClass.groovy :
class GroovyClass { void foo() { println 'foo' } }
And build.gradle :
apply plugin: 'groovy' dependencies { compile 'org.codehaus.groovy:groovy-all:2.2.1' } task fooTask << { GroovyClass g = new GroovyClass() g.foo() }
Then running gradle fooTask gives the result:
$ gradle fooTask :buildSrc:compileJava UP-TO-DATE :buildSrc:compileGroovy UP-TO-DATE :buildSrc:processResources UP-TO-DATE :buildSrc:classes UP-TO-DATE :buildSrc:jar UP-TO-DATE :buildSrc:assemble UP-TO-DATE :buildSrc:compileTestJava UP-TO-DATE :buildSrc:compileTestGroovy UP-TO-DATE :buildSrc:processTestResources UP-TO-DATE :buildSrc:testClasses UP-TO-DATE :buildSrc:test UP-TO-DATE :buildSrc:check UP-TO-DATE :buildSrc:build UP-TO-DATE :fooTask foo BUILD SUCCESSFUL Total time: 4.604 secs
tim_yates
source share