The Question
I'm trying to use the Force.com Migration Tool (a custom ant library) on a linux box and can't for the life of me figure out how to get ant to see that library. What am I doing wrong?
The Error Message
BUILD FAILED
/home/ec2-user/ant/ucp/build.xml:48: Problem: failed to create
task or type antlib:com.salesforce:retrieve
Cause: The name is undefined.
The Background
I installed ant using yum install ant
and then I dropped the Force.com Migration Tool (ant-salesforce.jar) into /usr/share/ant/lib
. I'm able to see this library when I run ant -diagnostics
, but none of the tasks for that library (should be seeing deploy, retrieve, etc.). I've uploaded a gist with the full output from ant -diagnostics
.
-------------------------------------------
ANT_HOME/lib jar listing
-------------------------------------------
ant.home: /usr/share/ant
ant-bootstrap.jar (19837 bytes)
ant-salesforce.jar (3293054 bytes)
ant.jar (1942059 bytes)
ant-launcher.jar (18418 bytes)
After lots of googling and manual reading I tried the following to no avail (NB: the above diagnostics is without any of the below changes). I know I'm missing something obvious :(
- Setting $ANT_HOME
export ANT_HOME=/usr/share/ant
- Fiddling with permissions
chmod +x /usr/share/ant/lib/salesforce-jar
- Fiddling with groups
chown root:root /usr/share/ant/lib/salesforce-jar
- Passing in class with -lib
ant -lib /usr/share/ant/lib/salesforce-jar retrieve ...
- Passing in lib folder with -lib
ant -lib /usr/share/ant/lib retrieve ...
- Adding $ANT_HOME to $PATH
export PATH=$PATH:$ANT_HOME/bin