27 |
|
import java.util.Iterator; |
28 |
|
|
29 |
|
import org.apache.tools.ant.BuildException; |
30 |
– |
import org.apache.tools.ant.Task; |
30 |
|
import org.apache.tools.ant.taskdefs.ExecTask; |
31 |
|
import org.apache.tools.ant.taskdefs.condition.Os; |
32 |
|
import org.apache.tools.ant.types.FileSet; |
34 |
|
import org.apache.tools.ant.types.resources.FileResource; |
35 |
|
import org.apache.tools.ant.util.FileUtils; |
36 |
|
|
37 |
< |
public class Dex extends Task |
37 |
> |
public class Dex extends CommandTask |
38 |
|
{ |
39 |
|
private boolean debug_; |
40 |
|
private boolean verbose_; |
158 |
|
if (isUpToDate()) |
159 |
|
return; |
160 |
|
|
161 |
< |
ExecTask exec = (ExecTask)getProject().createTask("exec"); |
162 |
< |
|
164 |
< |
exec.setTaskName(getTaskName()); |
165 |
< |
exec.setExecutable(Os.isFamily(Os.FAMILY_WINDOWS) ? "dx.bat" : "dx"); |
166 |
< |
exec.setFailonerror(true); |
167 |
< |
exec.createArg().setValue("--dex"); |
161 |
> |
command(Os.isFamily(Os.FAMILY_WINDOWS) ? "dx.bat" : "dx"); |
162 |
> |
argument("--dex"); |
163 |
|
|
164 |
|
if (debug_) |
165 |
< |
exec.createArg().setValue("--debug"); |
165 |
> |
argument("--debug"); |
166 |
|
|
167 |
|
if (verbose_) |
168 |
< |
exec.createArg().setValue("--verbose"); |
168 |
> |
argument("--verbose"); |
169 |
|
|
170 |
|
if (positions_ != null) |
171 |
< |
exec.createArg().setValue("--positions=" + positions_); |
171 |
> |
argument("--positions=" + positions_); |
172 |
|
|
173 |
|
if (noLocals_) |
174 |
< |
exec.createArg().setValue("--no-locals"); |
174 |
> |
argument("--no-locals"); |
175 |
|
|
176 |
|
if (noOptimize_) |
177 |
< |
exec.createArg().setValue("--no-optimize"); |
177 |
> |
argument("--no-optimize"); |
178 |
|
|
179 |
|
if (statistics_) |
180 |
< |
exec.createArg().setValue("--statistics"); |
180 |
> |
argument("--statistics"); |
181 |
|
|
182 |
|
if (noOptimizeList_ != null) |
183 |
< |
exec.createArg().setValue("--no-optimize-list=" + noOptimizeList_); |
183 |
> |
argument("--no-optimize-list=" + noOptimizeList_); |
184 |
|
|
185 |
|
if (optimizeList_ != null) |
186 |
< |
exec.createArg().setValue("--optimize-list=" + optimizeList_); |
186 |
> |
argument("--optimize-list=" + optimizeList_); |
187 |
|
|
188 |
|
if (noStrict_) |
189 |
< |
exec.createArg().setValue("--no-strict"); |
189 |
> |
argument("--no-strict"); |
190 |
|
|
191 |
|
if (keepClasses_) |
192 |
< |
exec.createArg().setValue("--keep-classes"); |
192 |
> |
argument("--keep-classes"); |
193 |
|
|
194 |
|
if (output_ != null) |
195 |
< |
exec.createArg().setValue("--output=" + output_); |
195 |
> |
argument("--output=" + output_); |
196 |
|
|
197 |
|
if (dumpTo_ != null) |
198 |
< |
exec.createArg().setValue("--dump-to=" + dumpTo_); |
198 |
> |
argument("--dump-to=" + dumpTo_); |
199 |
|
|
200 |
|
if (dumpWidth_ != null) |
201 |
< |
exec.createArg().setValue("--dump-width=" + dumpWidth_); |
201 |
> |
argument("--dump-width=" + dumpWidth_); |
202 |
|
|
203 |
|
if (dumpMethod_ != null) |
204 |
< |
exec.createArg().setValue("--dump-method=" + dumpMethod_); |
204 |
> |
argument("--dump-method=" + dumpMethod_); |
205 |
|
|
206 |
|
if (verboseDump_) |
207 |
< |
exec.createArg().setValue("--verbose-dump"); |
207 |
> |
argument("--verbose-dump"); |
208 |
|
|
209 |
|
if (noFiles_) |
210 |
< |
exec.createArg().setValue("--no-files"); |
210 |
> |
argument("--no-files"); |
211 |
|
|
212 |
|
if (coreLibrary_) |
213 |
< |
exec.createArg().setValue("--core-library"); |
213 |
> |
argument("--core-library"); |
214 |
|
|
215 |
|
for (ResourceCollection fileSet : fileSets_) |
216 |
|
for (Iterator iterator = fileSet.iterator(); iterator.hasNext();) |
217 |
< |
exec.createArg().setValue(iterator.next().toString()); |
217 |
> |
argument(iterator.next().toString()); |
218 |
|
|
219 |
< |
exec.execute(); |
219 |
> |
super.execute(); |
220 |
|
} |
221 |
|
|
222 |
|
private boolean isUpToDate() |