| #!/usr/bin/env tclsh | |
| ############################################################################### | |
| # BRLTTY - A background process providing access to the console screen (when in | |
| # text mode) for a blind person using a refreshable braille display. | |
| # | |
| # Copyright (C) 1995-2023 by The BRLTTY Developers. | |
| # | |
| # BRLTTY comes with ABSOLUTELY NO WARRANTY. | |
| # | |
| # This is free software, placed under the terms of the | |
| # GNU Lesser General Public License, as published by the Free Software | |
| # Foundation; either version 2.1 of the License, or (at your option) any | |
| # later version. Please see the file LICENSE-LGPL for details. | |
| # | |
| # Web Page: http://brltty.app/ | |
| # | |
| # This software is maintained by Dave Mielke <dave@mielke.cc>. | |
| ############################################################################### | |
| source [file join [file dirname [info script]] "prologue.tcl"] | |
| set optionDefinitions { | |
| } | |
| processProgramArguments optionValues $optionDefinitions | |
| proc executeCommand {args} { | |
| if {[catch $args response] == 0} { | |
| set response "" | |
| } elseif {[string equal [lindex $::errorCode 0] CHILDSTATUS]} { | |
| set response "host command failed: exit status [lindex $::errorCode 2]" | |
| } | |
| return $response | |
| } | |
| proc setWorkingDirectory {path} { | |
| logDetail "working directory: $path" | |
| set problem [executeCommand cd $path] | |
| if {[string length $problem] > 0} { | |
| semanticError "$problem" | |
| } | |
| } | |
| proc executeHostCommand {args} { | |
| set command [join $args " "] | |
| logDetail "executing host command: $command" | |
| set args [linsert $args 0 exec <@ stdin] | |
| lappend args >@ stdout 2>@ stderr | |
| set problem [eval executeCommand $args] | |
| if {[string length $problem] > 0} { | |
| semanticError "$problem: $command" | |
| } | |
| } | |
| proc executeGradleTask {task} { | |
| executeHostCommand ./gradlew --quiet --console plain -- $task | |
| } | |
| setWorkingDirectory $sourceRoot | |
| executeHostCommand ./autogen | |
| executeHostCommand ./cfg-android | |
| setWorkingDirectory $gradleDirectory | |
| executeGradleTask clean | |
| executeGradleTask :app:assembleDebug | |
| executeGradleTask :app:assembleRelease | |
| logMessage task "done" | |
| exit 0 |