Skip to content

Commit

Permalink
#113 iteration 1 of remote RPi build support
Browse files Browse the repository at this point in the history
  • Loading branch information
ylexus committed Jun 23, 2021
1 parent 44800dd commit 294d183
Showing 1 changed file with 30 additions and 4 deletions.
34 changes: 30 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ task renameDistribution() {
if (org.gradle.internal.os.OperatingSystem.current().linux) {
ant.move(todir: fullPackageOutputDir) {
fileset dir: "$buildDir/jpackage", includes: '*.deb,*.rpm'
mapper type: "glob", from : "*", to: "Linux-*"
mapper type: "glob", from: "*", to: "Linux-*"
}
}
}
Expand Down Expand Up @@ -349,7 +349,7 @@ int vmrunLinux(String command, List<String> args = [], ignoreExitCode = false) {

task runRemoteLinuxBuild(dependsOn: requireClientSecret) {
doLast {
def remoteCloneDir = '/home/alexey/java/jiotty-photos-uploader'
def remoteCloneDir = "/home/$vmUser/java/jiotty-photos-uploader"
def vmUser = readEnvOrFail 'VMRUN_LINUX_USER'
vmrunLinux 'start'
def tmpClientSecretGuestPath = "/home/$vmUser/java/clientSecret.json"
Expand All @@ -370,12 +370,38 @@ task runRemoteLinuxBuild(dependsOn: requireClientSecret) {
mkdir fullPackageOutputDir
def finalFileNameLinuxDeb = "Linux-jiotty-photos-uploader_$version-1_amd64.deb"
def finalFileNameLinuxRpm = "Linux-jiotty-photos-uploader-$version-1.x86_64.rpm"
vmrunLinux 'CopyFileFromGuestToHost', ["$remoteCloneDir/build/fullpackage/$finalFileNameLinuxDeb", "$fullPackageOutputDir/$finalFileNameLinuxDeb"]
vmrunLinux 'CopyFileFromGuestToHost', ["$remoteCloneDir/build/fullpackage/$finalFileNameLinuxRpm", "$fullPackageOutputDir/$finalFileNameLinuxRpm"]
vmrunLinux 'CopyFileFromGuestToHost', ["$remoteCloneDir/app/build/fullpackage/$finalFileNameLinuxDeb", "$fullPackageOutputDir/$finalFileNameLinuxDeb"]
vmrunLinux 'CopyFileFromGuestToHost', ["$remoteCloneDir/app/build/fullpackage/$finalFileNameLinuxRpm", "$fullPackageOutputDir/$finalFileNameLinuxRpm"]
vmrunLinux 'suspend'
}
}

task runRemoteRpiBuild(dependsOn: requireClientSecret) {
doLast {
def remoteCloneDir = '/home/pi/java/jiotty-photos-uploader'
def tmpClientSecretGuestPath = "/home/pi/java/clientSecret.json"
def rpiHost = readEnvOrFail 'RPI_HOST'
exec { commandLine['scp', clientSecretPath, "pi@$rpiHost:$tmpClientSecretGuestPath"] }
mkdir "$buildDir/jpackage"
def pullAndBuildExitCode = exec {
commandLine['ssh', "pi@$rpiHost", "chmod +x $remoteCloneDir/pull_and_build.sh && $remoteCloneDir/pull_and_build.sh;rm $tmpClientSecretGuestPath"]
ignoreExitValue true
}.exitValue
def buildLogPath = "$buildDir/pull_and_build.linux.log"
exec { commandLine['scp', "pi@$rpiHost:$remoteCloneDir/pull_and_build.log", buildLogPath] }
def remoteLogFile = Paths.get(buildLogPath)
if (pullAndBuildExitCode != 0) {
if (Files.exists(remoteLogFile)) {
println Files.readString(remoteLogFile)
}
throw new GradleScriptException("VM build execution failed, see errors above", null)
}
mkdir fullPackageOutputDir
def finalFileNameLinuxDeb = "Linux-jiotty-photos-uploader_$version-1_armhf.deb"
exec { commandLine['scp', "pi@$rpiHost:$remoteCloneDir/app/build/fullpackage/$finalFileNameLinuxDeb", "$fullPackageOutputDir/$finalFileNameLinuxDeb"] }
}
}

task moveFinalArtifactsToDeploymentDir() {
doLast {
def destinationRootPath = Paths.get(readEnvOrFail('HYPERPACKAGE_DESTINATION_DIR'))
Expand Down

0 comments on commit 294d183

Please sign in to comment.