Конфигурация Tradefed в формате XML анализируется, и на её основе создаётся объект Configuration , описывающий полную конфигурацию.
Объект описывается интерфейсом IConfiguration. Он будет содержать экземпляры всех объектов, определенных в XML.
Вот этот пример:
<configuration description="<description of the configuration>">
<!-- A build provider that takes local device information -->
<build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />
<!-- Some target preparation, disabled by default -->
<target_preparer class="com.android.tradefed.targetprep.PreloadedClassesPreparer">
<option name="disable" value="true" />
</target_preparer>
<!-- One test running some unit tests -->
<test class="com.android.tradefed.testtype.HostTest">
<option name="class" value="com.android.tradefed.build.BuildInfoTest" />
</test>
</configuration>
В результате:
-
IConfiguration#getBuildProvider()возвращает экземплярBootstrapBuildProvider. -
IConfiguration#getTargetPreparers()возвращает список объектовITargetPreparer, содержащих экземплярPreloadedClassesPreparer. -
IConfiguration#getTests()возвращает список объектовIRemoteTest, содержащих экземпляр объектаHostTest.
Каждый объект в конфигурационном файле может быть сопоставлен с XML-определением, поэтому понимание XML-определения обычно помогает понять, чего ожидать от конфигурационного файла.