2015-02-06 3 views
2

Я хочу удалить связанный с устройством проект из roomervice.xml, сгенерированный с помощью brunching в CM и добавив другое репо. Теоретически (в моем местном манифесте, называемом mint.xml), мне просто нужно будет <remove-project name="Cyanogenmod/.... Но синхронизации репо говорит мне, чтоAndroid/Cyanogenmod building: remove-project from roomservice.xml

удалить-проект элемент указывает несуществующий проект

Это потому, что мой местный манифест добыт перед roomservice.xml?

Вопрос немного связан с этой: trouble-with-cyanogenmod-local-manifest

Дополнительные источники: CM Wiki about removing projects

Вы знаете, как источник собственного манифеста после в roomservice.xml или каким-то образом добиться того же ?

Спасибо за любые ответы.

+0

AFAIK просто редактирование roomervice.xml не разрешено или не рекомендуется. – larkey

ответ

3

Как видно из manifest_xml.py репо,

LOCAL_MANIFESTS_DIR_NAME = 'local_manifests' 
... 
class XmlManifest(object): 
    ... 
    def _Load(self): 
     ... 
     local_dir = os.path.abspath(os.path.join(self.repodir, LOCAL_MANIFESTS_DIR_NAME)) 
     try: 
     for local_file in sorted(os.listdir(local_dir)): 
      if local_file.endswith('.xml'): 
      local = os.path.join(local_dir, local_file) 
      nodes.append(self._ParseManifestXml(local, self.repodir)) 
     except OSError: 
     pass 

локальные файлы манифеста считываются в алфавитном порядке. Таким образом, файл mint.xml загружается до roomervice.xml, поэтому в то время, когда вы пытаетесь удалить проект, определенный в файле roomervice.xml, он фактически не существует. Переименуйте файл в нечто, что сортируется после roomervice.xml.