I'm currently trying to work with the SalesForce.com tutorial at Deployment using the Force.com Migration Tool (ANT) . "
Im Im Im missing something ... maybe because my knowledge and experience with Ant was very limited.
I created a new Java project and copied the Sample directory from into it salesforce_ant_20.0.zip. I changed build.properties and ran it build.xmlin eclipse to check this out. Everything worked fine.
So, I created Sandbox1 in the directory srcand copied package.xmlfrom my project SFDC into it. Then I copied build.properties and build.xml from sampleto the directory src. Now that I went to run build.xml, he complained that deployRoot mypkgdid not exist. I changed deployRoot to Sandbox1and tried again to test. Below is the result:
Buildfile: D:\education\sfdc\Deploy\src\build.xml
test:
[sf:deploy] Request for a deploy submitted successfully.
[sf:deploy] Request Id for the current deploy task: 04sA0000002GwsGIAS
[sf:deploy] Waiting for server to finish processing the request…
[sf:deploy] Request Status: Completed
BUILD FAILED
D:\education\sfdc\Deploy\src\build.xml:14: FAILURES:
Error: package.xml(Account):An object ‘Account’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(AccountContactRole):An object ‘AccountContactRole’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(Activity):An object ‘Activity’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(Asset):An object ‘Asset’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(Campaign):An object ‘Campaign’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(CampaignMember):An object ‘CampaignMember’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(Case):An object ‘Case’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(CaseContactRole):An object ‘CaseContactRole’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(Contact):An object ‘Contact’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(ContentVersion):An object ‘ContentVersion’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(Contract):An object ‘Contract’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(ContractContactRole):An object ‘ContractContactRole’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(Event):An object ‘Event’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(Idea):An object ‘Idea’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(Lead):An object ‘Lead’ of type CustomObject was named in package.xml, but was not found in zipped directory
Error: package.xml(Opportunity):An object ‘Opportunity’ of type CustomObject was named in package.xml, but was not found in zipped directory
In case this helps:
(1) /src/sandbox1contains only the file package.xmlfrom another SalesForce functional project in Eclipse.
This file says:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ApexClass</name>
</types>
<types>
<members>*</members>
<name>ApexComponent</name>
</types>
<types>
<members>*</members>
<name>ApexPage</name>
</types>
<types>
<members>*</members>
<name>ApexTrigger</name>
</types>
<types>
<members>*</members>
<name>CustomApplication</name>
</types>
<types>
<members>*</members>
<name>CustomLabels</name>
</types>
<types>
<members>*</members>
<members>Account</members>
<members>AccountContactRole</members>
<members>Activity</members>
<members>Asset</members>
<members>Campaign</members>
<members>CampaignMember</members>
<members>Case</members>
<members>CaseContactRole</members>
<members>Contact</members>
<members>ContentVersion</members>
<members>Contract</members>
<members>ContractContactRole</members>
<members>Event</members>
<members>Idea</members>
<members>Lead</members>
<members>Opportunity</members>
<members>OpportunityContactRole</members>
<members>OpportunityLineItem</members>
<members>PartnerRole</members>
<members>Product2</members>
<members>Site</members>
<members>Solution</members>
<members>Task</members>
<members>User</members>
<members>UserLicense</members>
<name>CustomObject</name>
</types>
<types>
<members>*</members>
<name>CustomObjectTranslation</name>
</types>
<types>
<members>*</members>
<name>CustomPageWebLink</name>
</types>
<types>
<members>*</members>
<name>CustomSite</name>
</types>
<types>
<members>*</members>
<name>CustomTab</name>
</types>
<types>
<members>*</members>
<name>DataCategoryGroup</name>
</types>
<types>
<members>unfiled$public</members>
<members>unfiled$public/Large_Invoice_Template</members>
<members>unfiled$public/MarketingProductInquiryResponse</members>
<members>unfiled$public/SUPPORTSelfServiceNewCommentNotificationSAMPLE</members>
<members>unfiled$public/SUPPORTSelfServiceNewUserLoginInformationSAMPLE</members>
<members>unfiled$public/SUPPORTSelfServiceResetPasswordSAMPLE</members>
<members>unfiled$public/SalesNewCustomerEmail</members>
<members>unfiled$public/SupportCaseAssignmentNotification</members>
<members>unfiled$public/SupportCaseCreatedPhoneInquiries</members>
<members>unfiled$public/SupportCaseCreatedWebInquiries</members>
<members>unfiled$public/SupportCaseResponse</members>
<members>unfiled$public/SupportEscalatedCaseNotification</members>
<members>unfiled$public/SupportEscalatedCaseReassignment</members>
<members>unfiled$public/SupportSelfServiceNewLoginandPassword</members>
<members>unfiled$public/SupportSelfServiceResetPassword</members>
<name>EmailTemplate</name>
</types>
<types>
<members>*</members>
<name>HomePageComponent</name>
</types>
<types>
<members>*</members>
<name>HomePageLayout</name>
</types>
<types>
<members>*</members>
<name>Layout</name>
</types>
<types>
<members>*</members>
<name>Letterhead</name>
</types>
<types>
<members>*</members>
<name>Profile</name>
</types>
<types>
<members>ApexDevNet</members>
<name>RemoteSiteSetting</name>
</types>
<types>
<members>unfiled$public</members>
<name>Report</name>
</types>
<types>
<members>*</members>
<name>ReportType</name>
</types>
<types>
<members>*</members>
<name>Scontrol</name>
</types>
<types>
<members>*</members>
<name>StaticResource</name>
</types>
<types>
<members>*</members>
<name>Workflow</name>
</types>
<version>20.0</version>
</Package>
build.xml from Force.com's migration tool to Java / Ant says:
<property file="build.properties"/>
<property environment="env"/>
<target name="test">
<sf:deploy
username="${sf.username}"
password="${sf.password}"
serverurl="${sf.serverurl}"
deployRoot="mypkg"
/>
<mkdir dir="retrieveOutput"/>
<sf:retrieve username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" retrieveTarget="retrieveOutput" packageNames="MyPkg"/>
</target>
<target name="retrieveUnpackaged">
<mkdir dir="retrieveUnpackaged"/>
<sf:retrieve username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" retrieveTarget="retrieveUnpackaged" unpackaged="unpackaged/package.xml"/>
</target>
<target name="bulkRetrieve">
<sf:bulkRetrieve username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" metadataType="${sf.metadataType}" retrieveTarget="retrieveUnpackaged"/>
</target>
<target name="retrievePkg">
<sf:retrieve username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" retrieveTarget="retrieveOutput" packageNames="${sf.pkgName}"/>
</target>
<target name="deployUnpackaged">
<sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" deployRoot="retrieveUnpackaged"/>
</target>
<target name="deployZip">
<sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" zipFile="${sf.zipFile}" pollWaitMillis="1000"/>
</target>
<target name="deployCode">
<sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" deployRoot="codepkg">
<runTest>SampleDeployClass</runTest>
</sf:deploy>
</target>
<target name="undeployCode">
<sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" deployRoot="removecodepkg"/>
</target>
<target name="retrieveCode">
<sf:retrieve username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" retrieveTarget="codepkg" unpackaged="codepkg/package.xml"/>
</target>
<target name="deployCodeFailingTest">
<sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" deployRoot="codepkg" runAllTests="true" logType="Debugonly"/>
</target>
<target name="deployCodeCheckOnly">
<sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" deployRoot="codepkg" checkOnly="true"/>
</target>
<target name="listMetadata">
<sf:listMetadata username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" metadataType="${sf.metadataType}"/>
</target>
<target name="describeMetadata">
<sf:describeMetadata username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}"/>
</target>
Any idea what I did wrong or how to fix it?