This is a client for the "make" tool ant that allows you to send messages to ESME at certain points in the "make" process
Directory Structure- Setup
- Install the apache tool "ant"
- Create libdirectory and copy "rest-api-0.1-SNAPSHOT.jar", "commons-codec-1.2.jar", "commons-httpclient-3.1.jar" into this directory. Note: You can get these libraries via the Google Code archive
- Create src directory and copy the "EsmeAntTask?.java" file to this directory
- Change the build.xml file to point to the appropriate directories
- Change the token in the "esme" target in the build.xml file to a correct token.
- Change the proxy in the "esme" target in the build.xml file to a correct proxy.
- call ant dist esme to test the application
Build.xml
<project name="EsmeViaAnt" default="dist" basedir=".">
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<path id="project.class.path">
<pathelement path="./dist/lib/EsmeViaAnt.jar:./lib/esme-rest-api-0.1-SNAPSHOT.jar:./lib/commons-codec-1.2.jar:./lib/commons-logging-1.0.4.jar:./lib/commons-httpclient-3.1.jar/"/>
</path>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<mkdir dir="$
"/>
</target>
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from $
into $
-->
<javac srcdir="$
" destdir="$
">
<classpath refid="project.class.path"/>
</javac>
</target>
<target name="dist" depends="compile"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="$
/lib"/>
<!-- Put everything in $
into the jar file -->
<jar jarfile="$
/lib/EsmeViaAnt.jar" basedir="$
"/>
</target>
<target name="esme"
description="Send Esme" >
<java fork="true"
classname="EsmeAntTask">
<arg value="http://api.esme.us/esme/api"/>
<arg value="IFDHJ2RNDECAT84ZJZUKDE59TVOIVTXL"/>
<arg value="proxy:81"/>
<arg value="A message from the ant build process"/>
<classpath>
<pathelement path="./dist/lib/EsmeViaAnt.jar:./lib/esme-rest-api-0.1-SNAPSHOT.jar:./lib/commons-codec-1.2.jar:./lib/commons-logging-1.0.4.jar:./lib/commons-httpclient-3.1.jar/"/>
</classpath>
</java>
</target>
</project>
EsmeAntTask? java class
import us.esme.api.EsmeRestApi;
import us.esme.api.Message;
public class EsmeAntTask
{
public static void main (String[] args) {
String apiUrl;
String authToken;
String localProxy;
String message;
EsmeRestApi esme;
apiUrl = args[0];
authToken = args[1];
localProxy = args[2];
message = args[3];
try {
esme = new EsmeRestApi(apiUrl);
if ((localProxy != null) && !("".equals(localProxy)))
esme.login(authToken);
Message esmeMsg = new Message();
esmeMsg.setText(message);
String[] tags = new String[1];
tags[0] = "Ant Task";
esmeMsg.setTags(tags);
esmeMsg.setVia("Ant");
esme.sendMsg(esmeMsg);
}
catch (Exception e) {}
}
}