Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
henningSaul
Level 7

ANT Deployment Script

Please find below a little ANT build script to deploy your application to your local Roku box.
The actual deploy task requires a few 3rd party libraries as ANT provides no standard task for HTTP post.
I only tested this with a small sample application, but you might find it useful anyhow.
Cheers
--Henning

build.xml

<project name="roku-test" default="deploy" basedir=".">
<description>
A simple ANT build file that bundles the source and images folders into a zip
and pushes it to your Roku (see local.properties for configuration).
</description>

<!-- deploy task requires fikin-ant tasks and dependent libraries -->
<taskdef name="httpmpost" classname="net.sf.fikin.ant.httpclientanttask.AntMultipartPostMethod">
<!-- requires the following JARs:
fikin-ant-1.7.3.jar
commons-httpclient-3.1.jar
commons-logging-1.1.1.jar
commons-codec-1.4.jar -->
</taskdef>

<!-- set global properties for this build -->
<property name="source" location="source" />
<property name="images" location="images" />
<property name="build" location="target" />
<property name="dist" location="out" />
<property name="distfile" location="${dist}/${ant.project.name}.zip" />
<!-- load environment specific properties -->
<property file="local.properties" />

<target name="init">
<tstamp />
</target>

<!-- "compile" all resources, possibly do some filtering etc -->
<target name="compile" depends="init">
<mkdir dir="${build}" />
<copy todir="${build}/source">
<fileset dir="${source}" />
</copy>
<copy todir="${build}/images">
<fileset dir="${images}" />
</copy>
</target>

<target name="dist" depends="compile">
<mkdir dir="${dist}" />
<zip basedir="${build}" destfile="${distfile}" />
</target>

<target name="deploy" depends="dist">
<echo message="Deploying Application to Roku at http://${ROKU_DEV_TARGET}" />
<httpmpost url="http://${ROKU_DEV_TARGET}/plugin_install">
<postFile name="archive" file="${distfile}" />
<poststring name="mysubmit" value="Install" />
</httpmpost>
</target>

<target name="clean">
<delete dir="${build}" />
<delete dir="${dist}" />
</target>
</project>


local.properties

# IP address of your Roku, see Settings->player info
ROKU_DEV_TARGET=10.0.1.4
0 Kudos