Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <project name="Deploy an unpackaged set of metadata to your org"
- default="deploy"
- basedir="."
- xmlns:sf="antlib:com.salesforce">
- <property environment="env" />
- <!--
- Deploy task that will deploy all metadata defined in a contract (the package.xml)
- minus custom sites. Custom sites can be deployed using the ANT task 'sites'.
- -->
- <target name="deploy" description="deploy metadata">
- <!-- Delete existing temp deploy directory if found. -->
- <delete includeEmptyDirs="true" quiet="true">
- <fileset dir="${temp.deploy.dir}"/>
- </delete>
- <!-- Delete the deploy zip file. -->
- <delete file="deploy.zip" />
- <!-- Make a new temp deploy directory. -->
- <mkdir dir="${temp.deploy.dir}"/>
- <!-- Copy metadata from project src direcory. -->
- <copy todir="${temp.deploy.dir}">
- <fileset dir="${source.code.dir}">
- <include name="**/*.*"/>
- <exclude name="**/*.site"/>
- <exclude name="**/Reply.workflow"/>
- <exclude name="**/PersonAccount.workflow"/>
- <exclude name="**/Question.workflow"/>
- <exclude name="**/SocialPost.workflow"/>
- </fileset>
- </copy>
- <!-- Remove the line that breaks the build (the line is added by Force.com IDE -->
- <replace file="${temp.deploy.dir}/package.xml" token="<members>unfiled$public</members>" value=""/>
- <!-- Create zip file for deployment -->
- <zip destfile="deploy.zip" basedir="${temp.deploy.dir}"/>
- <!-- Delete the temp deploy dir. -->
- <delete includeEmptyDirs="true">
- <fileset dir="${temp.deploy.dir}"/>
- </delete>
- <!-- Salesforce deploy task. -->
- <!-- Added allowMissingFiles option because the Force.com IDE adds 'unfiled$public' -->
- <sf:deploy username="${sf.username}"
- password="${sf.password}"
- serverurl="${sf.serverurl}"
- zipFile="deploy.zip"
- pollWaitMillis="10000"
- maxPoll="100"
- runAllTests="true" />
- <!-- Delete the deploy zip file. -->
- <delete file="deploy.zip" />
- </target>
- <target name="sites" description="deploy sites only">
- <!-- Delete existing temp deploy directory if found. -->
- <delete includeEmptyDirs="true" quiet="true">
- <fileset dir="${temp.deploy.dir}"/>
- </delete>
- <!-- Delete the deploy zip file. -->
- <delete file="deploy.zip" />
- <!-- Make a new temp deploy directory. -->
- <mkdir dir="${temp.deploy.dir}"/>
- <!-- Copy the sites metadata to the temp deploy dir. -->
- <copy todir="${temp.deploy.dir}">
- <fileset dir="${source.code.dir}">
- <include name="**/*.site"/>
- <include name="package.xml"/>
- </fileset>
- </copy>
- <!-- Replace all generic environment tokens with specific enviroment tokens for the org being deployed to. -->
- <replace dir="${temp.deploy.dir}/sites" value=".${sf.org.name}" token="[ENVNAME]">
- <include name="**/*.site"/>
- </replace>
- <!-- Create zip file for deployment -->
- <zip destfile="deploy.zip" basedir="${temp.deploy.dir}"/>
- <!-- Delete the temp deploy dir. -->
- <delete includeEmptyDirs="true">
- <fileset dir="${temp.deploy.dir}"/>
- </delete>
- <!-- Salesforce deploy task. -->
- <sf:deploy username="${sf.username}"
- password="${sf.password}"
- serverurl="${sf.serverurl}"
- zipFile="deploy.zip"
- pollWaitMillis="10000"
- maxPoll="100"
- runAllTests="false"
- allowMissingFiles="true" />
- <!-- Delete the deploy zip file. -->
- <delete file="deploy.zip" />
- </target>
- <target name="retrieve">
- <!-- Delete temp retrieve dir. -->
- <delete includeEmptyDirs="true" quiet="true">
- <fileset dir="${temp.retrieve.dir}"/>
- </delete>
- <!-- Make a new temp retrieve dir. -->
- <mkdir dir="${temp.retrieve.dir}"/>
- <!-- Salesforce ant retrieve task. -->
- <sf:retrieve username="${sf.username}"
- password="${sf.password}"
- serverurl="${sf.serverurl}"
- retrieveTarget="${temp.retrieve.dir}"
- unpackaged="${source.code.dir}/package.xml"/>
- <!-- Wait a bit for the previous task to complete. -->
- <sleep seconds="5"/>
- <!-- Replace environment specific tokens with generic tokens. -->
- <replace dir="${temp.retrieve.dir}/sites" value="[ENVNAME]" token=".${sf.org.name}">
- <include name="**/*.site"/>
- </replace>
- <!-- Copy all metadata from temp retrieve dir to src dir. -->
- <copy todir="${source.code.dir}">
- <fileset dir="${temp.retrieve.dir}" />
- </copy>
- <!-- Remove temp retrieve dir. -->
- <delete includeEmptyDirs="true">
- <fileset dir="${temp.retrieve.dir}"/>
- </delete>
- </target>
- </project>
Add Comment
Please, Sign In to add comment