Fixed C++ deploy in Eclipse

Eclipse now runs an ant script to deploy C++ programs, which runs the
robot program with the run-at-startup system

Change-Id: I3e63967ebc40ad3c38aa561fd303ca3c577fd2a2
This commit is contained in:
thomasclark
2014-07-01 17:04:28 -04:00
parent ef5729b3dd
commit ae8d22b0f2
4 changed files with 59 additions and 119 deletions

View File

@@ -2,10 +2,6 @@
<project name="athena-project-build" default="deploy">
<property file="${wpilib.ant.dir}/../so.properties"/>
<property name="opkg.name" value="wpilib" />
<property name="opkg.arch" value="armv7a-vfp" />
<!-- Load Tasks -->
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
@@ -31,99 +27,28 @@
<target name="deploy" depends="get-target-ip" description="Deploy the progam and start it running.">
<sshexec host="${target}"
username="${username}"
password="${password}"
trust="true"
command="rm ${deploy.dir}/FRCUserProgram" />
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"/>
<sshexec host="${target}"
username="${username}"
password="${password}"
trust="true"
command="opkg info wpilib |grep Version | awk '{printf $2}'"
outputproperty="installedWpilibSo"/>
<if>
<equals arg1="${installedWpilibSo}" arg2="${cpp-sos}" />
<then>
<echo>Found version of WPILib: ${installedWpilibSo} (latest)</echo>
</then>
<else>
<echo>Found version of WPILib: ${installedWpilibSo}</echo>
<echo>Upgrading WPILib to ${cpp-sos}...</echo>
<delete>
<fileset dir="${wpilib.ant.dir}">
<include name="data.tar*" />
<include name="control*" />
<include name="post*" />
<include name="md5sums" />
<include name="*.deb" />
</fileset>
</delete>
<tar destfile="${wpilib.ant.dir}/data.tar">
<tarfileset dir="${wpilib.ant.dir}/../lib" username="root" group="admin" uid="0" gid="0"
prefix="usr/local/frc/lib">
<include name="libWPILibAthena.so" />
<include name="libNetworkTables.so" />
<include name="libHALAthena.so" />
</tarfileset>
</tar>
<gzip destfile="${wpilib.ant.dir}/data.tar.gz" src="${wpilib.ant.dir}/data.tar"/>
<echo file="${wpilib.ant.dir}/debian-binary">2.0</echo>
<echo file="${wpilib.ant.dir}/control">Package: ${opkg.name}
Version: ${cpp-sos}
Section: devel
Priority: optional
Architecture: ${opkg.arch}
Depends: libc6 (>= 2.11.1-r7), libgcc1 (>= 4.4.1)
Maintainer: Brad Miller &gt;bamiller@wpi.edu&lt;
Description: WPILib, NetworkTables and HAL for RoboRIO target
.
This package contains the shared objects for WPILib, NetworkTables, and HAL for the 2015 target on the RoboRIO
</echo>
<echo file="${wpilib.ant.dir}/postinst">#!/bin/sh
ldconfig
</echo>
<echo file="${wpilib.ant.dir}/postrm">#!/bin/sh
ldconfig
</echo>
<checksum property="md5.wpilib" format="MD5SUM" file="${wpilib.ant.dir}/../lib/libWPILibAthena.so" />
<checksum property="md5.nwt" format="MD5SUM" file="${wpilib.ant.dir}/../lib/libNetworkTables.so" />
<checksum property="md5.hal" format="MD5SUM" file="${wpilib.ant.dir}/../lib/libHALAthena.so" />
<echo file="${wpilib.ant.dir}/md5sums">${md5.wpilib} usr/local/frc/lib/libWPILibAthena.so
${md5.nwt} usr/local/frc/lib/libNetworkTables.so
${md5.hal} usr/local/frc/lib/libHALAthena.so</echo>
<tar destfile="${wpilib.ant.dir}/control.tar">
<tarfileset dir="${wpilib.ant.dir}" username="root" group="admin" uid="0" gid="0"
prefix="">
<include name="control" />
<include name="md5sums" />
</tarfileset>
<tarfileset dir="${wpilib.ant.dir}" filemode="755" username="root" group="admin" uid="0" gid="0"
prefix="">
<include name="postinst" />
<include name="postrm" />
</tarfileset>
</tar>
<gzip destfile="${wpilib.ant.dir}/control.tar.gz" src="${wpilib.ant.dir}/control.tar"/>
<exec command="${wpilib.ant.dir}\..\..\..\toolchains\arm-none-linux-gnueabi-4.4.1\bin\arm-none-linux-gnueabi-ar -r ${opkg.name}_${cpp-sos}_${opkg.arch}.deb debian-binary control.tar.gz data.tar.gz" dir="${wpilib.ant.dir}"/>
<scp file="${wpilib.ant.dir}/${opkg.name}_${cpp-sos}_${opkg.arch}.deb" todir="${username}@${target}:/tmp"
password="${password}" trust="true"/>
<sshexec host="${target}"
username="${username}"
password="${password}"
trust="true"
command="opkg install /tmp/${opkg.name}_${cpp-sos}_${opkg.arch}.deb; sh -c 'rm -rf /tmp/wpilib*.deb'"/>
</else>
</if>
<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="chmod +x ${deploy.dir}/FRCUserProgram; ${deploy.dir}/FRCUserProgram"/>
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 -s 0 -n 1 ${deploy.log.file}"/>
</target>
<target name="debug-deploy" depends="get-target-ip" description="Deploy the jar and start the program running in debug mode.">
@@ -171,4 +96,4 @@ ${md5.hal} usr/local/frc/lib/libHALAthena.so</echo>
</sequential>
</parallel>
</target>
</project>
</project>

View File

@@ -0,0 +1 @@
/home/admin/FRCUserProgram