filebot/website/scripts/lib/ant.groovy

50 lines
1.2 KiB
Groovy

//TODO wrap scp and ftp tasks
/**
* Log into a remote host and run a given command.
*
* e.g.
* sshexec(command: "ps", host: "filebot.sf.net", username: "rednoah", password: "correcthorsebatterystaple")
*/
def sshexec(param) {
param << [trust: true] // auto-trust remote hosts
ant().sshexec(param)
}
/**
* Send email via smtp.
*
* e.g.
* mail(mailhost:'smtp.gmail.com', mailport:'587', ssl:'no', enableStartTLS:'yes', user:'rednoah@gmail.com', password:'correcthorsebatterystaple', from:'rednoah@gmail.com', to:'someone@gmail.com', subject:'Hello Ant World', message:'Dear Ant, ...')
*/
def mail(param) {
def sender = param.remove('from')
def recipient = param.remove('to')
ant().mail(param) {
from(address:sender)
to(address:recipient)
}
}
/**
* Send email using gmail default settings.
*
* e.g.
* gmail(subject:'Hello Ant World', message:'Dear Ant, ...', to:'someone@gmail.com', user:'rednoah', password:'correcthorsebatterystaple')
*/
def gmail(param) {
param << [mailhost:'smtp.gmail.com', mailport:'587', ssl:'no', enableStartTLS:'yes']
param << [user:param.username ? param.remove('username') + "@gmail.com" : param.user]
param << [from: param.from ?: param.user]
mail(param)
}
def ant() {
return new AntBuilder()
}