mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
106 lines
3.7 KiB
XML
106 lines
3.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<project name="athena-project-build" default="deploy">
|
|
|
|
<!-- Load Tasks -->
|
|
<taskdef resource="net/sf/antcontrib/antlib.xml">
|
|
<classpath>
|
|
<pathelement location="${wpilib.ant.dir}/ant-contrib.jar"/>
|
|
</classpath>
|
|
</taskdef>
|
|
<taskdef resource="net/jtools/classloadertask/antlib.xml" classpath="${classloadertask.jar}"/>
|
|
<classloader loader="system" classpath="${jsch.jar}"/>
|
|
|
|
<target name="clean" description="Clean up all build and distribution artifacts.">
|
|
<delete dir="${build.dir}"/>
|
|
<delete dir="${dist.dir}"/>
|
|
</target>
|
|
|
|
<!-- Targets -->
|
|
|
|
<target name="get-target-ip">
|
|
<property name="target" value="roboRIO-${team-number}.local" />
|
|
<echo>Target: ${target}</echo>
|
|
</target>
|
|
|
|
<target name="deploy" depends="get-target-ip" description="Deploy the progam and start it running.">
|
|
<sshexec host="${target}"
|
|
username="${username}"
|
|
password="${password}"
|
|
trust="true"
|
|
failonerror="no"
|
|
command="rm ${deploy.dir}/FRCUserProgram" />
|
|
|
|
<echo>[athena-deploy] Copying code over.</echo>
|
|
<scp file="${out.exe}" sftp="true" todir="${username}@${target}:${deploy.dir}" password="${password}" trust="true"/>
|
|
<scp file="${wpilib.ant.dir}/robotCommand" todir="${username}@${target}:/home/lvuser/" password="${password}" trust="true"/>
|
|
|
|
<echo>[athena-deploy] Starting program.</echo>
|
|
<sshexec host="${target}"
|
|
username="${username}"
|
|
password="${password}"
|
|
trust="true"
|
|
command=". /etc/profile.d/natinst-path.sh; chmod a+x ${deploy.dir}/${out}; ${deploy.kill.command};"/>
|
|
|
|
<sshexec host="${target}"
|
|
username="${username}"
|
|
password="${password}"
|
|
trust="true"
|
|
command="tail -F -n 0 ${deploy.log.file}"/>
|
|
</target>
|
|
|
|
<target name="kill-program" depends="get-target-ip" description="Kill the currently running FRC program">
|
|
<sshexec host="${target}"
|
|
username="${username}"
|
|
password="${password}"
|
|
trust="true"
|
|
command="/usr/local/frc/bin/frcKillRobot.sh"/>
|
|
</target>
|
|
|
|
<target name="debug-deploy" depends="get-target-ip" description="Deploy the jar and start the program running in debug mode.">
|
|
<echo>[athena-deploy] Killing running program</echo>
|
|
<sshexec host="${target}"
|
|
username="${username}"
|
|
password="${password}"
|
|
trust="true"
|
|
command="killall FRCUserProgram; sleep 1"/>
|
|
<echo>[athena-debug-deploy] Copying code over.</echo>
|
|
<scp file="${dist.jar}" todir="${username}@${target}:${deploy.dir}"
|
|
password="${password}" trust="true"/>
|
|
<scp file="${wpilib.ant.dir}/debugcppprogram" todir="${username}@${target}:${deploy.dir}"
|
|
password="${password}" trust="true"/>
|
|
<scp file="${wpilib.ant.dir}/debugjavaprogram" todir="${username}@${target}:${deploy.dir}"
|
|
password="${password}" trust="true"/>
|
|
<echo>[athena-debug-deploy] Starting program.</echo>
|
|
<sshexec host="${target}"
|
|
username="${username}"
|
|
password="${password}"
|
|
trust="true"
|
|
command="chmod a+x debug*program; ${deploy.debug.command}"/>
|
|
</target>
|
|
|
|
<!-- Simulation support -->
|
|
<target name="simulate">
|
|
<parallel>
|
|
<sequential>
|
|
<echo>[simulate] Running Gazebo.</echo>
|
|
<exec executable="frcsim">
|
|
<arg value="${simulation.world.file}"/>
|
|
</exec>
|
|
</sequential>
|
|
<sequential>
|
|
<sleep seconds="5"/>
|
|
<echo>[simulate] Running DriverStation.</echo>
|
|
<java jar="${sim.tools}/SimDS.jar" fork="true">
|
|
<jvmarg value="-Djava.library.path=${sim.lib}" />
|
|
</java>
|
|
</sequential>
|
|
<sequential>
|
|
<sleep seconds="5"/>
|
|
<echo>[simulate] Running Code.</echo>
|
|
<exec executable="${sim.exe}"></exec>
|
|
</sequential>
|
|
</parallel>
|
|
</target>
|
|
</project>
|