Groovy is a dynamic language over a Java Virtual Machine.
So it works every where, where java runs.
The language is a mix between python, ruby and java.
In the example below, I use the same capacity of python to create property and method dynamically
// Download and use gotan
@Grab(group='org.tango', module='gotan', version='0.0.1-SNAPSHOT')
// Create a new Tango Server with gotan
def server = new DeviceServer()
server.integer = 20
server.random = { Math.random() }
server.randomize() { max -> Math.random(max) }
server.start("test/test/test")
In the client part, I use also the dynamic behaviour of groovy to access directly the attribute or command.
// And create a client with gotan
def client = new DeviceServerProxy("test/test/test")
println client.integer
println client.random
println client.randomize(100) The code speaks by itself, isn't it ;-)
It's just a resume of the capacities of groovy.
PS : The Grab command is great solution to reduce deployment.
It downloads modules from an apache maven repository and loads it.
And do you know that a tango java repository exists !!!