Die tradefed XML-Konfiguration wird geparst und daraus ein Configuration
-Objekt erstellt, das die vollständige Konfiguration beschreibt.
Das Objekt wird durch die IConfiguration-Schnittstelle beschrieben und enthält eine Instanz aller in der XML-Datei definierten Objekte.
Dieses Beispiel:
<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>
Dies hat folgende Auswirkungen:
IConfiguration#getBuildProvider()
, um eineBootstrapBuildProvider
-Instanz zurückzugeben.IConfiguration#getTargetPreparers()
, um eine Liste vonITargetPreparer
mit einer Instanz vonPreloadedClassesPreparer
zurückzugeben.IConfiguration#getTests()
, um eine Liste vonIRemoteTest
mit einer Instanz vonHostTest
zurückzugeben.
Jedes einzelne Objekt im Konfigurationsobjekt kann der XML-Definition zugeordnet werden. Wenn Sie also die XML-Definition kennen, können Sie in der Regel besser verstehen, was vom Konfigurationsobjekt erwartet wird.