ちょいメモ。
方法
以下のような構成で build.properties と 3 つの XML ファイルを用意する。
├── build.properties ├── build.xml └── [任意のディレクトリ名] ├── destructiveChanges.xml └── package.xml
package.xml
API のバージョンだけ書く。
<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <version>32.0</version> </Package>
destructiveChanges.xml
デプロイする時の package.xml と同じように、削除したいファイルを記述する。
注) *
(ワイルドカード) は使えない
<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>HogeClass</members> <members>FugaClass</members> <name>ApexClass</name> </types> <types> <members>MyCustomObject__c</members> <name>CustomObject</name> </types> <version>32.0</version> </Package>
build.xml
package.xml と destructiveChanges.xml が存在するディレクトリを deployRoot
に指定。
target name は何でもいい。
<target name="undeployCode"> <sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" deployRoot="[ディレクトリ名]"/> </target>
ant コマンドの実行
$ ant undeployCode
リファレンス
https://sites.google.com/site/odekakeshimasyo/salesforcemigrationtool