| 
									
										
										
										
											2017-06-05 16:02:39 +03:00
										 |  |  | # Copyright (c) 2014-present PlatformIO <contact@platformio.org> | 
					
						
							| 
									
										
										
										
											2015-11-18 17:16:17 +02:00
										 |  |  | # | 
					
						
							|  |  |  | # 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. | 
					
						
							| 
									
										
										
										
											2014-06-13 20:47:02 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-03 20:16:50 +02:00
										 |  |  | import click | 
					
						
							| 
									
										
										
										
											2014-06-13 20:47:02 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-27 14:14:29 +03:00
										 |  |  | from platformio import app | 
					
						
							| 
									
										
										
										
											2019-05-23 13:05:44 +03:00
										 |  |  | from platformio.commands.lib import CTX_META_STORAGE_DIRS_KEY | 
					
						
							| 
									
										
										
										
											2015-04-17 12:37:03 +01:00
										 |  |  | from platformio.commands.lib import lib_update as cmd_lib_update | 
					
						
							| 
									
										
										
										
											2016-05-26 19:43:36 +03:00
										 |  |  | from platformio.commands.platform import platform_update as cmd_platform_update | 
					
						
							| 
									
										
										
										
											2017-03-11 23:28:55 +02:00
										 |  |  | from platformio.managers.core import update_core_packages | 
					
						
							| 
									
										
										
										
											2016-08-03 17:43:54 +03:00
										 |  |  | from platformio.managers.lib import LibraryManager | 
					
						
							| 
									
										
										
										
											2014-06-13 20:47:02 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-23 23:13:48 +03:00
										 |  |  | @click.command( | 
					
						
							|  |  |  |     "update", short_help="Update installed platforms, packages and libraries" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | @click.option("--core-packages", is_flag=True, help="Update only the core packages") | 
					
						
							|  |  |  | @click.option( | 
					
						
							|  |  |  |     "-c", | 
					
						
							|  |  |  |     "--only-check", | 
					
						
							|  |  |  |     is_flag=True, | 
					
						
							|  |  |  |     help="DEPRECATED. Please use `--dry-run` instead", | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | @click.option( | 
					
						
							|  |  |  |     "--dry-run", is_flag=True, help="Do not update, only check for the new versions" | 
					
						
							|  |  |  | ) | 
					
						
							| 
									
										
										
										
											2015-04-17 12:37:03 +01:00
										 |  |  | @click.pass_context | 
					
						
							| 
									
										
										
										
											2019-05-16 20:02:45 +03:00
										 |  |  | def cli(ctx, core_packages, only_check, dry_run): | 
					
						
							| 
									
										
										
										
											2018-09-02 19:32:45 +03:00
										 |  |  |     # cleanup lib search results, cached board and platform lists | 
					
						
							|  |  |  |     app.clean_cache() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-16 20:02:45 +03:00
										 |  |  |     only_check = dry_run or only_check | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-11 23:28:55 +02:00
										 |  |  |     update_core_packages(only_check) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-27 14:14:29 +03:00
										 |  |  |     if core_packages: | 
					
						
							|  |  |  |         return | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-11 23:28:55 +02:00
										 |  |  |     click.echo() | 
					
						
							| 
									
										
										
										
											2016-08-03 17:43:54 +03:00
										 |  |  |     click.echo("Platform Manager") | 
					
						
							|  |  |  |     click.echo("================") | 
					
						
							|  |  |  |     ctx.invoke(cmd_platform_update, only_check=only_check) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-05 02:15:43 +02:00
										 |  |  |     click.echo() | 
					
						
							| 
									
										
										
										
											2016-08-03 17:43:54 +03:00
										 |  |  |     click.echo("Library Manager") | 
					
						
							|  |  |  |     click.echo("===============") | 
					
						
							| 
									
										
										
										
											2019-05-23 13:05:44 +03:00
										 |  |  |     ctx.meta[CTX_META_STORAGE_DIRS_KEY] = [LibraryManager().package_dir] | 
					
						
							| 
									
										
										
										
											2016-08-03 17:43:54 +03:00
										 |  |  |     ctx.invoke(cmd_lib_update, only_check=only_check) |