Ant not loading salesforce task definitions?
ant, bash, salesforce
Solution
How about keeping `ant-salesforce.jar` under `/home/ec2-user/ant/ucp` and then change the `taskdef` element to look like this:
<taskdef resource="com/salesforce/antlib.xml" classpath="ant-salesforce.jar" />
Run your build again and see if things look better. Having the JAR in the same folder as `build.xml` will help you eliminate issues with permissions.
Problem
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`