90 Commits

Author SHA1 Message Date
Ivan Kravets
5a1b0e19b2 Initialize a new project or update existing passing working environment name and its options // Resolve #3686 2020-10-29 22:59:48 +02:00
Ivan Kravets
5cc21511ad Show owner name for packages 2020-09-02 16:07:16 +03:00
Ivan Kravets
80c1774a19 Docs: PlatformIO Core 5.0: new commands, migration guide, other improvements 2020-08-28 14:08:26 +03:00
Ivan Kravets
0eb8895959 Add support for “globstar/**” (recursive) pattern 2020-05-26 14:25:28 +03:00
Valerii Koval
c03f93521b Refactor PIO Check feature (#3478)
* Add new option --skip-packages for check command

Check tools might fail if they're not able to preprocess source
files, for example, Cppcheck uses a custom preprocessor that is
not able to parse complex preprocessor code in zephyr framework).
Instead user can specify this option to skip headers included from
packages and only check project sources.

* Fix toolchain built-in include paths order
C++ and fixed directories should have higher priority

* Refactor check feature

The main purpose is to prepare a more comprehensive build environment.
It's crucial for cppcheck to be able to check complex frameworks like
zephyr, esp-idf, etc. Also detect a special case when cppcheck fails to check
the entire project (e.g. a syntax error due to custom preprocessor)

* Add new test for check feature

Tests ststm32 platform all tools and the main frameworks

* Update check tools to the latest available versions

* Test check tools and Zephyr framework only with Python 3

* Tidy up code

* Add history entry
2020-04-26 00:10:41 +03:00
Ivan Kravets
108b892e30 Control device monitor output with filters and text transformations 2020-03-12 14:28:54 +02:00
Ivan Kravets
59e1c88726 Fixed an issue when `"libArchive": false` in "library.json" does not work // Resolve #3403 2020-03-06 00:37:48 +02:00
Ivan Kravets
36a2228220 Fixed "TypeError: unsupported operand type(s)" when system environment variable is used by project configuration parser // Resolve #3377 2020-02-13 13:34:34 +02:00
Ivan Kravets
2763853d8d Fixed an issue when no error is raised if referred parameter (interpolation) is missing in a project configuration file // Resolve #3279 2020-02-08 19:10:48 +02:00
Ivan Kravets
73ce3c94e9 Initial support for `Project Manager // Resolve #3335 2020-02-06 23:32:43 +02:00
Ivan Kravets
81960ce051 Fix test 2020-02-06 17:41:35 +02:00
Ivan Kravets
09b3df5520 Fixed a "UnicodeDecodeError" when listing built-in libraries on macOS with Python 2.7 // Resolve #3370 2020-02-05 22:25:06 +02:00
Ivan Kravets
880d5bb8b0 Fix project saving 2020-01-25 20:47:10 +02:00
Ivan Kravets
e5aa71e4e1 Fix config saving when PY2 is used 2020-01-25 15:47:45 +02:00
Ivan Kravets
ba441ca77c Remove double blank lines when saving project config // Resolve #3293 2020-01-24 22:15:33 +02:00
Valerii Koval
46a9c1b6b2 Add initial support for PVS-Studio check tool (#3357)
* Add initial support for PVS-Studio check tool

* Enable all available PVS-Studio analyzers by default

* Add tests for PVS-Studio check tool

* Improve handling check tool extra flags that contain colon symbol
2020-01-23 12:57:54 +02:00
Valerii Koval
5bdec19f31 Add new debug_build_flags option (#3355)
This will allow users to override default debug flags for example in cases when
the final binary built in debug mode is too large to be loaded on target
2020-01-22 20:41:42 +02:00
Ivan Kravets
c57f68aee3 Change order between board/framework for configuration file 2019-12-17 15:22:02 +02:00
Ivan Kravets
49ceadc6ad Move exceptions to their components 2019-11-28 16:15:54 +02:00
Ivan Kravets
47469e8759 Fix issue when None value is passed to config.set 2019-11-27 18:08:32 +02:00
Ivan Kravets
2fbe33bca0 Move "Board" Options to "Platform 2019-11-26 14:44:54 +02:00
Ivan Kravets
5b1c6daa2a Fix a space in config header 2019-11-16 23:09:18 +02:00
Ivan Kravets
f1d20f591a Sync docs 2019-11-12 13:41:54 +02:00
Ivan Kravets
703b29a05e Fixed missed descriptions for project options 2019-11-11 23:19:47 +02:00
Ivan Kravets
95c1b0214c Rename "check_pattern" to "check_patterns" 2019-11-07 15:24:47 +02:00
Ivan Kravets
bcf09964ab Better formatting for multi-line values in config option 2019-11-06 00:03:08 +02:00
Ivan Kravets
83110326f4 Rename "check_pattern" option 2019-11-05 12:02:12 +02:00
Ivan Kravets
7345d3ea19 Improve dump of config data 2019-11-05 00:17:39 +02:00
Ivan Kravets
3289e84b21 Refactor PIO Check from "check_filters" to "check_patterns" 2019-11-04 18:22:28 +02:00
Ivan Kravets
0488cc4086 Typo fix 2019-11-02 19:48:41 +02:00
Ivan Kravets
0a4bc1d4e3 Add "description" for project config options, configure "default" values 2019-11-02 19:41:39 +02:00
Ivan Kravets
1d5d09feab Fixed an issue when Project Config Parser does not remove in-line comments when Python 3 is used // Remove #3213 2019-10-31 22:04:57 +02:00
Ivan Kravets
a7f8838d9a Format code 2019-10-31 18:52:13 +02:00
Ivan Kravets
9b65a091da Export config dump/load and schema to PIO Home Project.RPC 2019-10-31 15:27:34 +02:00
Ivan Kravets
8ccf9d2e53 Implement project config "update" with "clear" option 2019-10-31 15:26:34 +02:00
Ivan Kravets
3146ab5d12 Allow export project config data as Tuple 2019-10-30 19:09:32 +02:00
Ivan Kravets
9c7cc87c5f Move command related modules to "commands" package 2019-10-23 16:05:27 +03:00
Ivan Kravets
065607b68c Disable PyLint's "import-outside-toplevel" 2019-10-18 15:41:52 +03:00
Ivan Kravets
be9aaf8902 Be compatible with Python 3.8, on Windows skip HOME and check for USERPROFILE 2019-10-17 20:57:40 +03:00
Ivan Kravets
55d905a0d0 Add a new RPC method "project.config_call" for Home API 2019-10-12 20:00:12 +03:00
Ivan Kravets
4366719ed2 Restore missed project helpers needed by "platformio-node-helpers" 2019-10-10 14:50:34 +03:00
Ivan Kravets
d2abac9b18 Fixed an issue when configuration file options partly ignored when `--project-conf` // Resolve #3034 (#3055)
* Fixed an issue when configuration file options partly ignored when using custom ``--project-conf`` // Resolve #3034

* Py2 compatible makedirs

* Fix circle dependency

* Fix broken import in test examples

* Fix history

* Remove YAPF markers

* PyLint fix

* Fix invalid project conf path

* Move PIO Core to the root on Windows, issue with long CPPPATHs

* Respect global PLATFORMIO_BUILD_CACHE_DIR env var

* Fix Appveyor paths

* Minor changes
2019-09-27 14:13:53 +03:00
Ivan Kravets
7c41c7c2f3 Introduce Black to automate code formatting 2019-09-23 23:13:48 +03:00
Ivan Kravets
c720933d34 Refactor PIO Check 2019-09-08 23:33:25 +03:00
Ivan Kravets
f61d03ec8f PIO Check (#2982) 2019-09-08 18:04:41 +03:00
Ivan Kravets
fe237f15aa Implement "extends" for project configuration // Resolve #2953 2019-08-31 23:39:41 +03:00
Ivan Kravets
f966eeb604 Fixed an issue with project generator for CLion IDE when 2 environments were used // Resolve #2824 2019-08-30 16:40:44 +03:00
Ivan Kravets
4a6d5e8395 Added support for multi-environment PlatformIO project for CLion IDE // Resolve #2824 Resolve #2944 2019-08-29 16:26:51 +03:00
Ivan Kravets
83bf34fb77 Extend "load_project_ide_data" API to return IDE data for more than one environment 2019-08-29 16:01:36 +03:00
Ivan Kravets
9fa424ea9b Remove ProjectConfig from cache on saving 2019-08-28 22:43:34 +03:00