vendor: import roomservice from android-7.1

build: tools: add in roomservice

This is a new implementation of roomservice
use the new github search api to reduce the memory footprint, and make it less processor intensive
allow for unofficial devices to fetch dependencies. just specify your github organization

to fetch dependencies:
    add a file called 'omni.dependencies' to the root of your device tree
    an example configuration for the dependency file is:

[
  {
    "repository": "android_device_sony_common",
    "target_path": "device/sony/common"
  },
  {
    "repository": "legacybop/android_hardware_qcom_display-legacy",
    "target_path": "hardware/qcom/display-legacy",
    "revision": "omni-4.3"
  }

please note that comments can not go into this file. It must be valid json

PatchSet 7:
  add support to change port script to another team with config
  finished pep8'ing
  more checks on manifest parsing

Change-Id: I3d7a8d46d3effbb3d2480c136c9b6b6e610b9b2e

Support fetching dependencies even if device tree fails.

This is required when device tree depends on dependencies to lunch.

Change-Id: If62cd9777caf768f8070570ca0835052645c6b20

roomservice: Fix os.path.isdir calls

Apparently on some Python installations
it throws exception instead of returning False.

Change-Id: I9d901e3260bab411cf3466346c421594f0922562

roomservice: the search api is out of preview now

Change-Id: I95f088daf8537784caf774ad6863037f7019f22d

roomservice: Add -f and --no-clone-bundle flags to repo sync

Suppress scary-looking common warnings during resolving.

Change-Id: I4337ec95992ad68ff4471b0d0b7346e933269503

roomservice: Change default remote to omnirom

Using the default of github results in people unable to use gerrit
to submit patches to repos brought in by roomservice

Change-Id: Idccd6c35bf81a35135e893ed03f6c5745059ec82

roomservice: Fix handling of devices with _ in their name

Currently, roomservice takes every _ in the device tree name and
replaces it with /

Instead, strip the device name (such as pollux_windy) from the repo
name before replacing _ with / and then append it again when we're done

Change-Id: Ieabe85ecd8829c959a7296e5cd73f577879c4ffc

roomservice: urgent: add "+fork:true"

Enable a device config to be found on github if it was forked

thx @cybojenix

Change-Id: Ic63f82b9ed754dcba17725f5aa75d0011896b09c

Roomservice: Search gerrit instead of github

* Search for devices using gerrit api instead of github
* Minor cleanups & fixes

Change-Id: I54fc898f3c773f79936568818996ae5fab11e491

Fix grammar error in roomservice; Only add xml files in local_manifests

Change-Id: Ia132acddd2761ec4c1bea7fb510e3bea306ea9fc

roomservice: support same repo using different path and revision

Change-Id: Ifd47cbeab2ca7e99a117883e3a3ecb880581e110

roomservice: catch revision changes for existing entries

delete existing roomservice file and restart in that case

Change-Id: I2adc62da01fb75cd8ee5b13b5864043fb2594d0f

roomservice: dynamically remove duplicate projects from roomservice manifest

Change-Id: Idf4da69ca829fcd59d5264b05b9ed1c37d0195f8

roomservice: Handling URLError exception during fetch device process

BEFORE:

humberos@fedora:/android/omni-6.0$ bib leo
WARNING: Trying to fetch a device that's already there
Traceback (most recent call last):
  File "build/tools/roomservice.py", line 319, in <module>
    fetch_dependencies(device)
  File "build/tools/roomservice.py", line 275, in fetch_dependencies
    fetch_device(device)
  File "build/tools/roomservice.py", line 287, in fetch_device
    git_data = search_gerrit_for_device(device)
  File "build/tools/roomservice.py", line 71, in search_gerrit_for_device
    response = urllib.request.urlopen(git_req)
  File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib64/python2.7/urllib2.py", line 431, in open
    response = self._open(req, data)
  File "/usr/lib64/python2.7/urllib2.py", line 449, in _open
    '_open', req)
  File "/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "/usr/lib64/python2.7/urllib2.py", line 1242, in https_open
    context=self._context)
  File "/usr/lib64/python2.7/urllib2.py", line 1199, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [Errno -5] No address associated with hostname>

AFTER:

humberos@fedora:/android/omni-6.0$ bib leo
WARNING: Trying to fetch a device that's already there
WARNING: No network connection available.

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I18950704c5b7d13553374611d164c2464c1ceab2

roomservice: Create manifest entries from common repos

With this change we will be able to read omni.dependencies from common repositories.

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: Ic66ceead3601263df0c0e181a45b9ef7e7a32b77

roomservice: used 8.0 for default rev

Change-Id: Idfc79aa8ed36bcafbfce134d2ec71a93e00ce66a
1 file changed
tree: cdd01f066185f9b6a3b8f9737ce0e7c455460777
  1. build/
  2. charger/
  3. config/
  4. overlay/
  5. prebuilt/
  6. sepolicy/
  7. utils/
  8. Android.mk