Takas edilen yapılandırma nesnesi

Tradefed XML yapılandırması ayrıştırılır ve bu yapılandırmadan tüm yapılandırmayı açıklayan bir Configuration nesnesi oluşturulur.

Nesne, IConfiguration arayüzü tarafından tanımlanır.XML'de tanımlanan tüm nesnelerin bir örneğini içerir.

Bu örnekte:

<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>

Sonuç olarak:

  • IConfiguration#getBuildProvider() BootstrapBuildProvider örneği döndürür.
  • IConfiguration#getTargetPreparers(), PreloadedClassesPreparer örneği içeren ITargetPreparer öğelerinin listesini döndürür.
  • HostTest örneği içeren IRemoteTest öğelerinin listesini döndürmek için IConfiguration#getTests().

Yapılandırma nesnesinde bulunan her nesne XML tanımı ile eşlenebilir. Bu nedenle, XML tanımını anlamak genellikle yapılandırma nesnesinden ne bekleneceğini anlamanıza yardımcı olur.