fbt: reproducible manifest builds & improvements (#1801)
* fbt: reproducible manifest builds, less rebuild on small updates; scripts: assets: using timestamp from commandline af available * fbt: added app import validation for launch_app & single app build targets * fbt: COMSTR for app imports validation * docs: minor fixes * docs: markdown fix * vscode: comments for RTOS startup Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -39,6 +39,13 @@ class Main(App):
|
||||
"manifest", help="Create directory Manifest"
|
||||
)
|
||||
self.parser_manifest.add_argument("local_path", help="local_path")
|
||||
self.parser_manifest.add_argument(
|
||||
"--timestamp",
|
||||
help="timestamp value to embed",
|
||||
default=0,
|
||||
type=int,
|
||||
required=False,
|
||||
)
|
||||
self.parser_manifest.set_defaults(func=self.manifest)
|
||||
|
||||
self.parser_copro = self.subparsers.add_parser(
|
||||
@@ -213,7 +220,7 @@ class Main(App):
|
||||
self.logger.info(
|
||||
f'Creating temporary Manifest for directory "{directory_path}"'
|
||||
)
|
||||
new_manifest = Manifest()
|
||||
new_manifest = Manifest(self.args.timestamp)
|
||||
new_manifest.create(directory_path)
|
||||
|
||||
self.logger.info(f"Comparing new manifest with existing")
|
||||
|
@@ -106,11 +106,11 @@ addManifestRecord(ManifestRecordFile)
|
||||
|
||||
|
||||
class Manifest:
|
||||
def __init__(self):
|
||||
def __init__(self, timestamp_value=None):
|
||||
self.version = None
|
||||
self.records = []
|
||||
self.records.append(ManifestRecordVersion(MANIFEST_VERSION))
|
||||
self.records.append(ManifestRecordTimestamp(timestamp()))
|
||||
self.records.append(ManifestRecordTimestamp(timestamp_value or timestamp()))
|
||||
self.logger = logging.getLogger(self.__class__.__name__)
|
||||
|
||||
def load(self, filename):
|
||||
|
Reference in New Issue
Block a user