author Masayuki Nakano <masayuki@d-toybox.com>
Thu, 19 Feb 2015 15:50:19 +0900
changeset 229844 d7ef5a56b661bbabc20b0ef5ba09e5e8d3b9cba0
parent 194670 8f38755465a3b1d3f9586cb036ee78c1ad95c60f
child 256101 95e44c9c8457d4b313400192bb9a43483e62026e
permissions -rw-r--r--
Bug 1119609 part.3 Implement converting methods from key/code value to key/code name index r=smaug

:mod:`mozversion` --- Get application information

`mozversion <https://github.com/mozilla/mozbase/tree/master/mozversion>`_
provides version information such as the application name and the changesets
that it has been built from. This is commonly used in reporting or for
conditional logic based on the application under test.

API Usage

.. automodule:: mozversion
    :members: get_version



    import mozversion

    version = mozversion.get_version(binary='/path/to/firefox-bin')
    for (key, value) in sorted(version.items()):
        if value:
            print '%s: %s' % (key, value)

Firefox for Android::

    version = mozversion.get_version(binary='path/to/firefox.apk')
    print version['application_changeset'] # gets hg revision of build


    version = mozversion.get_version(sources='path/to/sources.xml', dm_type='adb')
    print version['gaia_changeset'] # gets gaia git revision

Command Line Usage

mozversion comes with a command line program, ``mozversion`` which may be used to
get version information from an application.


    mozversion [options]



This is the path to the target application binary or .apk. If this is omitted
then the current directory is checked for the existance of an
application.ini file. If not found, then it is assumed the target
application is a remote Firefox OS instance.


The path to the sources.xml that accompanies the target application (Firefox OS
only). If this is omitted then the current directory is checked for the
existance of a sources.xml file.



    $ mozversion --binary=/path/to/firefox-bin
    application_buildid: 20131205075310
    application_changeset: 39faf812aaec
    application_name: Firefox
    application_repository: http://hg.mozilla.org/releases/mozilla-release
    application_version: 26.0
    platform_buildid: 20131205075310
    platform_changeset: 39faf812aaec
    platform_repository: http://hg.mozilla.org/releases/mozilla-release

Firefox for Android::

    $ mozversion --binary=/path/to/firefox.apk

Firefox OS::

    $ mozversion --sources=/path/to/sources.xml
    application_buildid: 20140106040201
    application_changeset: 14ac61461f2a
    application_name: B2G
    application_repository: http://hg.mozilla.org/mozilla-central
    application_version: 29.0a1
    build_changeset: 59605a7c026ff06cc1613af3938579b1dddc6cfe
    device_firmware_date: 1380051975
    device_firmware_version_incremental: 139
    device_firmware_version_release: 4.0.4
    device_id: msm7627a
    gaia_changeset: 9a222ac02db176e47299bb37112ae40aeadbeca7
    gaia_date: 1389005812
    gecko_changeset: 3a2d8af198510726b063a217438fcf2591f4dfcf
    platform_buildid: 20140106040201
    platform_changeset: 14ac61461f2a
    platform_repository: http://hg.mozilla.org/mozilla-central