Loading tools/releasetools/both_generator.py 0 → 100644 +60 −0 Original line number Diff line number Diff line # Copyright (C) 2009 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import edify_generator import amend_generator class BothGenerator(object): def __init__(self, version): self.version = version self.edify = edify_generator.EdifyGenerator(version) self.amend = amend_generator.AmendGenerator() def MakeTemporary(self): x = BothGenerator(self.version) x.edify = self.edify.MakeTemporary() x.amend = self.amend.MakeTemporary() return x def AppendScript(self, other): self.edify.AppendScript(other.edify) self.amend.AppendScript(other.amend) def _DoBoth(self, name, *args): getattr(self.edify, name)(*args) getattr(self.amend, name)(*args) def AssertSomeFingerprint(self, *a): self._DoBoth("AssertSomeFingerprint", *a) def AssertOlderBuild(self, *a): self._DoBoth("AssertOlderBuild", *a) def AssertDevice(self, *a): self._DoBoth("AssertDevice", *a) def AssertSomeBootloader(self, *a): self._DoBoth("AssertSomeBootloader", *a) def ShowProgress(self, *a): self._DoBoth("ShowProgress", *a) def PatchCheck(self, *a): self._DoBoth("PatchCheck", *a) def CacheFreeSpaceCheck(self, *a): self._DoBoth("CacheFreeSpaceCheck", *a) def Mount(self, *a): self._DoBoth("Mount", *a) def UnpackPackageDir(self, *a): self._DoBoth("UnpackPackageDir", *a) def Comment(self, *a): self._DoBoth("Comment", *a) def Print(self, *a): self._DoBoth("Print", *a) def FormatPartition(self, *a): self._DoBoth("FormatPartition", *a) def DeleteFiles(self, *a): self._DoBoth("DeleteFiles", *a) def ApplyPatch(self, *a): self._DoBoth("ApplyPatch", *a) def WriteFirmwareImage(self, *a): self._DoBoth("WriteFirmwareImage", *a) def WriteRawImage(self, *a): self._DoBoth("WriteRawImage", *a) def SetPermissions(self, *a): self._DoBoth("SetPermissions", *a) def SetPermissionsRecursive(self, *a): self._DoBoth("SetPermissionsRecursive", *a) def MakeSymlinks(self, *a): self._DoBoth("MakeSymlinks", *a) def AppendExtra(self, *a): self._DoBoth("AppendExtra", *a) def AddToZip(self, input_zip, output_zip, input_path=None): self._DoBoth("AddToZip", input_zip, output_zip, input_path) tools/releasetools/ota_from_target_files +5 −2 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ import zipfile import common import amend_generator import edify_generator import both_generator OPTIONS = common.OPTIONS OPTIONS.package_key = "build/target/product/security/testkey" Loading Loading @@ -294,13 +295,15 @@ def AppendAssertions(script, input_zip): def WriteFullOTAPackage(input_zip, output_zip): if OPTIONS.script_mode in ("amend", "auto"): if OPTIONS.script_mode == "auto": script = both_generator.BothGenerator(2) elif OPTIONS.script_mode == "amend": script = amend_generator.AmendGenerator() else: # TODO: how to determine this? We don't know what version it will # be installed on top of. For now, we expect the API just won't # change very often. script = edify_generator.EdifyGenerator(1) script = edify_generator.EdifyGenerator(2) if not OPTIONS.omit_prereq: ts = GetBuildProp("ro.build.date.utc", input_zip) Loading Loading
tools/releasetools/both_generator.py 0 → 100644 +60 −0 Original line number Diff line number Diff line # Copyright (C) 2009 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import edify_generator import amend_generator class BothGenerator(object): def __init__(self, version): self.version = version self.edify = edify_generator.EdifyGenerator(version) self.amend = amend_generator.AmendGenerator() def MakeTemporary(self): x = BothGenerator(self.version) x.edify = self.edify.MakeTemporary() x.amend = self.amend.MakeTemporary() return x def AppendScript(self, other): self.edify.AppendScript(other.edify) self.amend.AppendScript(other.amend) def _DoBoth(self, name, *args): getattr(self.edify, name)(*args) getattr(self.amend, name)(*args) def AssertSomeFingerprint(self, *a): self._DoBoth("AssertSomeFingerprint", *a) def AssertOlderBuild(self, *a): self._DoBoth("AssertOlderBuild", *a) def AssertDevice(self, *a): self._DoBoth("AssertDevice", *a) def AssertSomeBootloader(self, *a): self._DoBoth("AssertSomeBootloader", *a) def ShowProgress(self, *a): self._DoBoth("ShowProgress", *a) def PatchCheck(self, *a): self._DoBoth("PatchCheck", *a) def CacheFreeSpaceCheck(self, *a): self._DoBoth("CacheFreeSpaceCheck", *a) def Mount(self, *a): self._DoBoth("Mount", *a) def UnpackPackageDir(self, *a): self._DoBoth("UnpackPackageDir", *a) def Comment(self, *a): self._DoBoth("Comment", *a) def Print(self, *a): self._DoBoth("Print", *a) def FormatPartition(self, *a): self._DoBoth("FormatPartition", *a) def DeleteFiles(self, *a): self._DoBoth("DeleteFiles", *a) def ApplyPatch(self, *a): self._DoBoth("ApplyPatch", *a) def WriteFirmwareImage(self, *a): self._DoBoth("WriteFirmwareImage", *a) def WriteRawImage(self, *a): self._DoBoth("WriteRawImage", *a) def SetPermissions(self, *a): self._DoBoth("SetPermissions", *a) def SetPermissionsRecursive(self, *a): self._DoBoth("SetPermissionsRecursive", *a) def MakeSymlinks(self, *a): self._DoBoth("MakeSymlinks", *a) def AppendExtra(self, *a): self._DoBoth("AppendExtra", *a) def AddToZip(self, input_zip, output_zip, input_path=None): self._DoBoth("AddToZip", input_zip, output_zip, input_path)
tools/releasetools/ota_from_target_files +5 −2 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ import zipfile import common import amend_generator import edify_generator import both_generator OPTIONS = common.OPTIONS OPTIONS.package_key = "build/target/product/security/testkey" Loading Loading @@ -294,13 +295,15 @@ def AppendAssertions(script, input_zip): def WriteFullOTAPackage(input_zip, output_zip): if OPTIONS.script_mode in ("amend", "auto"): if OPTIONS.script_mode == "auto": script = both_generator.BothGenerator(2) elif OPTIONS.script_mode == "amend": script = amend_generator.AmendGenerator() else: # TODO: how to determine this? We don't know what version it will # be installed on top of. For now, we expect the API just won't # change very often. script = edify_generator.EdifyGenerator(1) script = edify_generator.EdifyGenerator(2) if not OPTIONS.omit_prereq: ts = GetBuildProp("ro.build.date.utc", input_zip) Loading