Files
lego-ev3-java/gradle/deploy.gradle
T
2026-06-17 15:57:14 +01:00

223 lines
6.3 KiB
Groovy

ssh.settings {
knownHosts = allowAnyHosts
}
tasks.register('testConnection') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "ls "
execute "ls "
}
}
}
}
tasks.register('free') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "free "
execute "free "
}
}
}
}
tasks.register('top') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "top "
execute "top "
}
}
}
}
tasks.register('ps') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "ps "
execute "ps aux | sort -n -k 4 "
}
}
}
}
tasks.register('stopBluetooth') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "echo -e \"maker\" | sudo systemctl stop bluetooth"
execute "echo -e \"maker\" | sudo systemctl stop bluetooth"
}
}
}
}
tasks.register('ev3devInfo') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "ev3dev-sysinfo -m"
execute "ev3dev-sysinfo -m"
}
}
}
}
tasks.register('pkillJava') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "pkill java"
execute "pkill java"
}
}
}
}
tasks.register('removePreviousJar') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "rm /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
execute "rm /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
}
}
}
}
tasks.register('deploy') {
doLast {
ssh.run {
session(remotes.ev3dev) {
put from: "${projectDir}/build/libs/" + "${rootProject.name}" + "-" + version + "-all.jar", into: "/home/robot/"
}
}
}
}
deploy.dependsOn clean, fatJar
tasks.register('remoteRun') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "time java -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
execute "time java -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
}
}
}
}
tasks.register('remoteBrickRun') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "time brickrun -- java -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
execute "time brickrun -- java -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
}
}
}
}
tasks.register('remoteRunClassVerbose') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "java -verbose:class -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
execute "java -verbose:class -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
}
}
}
}
tasks.register('remoteSudoRun') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "echo -e \"maker\" | sudo -S java -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar"
execute "echo -e \"maker\" | sudo -S java -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar"
}
}
}
}
tasks.register('remoteProfilingRun') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "brickrun -- java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
execute "brickrun -- java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
}
}
}
}
tasks.register('remoteProfilingSudoRun') {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "echo -e \"maker\" | sudo -S brickrun -- java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
execute "echo -e \"maker\" | sudo -S brickrun -- java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar /home/robot/" + "${rootProject.name}" + "-" + version + "-all.jar "
}
}
}
}
tasks.register('deployAndRun') {
doLast {
}
}
deployAndRun.dependsOn deploy, remoteRun
tasks.register('deployAndBrickRun') {
doLast {
}
}
deployAndBrickRun.dependsOn deploy, remoteBrickRun
tasks.register('deployAndSudoRun') {
doLast {
}
}
deployAndSudoRun.dependsOn deploy, remoteSudoRun
tasks.register('deployAndProfilingRun') {
doLast {
}
}
deployAndProfilingRun.dependsOn deploy, remoteProfilingRun
tasks.register('deployAndProfilingSudoRun') {
doLast {
}
}
deployAndProfilingSudoRun.dependsOn deploy, remoteProfilingSudoRun
//Organize tasks in a Group
def groupName = "ev3dev-lang-java"
testConnection.group = groupName
free.group = groupName
ps.group = groupName
top.group = groupName
stopBluetooth.group = groupName
ev3devInfo.group = groupName
removePreviousJar.group = groupName
deploy.group = groupName
remoteBrickRun.group = groupName
remoteRun.group = groupName
remoteRunClassVerbose.group = groupName
remoteSudoRun.group = groupName
remoteProfilingRun.group = groupName
remoteProfilingSudoRun.group = groupName
deployAndRun.group = groupName
deployAndBrickRun.group = groupName
deployAndSudoRun.group = groupName
deployAndProfilingRun.group = groupName
deployAndProfilingSudoRun.group = groupName
pkillJava.group = groupName