wpilibsuite/wpilib-docs
View on GitHubDocument GradleRIO predeploy task for running commands before robot program deploy and start
Open
#1,150 opened on Jan 25, 2021
Component: WPILibJ/WPILibCHelp WantedType: New Article
Repository metrics
- Stars
- (187 stars)
- PR merge metrics
- (PR metrics pending)
Description
The following gradle-fu I learned from @ThadHouse is very useful for running commands as admin on the roboRIO before the robot program deploys and starts. We should document it. (Note that the robot program is deleted at this point.)
deploy {
...
artifacts {
frcNativeArtifact('frcCpp') {
...
predeploy << {
// Give RT capability
it.execute('setcap cap_sys_nice+eip /home/lvuser/frcUserProgram')
// Disable crond because it uses 50% CPU and there's no cronjobs to run
it.execute('/etc/init.d/crond stop')
// Disable NI web server because it leaks memory badly
it.execute('/usr/local/natinst/etc/init.d/systemWebServer stop')
// Compress old log files
it.execute('find . -type f | grep \\.csv$ | xargs -d \\n gzip -q')
}
}