mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Improve "update" command; add test
This commit is contained in:
@ -21,91 +21,215 @@ Usage
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
platformio update
|
||||
platformio update [OPTIONS]
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
Check or update installed :ref:`platforms` and
|
||||
:ref:`Libraries <librarymanager>`
|
||||
Check or update installed :ref:`platforms` and global
|
||||
:ref:`Libraries <librarymanager>`. This command is combination of 2 sub-commands:
|
||||
|
||||
* :ref:`cmd_platform_update`
|
||||
* :ref:`cmd_lib_update`
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
.. program:: platformio update
|
||||
|
||||
.. option::
|
||||
-c, --only-check
|
||||
|
||||
Do not update, only check for new version
|
||||
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: bash
|
||||
.. code::
|
||||
|
||||
$ platformio update
|
||||
> platformio update
|
||||
|
||||
Platform Manager
|
||||
================
|
||||
Platform timsp430
|
||||
--------
|
||||
Updating timsp430 @ 0.0.0: [Up-to-date]
|
||||
Updating toolchain-timsp430 @ 1.40603.0: [Up-to-date]
|
||||
Updating framework-energiamsp430 @ 1.17.0: [Up-to-date]
|
||||
Updating framework-arduinomsp430 @ 1.10601.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform freescalekinetis
|
||||
--------
|
||||
Updating freescalekinetis @ 0.0.0: [Up-to-date]
|
||||
Updating framework-mbed @ 1.121.1: [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform ststm32
|
||||
--------
|
||||
Updating ststm32 @ 0.0.0: [Up-to-date]
|
||||
Updating framework-libopencm3 @ 1.1.0: [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||
Updating tool-stlink @ 1.10200.0: [Up-to-date]
|
||||
Updating framework-spl @ 1.10201.0: [Up-to-date]
|
||||
Updating framework-cmsis @ 1.40300.0: [Up-to-date]
|
||||
Updating framework-mbed @ 1.121.1: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform lattice_ice40
|
||||
--------
|
||||
Updating lattice_ice40 @ 0.0.0: [Up-to-date]
|
||||
Updating toolchain-icestorm @ 1.7.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform atmelavr
|
||||
--------
|
||||
Updating toolchain-atmelavr package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating tool-avrdude package:
|
||||
Versions: Current=2, Latest=2 [Up-to-date]
|
||||
Updating framework-arduinoavr package:
|
||||
Versions: Current=12, Latest=12 [Up-to-date]
|
||||
Updating tool-micronucleus package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating atmelavr @ 0.0.0: [Up-to-date]
|
||||
Updating framework-arduinoavr @ 1.10608.1: [Up-to-date]
|
||||
Updating tool-avrdude @ 1.60001.1: [Up-to-date]
|
||||
Updating toolchain-atmelavr @ 1.40801.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform atmelsam
|
||||
Platform espressif
|
||||
--------
|
||||
Updating framework-arduinosam package:
|
||||
Versions: Current=3, Latest=3 [Up-to-date]
|
||||
Updating ldscripts package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating tool-bossac package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating espressif @ 0.0.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
Updating toolchain-xtensa @ 1.40802.0: [Up-to-date]
|
||||
Updating tool-esptool @ 1.409.0: [Up-to-date]
|
||||
Updating tool-mkspiffs @ 1.102.0: [Up-to-date]
|
||||
Updating framework-arduinoespressif @ 1.20300.0: [Up-to-date]
|
||||
Updating sdk-esp8266 @ 1.10502.0: [Up-to-date]
|
||||
|
||||
Platform stm32
|
||||
Platform linux_x86_64
|
||||
--------
|
||||
Updating toolchain-gccarmnoneeabi package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating tool-stlink package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating framework-spl package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating framework-cmsis package:
|
||||
Versions: Current=2, Latest=2 [Up-to-date]
|
||||
Updating framework-opencm3 package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating ldscripts package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating linux_x86_64 @ 0.0.0: [Up-to-date]
|
||||
Updating toolchain-gcclinux64 @ 1.40801.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform windows_x86
|
||||
--------
|
||||
Updating windows_x86 @ 0.0.0: [Up-to-date]
|
||||
Updating toolchain-gccmingw32 @ 1.40800.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform teensy
|
||||
--------
|
||||
Updating toolchain-atmelavr package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating ldscripts package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating framework-arduinoteensy package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating tool-teensy package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating teensy @ 0.0.0: [Up-to-date]
|
||||
Updating framework-arduinoteensy @ 1.128.0: [Up-to-date]
|
||||
Updating tool-teensy @ 1.1.0: [Up-to-date]
|
||||
Updating framework-mbed @ 1.121.1: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
Updating toolchain-atmelavr @ 1.40801.0: [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||
|
||||
Platform timsp430
|
||||
Platform nordicnrf51
|
||||
--------
|
||||
Updating toolchain-timsp430 package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating tool-mspdebug package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating framework-energiamsp430 package:
|
||||
Versions: Current=2, Latest=2 [Up-to-date]
|
||||
Updating nordicnrf51 @ 0.0.0: [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||
Updating framework-arduinonordicnrf51 @ 1.20302.0: [Up-to-date]
|
||||
Updating framework-mbed @ 1.121.1: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform titiva
|
||||
--------
|
||||
Updating ldscripts package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating tool-lm4flash package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating framework-opencm3 package:
|
||||
Versions: Current=1, Latest=1 [Up-to-date]
|
||||
Updating framework-energiativa package:
|
||||
Versions: Current=4, Latest=4 [Up-to-date]
|
||||
Updating titiva @ 0.0.0: [Up-to-date]
|
||||
Updating framework-libopencm3 @ 1.1.0: [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||
Updating framework-energiativa @ 1.17.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform atmelsam
|
||||
--------
|
||||
Updating atmelsam @ 0.0.0: [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||
Updating tool-openocd @ 1.900.0: [Up-to-date]
|
||||
Updating framework-mbed @ 1.121.1: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
Updating tool-avrdude @ 1.60001.1: [Up-to-date]
|
||||
Updating tool-bossac @ 1.10601.0: [Up-to-date]
|
||||
|
||||
Platform siliconlabsefm32
|
||||
--------
|
||||
Updating siliconlabsefm32 @ 0.0.0: [Up-to-date]
|
||||
Updating framework-mbed @ 1.121.1: [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform microchippic32
|
||||
--------
|
||||
Updating microchippic32 @ 0.0.0: [Up-to-date]
|
||||
Updating framework-arduinomicrochippic32 @ 1.10201.0: [Up-to-date]
|
||||
Updating toolchain-microchippic32 @ 1.40803.0: [Up-to-date]
|
||||
Updating tool-pic32prog @ 1.200200.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform linux_i686
|
||||
--------
|
||||
Updating linux_i686 @ 0.0.0: [Up-to-date]
|
||||
Updating toolchain-gcclinux32 @ 1.40801.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform intel_arc32
|
||||
--------
|
||||
Updating intel_arc32 @ 0.0.0: [Up-to-date]
|
||||
Updating framework-arduinointel @ 1.10006.0: [Up-to-date]
|
||||
Updating tool-arduino101load @ 1.124.0: [Up-to-date]
|
||||
Updating toolchain-intelarc32 @ 1.40805.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform nxplpc
|
||||
--------
|
||||
Updating nxplpc @ 0.0.0: [Up-to-date]
|
||||
Updating framework-mbed @ 1.121.1: [Up-to-date]
|
||||
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform linux_arm
|
||||
--------
|
||||
Updating linux_arm @ 0.0.0: [Up-to-date]
|
||||
Updating toolchain-gccarmlinuxgnueabi @ 1.40802.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
Platform native
|
||||
--------
|
||||
Updating native @ 0.0.0: [Up-to-date]
|
||||
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||
|
||||
|
||||
Library Manager
|
||||
===============
|
||||
Updating Adafruit-GFX @ 334e815bc1: [Up-to-date]
|
||||
Updating Adafruit-ST7735 @ d53d4bf03a: [Up-to-date]
|
||||
Updating Adafruit-DHT @ 09344416d2: [Up-to-date]
|
||||
Updating Adafruit-Unified-Sensor @ f2af6f4efc: [Up-to-date]
|
||||
Updating ESP8266_SSD1306 @ 3.2.3: [Up-to-date]
|
||||
Updating EngduinoMagnetometer @ 3.1.0: [Up-to-date]
|
||||
Updating IRremote @ 2.2.1: [Up-to-date]
|
||||
Updating Json @ 5.6.4: [Up-to-date]
|
||||
Updating MODSERIAL @ d8422efe47: [Up-to-date]
|
||||
Updating PJON @ 1fb26fd: [Checking]
|
||||
git version 2.7.4 (Apple Git-66)
|
||||
Already up-to-date.
|
||||
Updating Servo @ 36b69a7ced07: [Checking]
|
||||
Mercurial Distributed SCM (version 3.8.4)
|
||||
(see https://mercurial-scm.org for more information)
|
||||
|
||||
Copyright (C) 2005-2016 Matt Mackall and others
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
pulling from https://developer.mbed.org/users/simon/code/Servo/
|
||||
searching for changes
|
||||
no changes found
|
||||
Updating TextLCD @ 308d188a2d3a: [Checking]
|
||||
Mercurial Distributed SCM (version 3.8.4)
|
||||
(see https://mercurial-scm.org for more information)
|
||||
|
||||
Copyright (C) 2005-2016 Matt Mackall and others
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
pulling from https://developer.mbed.org/users/simon/code/TextLCD/
|
||||
searching for changes
|
||||
no changes found
|
||||
|
@ -33,11 +33,12 @@ Check or upgrade PlatformIO to the latest version
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: bash
|
||||
.. code::
|
||||
|
||||
> platformio upgrade
|
||||
|
||||
$ platformio upgrade
|
||||
You are up-to-date!
|
||||
PlatformIO x.x.x is currently the newest version available.
|
||||
|
||||
# If you have problem with permissions try:
|
||||
$ sudo platformio upgrade
|
||||
> sudo platformio upgrade
|
||||
|
@ -21,7 +21,6 @@ import sys
|
||||
from os.path import basename, commonprefix, isdir, isfile, join, realpath
|
||||
|
||||
import SCons.Scanner
|
||||
from SCons.Script import COMMAND_LINE_TARGETS
|
||||
|
||||
from platformio import util
|
||||
from platformio.builder.tools import platformio as piotool
|
||||
|
@ -16,12 +16,24 @@ import click
|
||||
|
||||
from platformio.commands.lib import lib_update as cmd_lib_update
|
||||
from platformio.commands.platform import platform_update as cmd_platform_update
|
||||
from platformio.managers.lib import LibraryManager
|
||||
|
||||
|
||||
@click.command("update",
|
||||
short_help="Update installed Platforms, Packages and Libraries")
|
||||
@click.option(
|
||||
"-c",
|
||||
"--only-check",
|
||||
is_flag=True,
|
||||
help="Do not update, only check for new version")
|
||||
@click.pass_context
|
||||
def cli(ctx):
|
||||
ctx.invoke(cmd_platform_update)
|
||||
def cli(ctx, only_check):
|
||||
click.echo("Platform Manager")
|
||||
click.echo("================")
|
||||
ctx.invoke(cmd_platform_update, only_check=only_check)
|
||||
|
||||
click.echo()
|
||||
ctx.invoke(cmd_lib_update)
|
||||
click.echo("Library Manager")
|
||||
click.echo("===============")
|
||||
ctx.obj = LibraryManager()
|
||||
ctx.invoke(cmd_lib_update, only_check=only_check)
|
||||
|
29
tests/commands/test_update.py
Normal file
29
tests/commands/test_update.py
Normal file
@ -0,0 +1,29 @@
|
||||
# Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
#
|
||||
# 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.
|
||||
|
||||
from platformio.commands.update import cli as cmd_update
|
||||
|
||||
|
||||
def test_update(platformio_setup, clirunner, validate_cliresult):
|
||||
matches = (
|
||||
"Platform Manager",
|
||||
"Up-to-date",
|
||||
"Library Manager"
|
||||
)
|
||||
result = clirunner.invoke(cmd_update, ["--only-check"])
|
||||
validate_cliresult(result)
|
||||
assert all([m in result.output for m in matches])
|
||||
result = clirunner.invoke(cmd_update)
|
||||
validate_cliresult(result)
|
||||
assert all([m in result.output for m in matches])
|
Reference in New Issue
Block a user