This commit is contained in:
petrukhnov
2026-06-17 15:31:35 +01:00
parent 91091653ea
commit a8e21bfd96
15 changed files with 754 additions and 1 deletions
+222
View File
@@ -0,0 +1,222 @@
ssh.settings {
knownHosts = allowAnyHosts
}
task testConnection {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "ls "
execute "ls "
}
}
}
}
task free {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "free "
execute "free "
}
}
}
}
task top {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "top "
execute "top "
}
}
}
}
task ps {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "ps "
execute "ps aux | sort -n -k 4 "
}
}
}
}
task stopBluetooth {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "echo -e \"maker\" | sudo systemctl stop bluetooth"
execute "echo -e \"maker\" | sudo systemctl stop bluetooth"
}
}
}
}
task ev3devInfo {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "ev3dev-sysinfo -m"
execute "ev3dev-sysinfo -m"
}
}
}
}
task pkillJava {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "pkill java"
execute "pkill java"
}
}
}
}
task removePreviousJar {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "rm /home/robot/" + "${rootProject.name}" + "-" + version + ".jar "
execute "rm /home/robot/" + "${rootProject.name}" + "-" + version + ".jar "
}
}
}
}
task deploy {
doLast {
ssh.run {
session(remotes.ev3dev) {
put from: "${projectDir}/build/libs/" + "${rootProject.name}" + "-" + version + ".jar", into: "/home/robot/"
}
}
}
}
deploy.dependsOn clean, fatJar
task remoteRun {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "time java -jar /home/robot/" + "${rootProject.name}" + "-" + version + ".jar "
execute "time java -jar /home/robot/" + "${rootProject.name}" + "-" + version + ".jar "
}
}
}
}
task remoteBrickRun {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "time brickrun -- java -jar /home/robot/" + "${rootProject.name}" + "-" + version + ".jar "
execute "time brickrun -- java -jar /home/robot/" + "${rootProject.name}" + "-" + version + ".jar "
}
}
}
}
task remoteRunClassVerbose {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "java -verbose:class -jar /home/robot/" + "${rootProject.name}" + "-" + version + ".jar "
execute "java -verbose:class -jar /home/robot/" + "${rootProject.name}" + "-" + version + ".jar "
}
}
}
}
task remoteSudoRun {
doLast {
ssh.run {
session(remotes.ev3dev) {
println "echo -e \"maker\" | sudo -S java -jar /home/robot/" + "${rootProject.name}" + "-" + version + ".jar"
execute "echo -e \"maker\" | sudo -S java -jar /home/robot/" + "${rootProject.name}" + "-" + version + ".jar"
}
}
}
}
task 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 + ".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 + ".jar "
}
}
}
}
task 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 + ".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 + ".jar "
}
}
}
}
task deployAndRun {
doLast {
}
}
deployAndRun.dependsOn deploy, remoteRun
task deployAndBrickRun {
doLast {
}
}
deployAndBrickRun.dependsOn deploy, remoteBrickRun
task deployAndSudoRun {
doLast {
}
}
deployAndSudoRun.dependsOn deploy, remoteSudoRun
task deployAndProfilingRun {
doLast {
}
}
deployAndProfilingRun.dependsOn deploy, remoteProfilingRun
task 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