mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 01:57:13 +02:00
Cleanup automatically .pioenvs when platformio.ini has been changed // Issue #74
This commit is contained in:
@ -1,12 +1,14 @@
|
|||||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||||
# See LICENSE for details.
|
# See LICENSE for details.
|
||||||
|
|
||||||
|
from os.path import getmtime, join
|
||||||
|
from shutil import rmtree
|
||||||
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
from platformio import app, exception, telemetry
|
from platformio import app, exception, telemetry, util
|
||||||
from platformio.commands.install import cli as cmd_install
|
from platformio.commands.install import cli as cmd_install
|
||||||
from platformio.platforms.base import PlatformFactory
|
from platformio.platforms.base import PlatformFactory
|
||||||
from platformio.util import get_project_config
|
|
||||||
|
|
||||||
|
|
||||||
@click.command("run", short_help="Process project environments")
|
@click.command("run", short_help="Process project environments")
|
||||||
@ -16,7 +18,7 @@ from platformio.util import get_project_config
|
|||||||
@click.pass_context
|
@click.pass_context
|
||||||
def cli(ctx, environment, target, upload_port):
|
def cli(ctx, environment, target, upload_port):
|
||||||
|
|
||||||
config = get_project_config()
|
config = util.get_project_config()
|
||||||
|
|
||||||
if not config.sections():
|
if not config.sections():
|
||||||
raise exception.ProjectEnvsNotAvailable()
|
raise exception.ProjectEnvsNotAvailable()
|
||||||
@ -25,6 +27,11 @@ def cli(ctx, environment, target, upload_port):
|
|||||||
if unknown:
|
if unknown:
|
||||||
raise exception.UnknownEnvNames(", ".join(unknown))
|
raise exception.UnknownEnvNames(", ".join(unknown))
|
||||||
|
|
||||||
|
# remove ".pioenvs" if project config is modified
|
||||||
|
if (getmtime(join(util.get_project_dir(), "platformio.ini")) >
|
||||||
|
getmtime(util.get_pioenvs_dir())):
|
||||||
|
rmtree(util.get_pioenvs_dir())
|
||||||
|
|
||||||
for section in config.sections():
|
for section in config.sections():
|
||||||
# skip main configuration section
|
# skip main configuration section
|
||||||
if section == "platformio":
|
if section == "platformio":
|
||||||
|
Reference in New Issue
Block a user