Я собираюсь сделать сборку Ant на моих источниках Eclipse. Конечная цель состоит в том, чтобы исходные и выходные данные Eclipse находились в папке, полностью находящейся вне файловой структуры Eclipse.
Уже давно я использую Ant, поэтому постепенно комментирую, а затем комментирую биты из стандартного build.xml, который генерируется при сборке примера проекта из командной строки. Я собираюсь добавить много «эха», чтобы убедиться, что каталоги получаются прямо перед тем, как я позволю ему что-то сделать. Я начал с простой цели для мусора в верхней части build.xml, которая просто повторяла «мусор» - все работало нормально.
Затем я раскомментировал этот бит:
<!-- Custom Android task to deal with the project target, and import the
proper rules.
This requires ant 1.6.0 or above. -->
<path id="android.antlibs">
<pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
<pathelement path="${sdk.dir}/tools/lib/sdklib.jar" />
<pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" />
</path>
<taskdef name="setup"
classname="com.android.ant.SetupTask"
classpathref="android.antlibs" />
<!-- Lots of commented out stuff -->
<setup />
Как только я позволю этому запускаться, эхо, которое у меня было, исчезает, и я получаю следующий вывод
[setup] Android SDK Tools Revision 7
[setup] Project Target: Google APIs
[setup] Vendor: Google Inc.
[setup] Platform Version: 2.1-update1
[setup] API level: 7
[setup]
[setup] ------------------
[setup] Resolving library dependencies:
[setup] ------------------
[setup] Ordered libraries:
[setup] ------------------
[setup]
Конечно, я ожидаю, что это не удастся, потому что я не настроил никаких каталогов input / output / lib в файлах .properties. Мне любопытно узнать, почему само задание запускается, когда я вызываю только цель «мусор». Я также хотел бы знать, что на самом деле делает SetupTask и все остальные в anttasks.jar и где я могу найти для них документацию.