forked from platformio/platformio-core
Improve "update" command; add test
This commit is contained in:
@ -21,91 +21,215 @@ Usage
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
platformio update
|
platformio update [OPTIONS]
|
||||||
|
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Check or update installed :ref:`platforms` and
|
Check or update installed :ref:`platforms` and global
|
||||||
:ref:`Libraries <librarymanager>`
|
: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
|
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
|
Platform atmelavr
|
||||||
--------
|
--------
|
||||||
Updating toolchain-atmelavr package:
|
Updating atmelavr @ 0.0.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating framework-arduinoavr @ 1.10608.1: [Up-to-date]
|
||||||
Updating tool-avrdude package:
|
Updating tool-avrdude @ 1.60001.1: [Up-to-date]
|
||||||
Versions: Current=2, Latest=2 [Up-to-date]
|
Updating toolchain-atmelavr @ 1.40801.0: [Up-to-date]
|
||||||
Updating framework-arduinoavr package:
|
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||||
Versions: Current=12, Latest=12 [Up-to-date]
|
|
||||||
Updating tool-micronucleus package:
|
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
|
||||||
|
|
||||||
Platform atmelsam
|
Platform espressif
|
||||||
--------
|
--------
|
||||||
Updating framework-arduinosam package:
|
Updating espressif @ 0.0.0: [Up-to-date]
|
||||||
Versions: Current=3, Latest=3 [Up-to-date]
|
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||||
Updating ldscripts package:
|
Updating toolchain-xtensa @ 1.40802.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating tool-esptool @ 1.409.0: [Up-to-date]
|
||||||
Updating toolchain-gccarmnoneeabi package:
|
Updating tool-mkspiffs @ 1.102.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating framework-arduinoespressif @ 1.20300.0: [Up-to-date]
|
||||||
Updating tool-bossac package:
|
Updating sdk-esp8266 @ 1.10502.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
|
||||||
|
|
||||||
Platform stm32
|
Platform linux_x86_64
|
||||||
--------
|
--------
|
||||||
Updating toolchain-gccarmnoneeabi package:
|
Updating linux_x86_64 @ 0.0.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating toolchain-gcclinux64 @ 1.40801.0: [Up-to-date]
|
||||||
Updating tool-stlink package:
|
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
|
||||||
Updating framework-spl package:
|
Platform windows_x86
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
--------
|
||||||
Updating framework-cmsis package:
|
Updating windows_x86 @ 0.0.0: [Up-to-date]
|
||||||
Versions: Current=2, Latest=2 [Up-to-date]
|
Updating toolchain-gccmingw32 @ 1.40800.0: [Up-to-date]
|
||||||
Updating framework-opencm3 package:
|
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
|
||||||
Updating ldscripts package:
|
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
|
||||||
|
|
||||||
Platform teensy
|
Platform teensy
|
||||||
--------
|
--------
|
||||||
Updating toolchain-atmelavr package:
|
Updating teensy @ 0.0.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating framework-arduinoteensy @ 1.128.0: [Up-to-date]
|
||||||
Updating ldscripts package:
|
Updating tool-teensy @ 1.1.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating framework-mbed @ 1.121.1: [Up-to-date]
|
||||||
Updating framework-arduinoteensy package:
|
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating toolchain-atmelavr @ 1.40801.0: [Up-to-date]
|
||||||
Updating toolchain-gccarmnoneeabi package:
|
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
|
||||||
Updating tool-teensy package:
|
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
|
||||||
|
|
||||||
Platform timsp430
|
Platform nordicnrf51
|
||||||
--------
|
--------
|
||||||
Updating toolchain-timsp430 package:
|
Updating nordicnrf51 @ 0.0.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||||
Updating tool-mspdebug package:
|
Updating framework-arduinonordicnrf51 @ 1.20302.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating framework-mbed @ 1.121.1: [Up-to-date]
|
||||||
Updating framework-energiamsp430 package:
|
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||||
Versions: Current=2, Latest=2 [Up-to-date]
|
|
||||||
|
|
||||||
Platform titiva
|
Platform titiva
|
||||||
--------
|
--------
|
||||||
Updating ldscripts package:
|
Updating titiva @ 0.0.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating framework-libopencm3 @ 1.1.0: [Up-to-date]
|
||||||
Updating toolchain-gccarmnoneeabi package:
|
Updating toolchain-gccarmnoneeabi @ 1.40804.0: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
Updating framework-energiativa @ 1.17.0: [Up-to-date]
|
||||||
Updating tool-lm4flash package:
|
Updating tool-scons @ 2.4.1: [Up-to-date]
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
|
||||||
Updating framework-opencm3 package:
|
Platform atmelsam
|
||||||
Versions: Current=1, Latest=1 [Up-to-date]
|
--------
|
||||||
Updating framework-energiativa package:
|
Updating atmelsam @ 0.0.0: [Up-to-date]
|
||||||
Versions: Current=4, Latest=4 [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
|
Examples
|
||||||
--------
|
--------
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code::
|
||||||
|
|
||||||
|
> platformio upgrade
|
||||||
|
|
||||||
$ platformio upgrade
|
|
||||||
You are up-to-date!
|
You are up-to-date!
|
||||||
PlatformIO x.x.x is currently the newest version available.
|
PlatformIO x.x.x is currently the newest version available.
|
||||||
|
|
||||||
# If you have problem with permissions try:
|
# 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
|
from os.path import basename, commonprefix, isdir, isfile, join, realpath
|
||||||
|
|
||||||
import SCons.Scanner
|
import SCons.Scanner
|
||||||
from SCons.Script import COMMAND_LINE_TARGETS
|
|
||||||
|
|
||||||
from platformio import util
|
from platformio import util
|
||||||
from platformio.builder.tools import platformio as piotool
|
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.lib import lib_update as cmd_lib_update
|
||||||
from platformio.commands.platform import platform_update as cmd_platform_update
|
from platformio.commands.platform import platform_update as cmd_platform_update
|
||||||
|
from platformio.managers.lib import LibraryManager
|
||||||
|
|
||||||
|
|
||||||
@click.command("update",
|
@click.command("update",
|
||||||
short_help="Update installed Platforms, Packages and Libraries")
|
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
|
@click.pass_context
|
||||||
def cli(ctx):
|
def cli(ctx, only_check):
|
||||||
ctx.invoke(cmd_platform_update)
|
click.echo("Platform Manager")
|
||||||
|
click.echo("================")
|
||||||
|
ctx.invoke(cmd_platform_update, only_check=only_check)
|
||||||
|
|
||||||
click.echo()
|
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