tools: fix double builds with idf.py

This commit is contained in:
Renz Christian Bagaporo
2020-02-14 12:24:11 +05:00
parent eb865008d5
commit a5d49d4db5
2 changed files with 9 additions and 14 deletions

View File

@@ -111,6 +111,7 @@ def action_extensions(base_actions, project_path):
run_tool("idf_monitor", monitor_args, args.project_dir) run_tool("idf_monitor", monitor_args, args.project_dir)
def flash(action, ctx, args): def flash(action, ctx, args):
ensure_build_directory(args, ctx.info_name)
""" """
Run esptool to flash the entire project, from an argfile generated by the build system Run esptool to flash the entire project, from an argfile generated by the build system
""" """
@@ -147,8 +148,7 @@ def action_extensions(base_actions, project_path):
"callback": flash, "callback": flash,
"help": "Flash the project.", "help": "Flash the project.",
"options": global_options + [baud_rate, port], "options": global_options + [baud_rate, port],
"dependencies": ["all"], "order_dependencies": ["all", "erase_flash"],
"order_dependencies": ["erase_flash"],
}, },
"erase_flash": { "erase_flash": {
"callback": erase_flash, "callback": erase_flash,
@@ -197,34 +197,29 @@ def action_extensions(base_actions, project_path):
"callback": flash, "callback": flash,
"help": "Flash partition table only.", "help": "Flash partition table only.",
"options": [baud_rate, port], "options": [baud_rate, port],
"dependencies": ["partition_table"], "order_dependencies": ["partition_table", "erase_flash"],
"order_dependencies": ["erase_flash"],
}, },
"bootloader-flash": { "bootloader-flash": {
"callback": flash, "callback": flash,
"help": "Flash bootloader only.", "help": "Flash bootloader only.",
"options": [baud_rate, port], "options": [baud_rate, port],
"dependencies": ["bootloader"], "order_dependencies": ["bootloader", "erase_flash"],
"order_dependencies": ["erase_flash"],
}, },
"app-flash": { "app-flash": {
"callback": flash, "callback": flash,
"help": "Flash the app only.", "help": "Flash the app only.",
"options": [baud_rate, port], "options": [baud_rate, port],
"dependencies": ["app"], "order_dependencies": ["app", "erase_flash"],
"order_dependencies": ["erase_flash"],
}, },
"encrypted-app-flash": { "encrypted-app-flash": {
"callback": flash, "callback": flash,
"help": "Flash the encrypted app only.", "help": "Flash the encrypted app only.",
"dependencies": ["app"], "order_dependencies": ["app", "erase_flash"],
"order_dependencies": ["erase_flash"],
}, },
"encrypted-flash": { "encrypted-flash": {
"callback": flash, "callback": flash,
"help": "Flash the encrypted project.", "help": "Flash the encrypted project.",
"dependencies": ["all"], "order_dependencies": ["all", "erase_flash"],
"order_dependencies": ["erase_flash"],
}, },
}, },
} }

View File

@@ -84,7 +84,7 @@ class TestDependencyManagement(unittest.TestCase):
args=['--dry-run', 'flash'], args=['--dry-run', 'flash'],
standalone_mode=False, standalone_mode=False,
) )
self.assertEqual(['all', 'flash'], list(result.keys())) self.assertEqual(['flash'], list(result.keys()))
def test_order_only_dependencies(self): def test_order_only_dependencies(self):
result = idf.init_cli()( result = idf.init_cli()(
@@ -105,7 +105,7 @@ class TestDependencyManagement(unittest.TestCase):
args=['--dry-run', 'clean', 'monitor', 'clean', 'fullclean', 'flash'], args=['--dry-run', 'clean', 'monitor', 'clean', 'fullclean', 'flash'],
standalone_mode=False, standalone_mode=False,
) )
self.assertEqual(['fullclean', 'clean', 'all', 'flash', 'monitor'], list(result.keys())) self.assertEqual(['fullclean', 'clean', 'flash', 'monitor'], list(result.keys()))
def test_dupplicated_commands_warning(self): def test_dupplicated_commands_warning(self):
capturedOutput = StringIO() capturedOutput = StringIO()