Commit Graph

679 Commits

Author SHA1 Message Date
Ivan Kravets 34b4f8265a Debug unit tests created with PlatformIO Unit Testing solution // Resolve #948 2021-03-19 20:25:30 +02:00
Ivan Kravets ebe5785a91 Allow overriding default debugging flags from dev-platform 2021-03-19 17:11:25 +02:00
Ivan Kravets a78db17784 Drop support for Python 2 2021-03-19 00:21:44 +02:00
Ivan Kravets c0357daf01 Remove Python 2 code 2021-03-17 21:08:06 +02:00
Ivan Kravets 58947d91a6 PyLint fixes 2021-02-27 17:13:30 +02:00
Ivan Kravets e63019c469 Fixed a "The command line is too long" issue with a linking process on Windows // Resolve #3827 2021-02-01 12:52:00 +02:00
Ivan Kravets 61d70fa688 Include Unity framework for IDE data only if there are tests in project 2021-01-27 22:40:19 +02:00
Ivan Kravets cb9e72a879 Dump build flags using SCons.Subst.SUBST_CMD 2021-01-27 20:57:53 +02:00
Ivan Kravets 9d2fd4982f Cleanup code 2021-01-27 20:40:25 +02:00
Ivan Kravets d77dbb2cca Use "TEMPFILEARGESCFUNC" for GCC workaround on Windows 2021-01-27 20:30:28 +02:00
Ivan Kravets 7810946484 Use project build folder for tempfile workaround with command maxlen 2021-01-27 18:47:54 +02:00
Ivan Kravets e2906e3be5 Refactored a workaround for a maximum command line character limitation // Resolve #3792 2021-01-27 16:10:13 +02:00
Ivan Kravets bd4d3b914b Revert "lib_compat_mode" changes // Resolve #3811 Resolve #3806 2021-01-24 15:49:56 +02:00
Ivan Kravets 484567f242 Project's "lib_compat_mode" has higher priority than "library.json" 2021-01-23 15:54:52 +02:00
Ivan Kravets f9384ded27 Fixed an issue when “strict” compatibility mode was not used for a library with custom “platforms” field in library.json manifest // Resolve #3806 2021-01-22 22:45:36 +02:00
Ivan Kravets 985f31877c Automatically install tool-unity when there are tests and "idedata" target is called 2021-01-20 15:14:45 +02:00
Ivan Kravets 9b93fcd947 Do not install tool-unity for even non-test proejct 2021-01-20 14:27:03 +02:00
Ivan Kravets 4e637ae58a Drop Python 2 from PIO Core test 2021-01-18 18:15:15 +02:00
valeros 16f90dd821 Ignore possible empty defines when exporting IDE data // Resolve #3690 2020-10-29 12:22:26 +02:00
Ivan Kravets 7230556d1b Move extra IDE data to "extra" section 2020-10-26 18:23:28 +02:00
Ivan Kravets 1e0ca8f79c Fixed an issue with GCC linker when "native" dev-platform is used in pair with library dependencies // Resolve #3669 2020-09-17 20:40:11 +03:00
Ivan Kravets 083edc4c76 Refactor to os.path 2020-09-02 20:52:11 +03:00
Ivan Kravets d6d95e05e8 Rename "fs.format_filesize" to "fs.humanize_file_size" 2020-08-24 15:09:37 +03:00
Ivan Kravets b44bc80bd1 PyLint fix for PY2 2020-08-23 21:41:53 +03:00
Ivan Kravets 24f85a337f Fix "AttributeError: module 'platformio.exception' has no attribute 'InternetIsOffline'" 2020-08-23 21:07:14 +03:00
Ivan Kravets 620241e067 Move package "version" related things to "platformio.package.version" module 2020-08-23 15:24:31 +03:00
Ivan Kravets 74e27a2edc Enable "cyclic reference" for GCC linker only for the embedded dev-platforms // Resolve #3570 2020-08-16 20:26:59 +03:00
Ivan Kravets 67e6d177b4 Minor fixes for dev-platform factory 2020-08-16 18:48:05 +03:00
Ivan Kravets 04694b4126 Switch legacy platform manager to the new 2020-08-15 23:11:01 +03:00
Ivan Kravets 276ca61cde Refactor dev-platform API 2020-08-14 16:39:15 +03:00
Ivan Kravets 5f3ad70190 Rename meta.PackageSourceItem or PackageItem 2020-08-14 16:38:46 +03:00
Ivan Kravets 64ff6a0ff5 Switch legacy core package manager to the new 2020-08-13 18:30:04 +03:00
Ivan Kravets d5451756fd Minor improvements 2020-08-12 20:09:10 +03:00
Ivan Kravets 893ca1b328 Switch library manager to the new package manager 2020-08-12 13:27:05 +03:00
Ivan Kravets 39cb23813f Allow ignoring "platforms" and "frameworks" fields in "library.json" and treat a library as compatible with all 2020-07-25 11:51:47 +03:00
Ivan Kravets ea30d94324 Automatically enable LDF dependency chain+ mode (evaluates C/C++ Preprocessor conditional syntax) for Arduino library when “library.properties” has “depends” field // Resolve #3607 2020-07-21 12:41:38 +03:00
Ivan Kravets 82735dd571 Fixed an issue with improper processing of source files added via multiple Build Middlewares // Resolve #3531 2020-06-23 11:46:00 +03:00
Valerii Koval c20a1f24cd Don't print relative paths with double-dot 2020-06-18 20:36:59 +03:00
Valerii Koval 21f3dd11f4 Fix printing relative paths on Windows // Resolve #3542
Fixes "ValueError" when running "clean" target if "build_dir"
points to a folder on a different logical drive
2020-06-16 12:27:49 +03:00
Valerii Koval df0e6016bb Handle possible NodeList in source files when processing Middlewares // Resolve #3531
env.Object() returns a list of objects that breaks the processing of
subsequent middlewares since we only expected File nodes.
2020-06-15 21:25:24 +03:00
Ivan Kravets 2722e27415 Sync docs 2020-06-11 15:15:46 +03:00
Ivan Kravets b71b939307 Rename "AddSystemTarget" to "AddPlatformTarget" 2020-06-10 14:25:53 +03:00
Valerii Koval e6fbd6acf1 Remove debug code 2020-06-09 23:26:49 +03:00
Ivan Kravets 3c8e0b17a7 Added support for custom targets 2020-06-09 18:43:50 +03:00
Ivan Kravets 099e3c7198 Use original MongoDB license for "compilation_db.py" 2020-05-13 00:48:11 +03:00
Ivan Kravets 5d8440fdd1 PyLint fixes 2020-04-28 12:48:15 +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 777a47fd99 Minor improvements 2020-04-25 13:14:54 +03:00
Valerii Koval 24c04057e9 CLion: Add paths to libraries specified via lib_extra_dirs option (#3463)
* Add paths to libraries specified via lib_extra_dirs option

Besides, global folders in SRC_LIST seem a bit unnecessary
since there might be unused libraries in these folders

* Refactor processing of includes when exporting IDE/Editor projects

Split includes according to their source. That will help export includes in a more flexible way.
For example some IDEs don't need include paths from toolchains

* Add new record to history log

* Typo fix
2020-04-21 17:37:55 +03:00
valeros 788351a0cd Fixed an incorrect node path used for pattern matching when processing middleware nodes 2020-04-13 16:41:03 +03:00