Merge branch 'release/v3.6.3'

This commit is contained in:
Ivan Kravets
2018-12-12 16:19:25 +02:00
8 changed files with 41 additions and 9 deletions

View File

@ -4,6 +4,14 @@ Release Notes
PlatformIO 3.0
--------------
3.6.3 (2018-12-12)
~~~~~~~~~~~~~~~~~~
* Ignore *.asm and *.ASM files when building Arduino-based library (compatibility with Arduino builder)
* Fixed spurious project's "Problems" for `PlatformIO IDE for VSCode <http://docs.platformio.org/page/ide/vscode.html>`__ when ARM mbed framework is used
* Fixed an issue with a broken headers list when generating ".clang_complete" for `Emacs <http://docs.platformio.org/page/ide/emacs.html>`__
(`issue #1960 <https://github.com/platformio/platformio-core/issues/1960>`_)
3.6.2 (2018-11-29)
~~~~~~~~~~~~~~~~~~

2
docs

Submodule docs updated: cfdb7d8968...c0dc83570a

View File

@ -14,7 +14,7 @@
import sys
VERSION = (3, 6, 2)
VERSION = (3, 6, 3)
__version__ = ".".join([str(s) for s in VERSION])
__title__ = "platformio"

View File

@ -122,7 +122,7 @@ class State(object):
raise exception.HomeDirPermissionsError(dirname(self.path))
def _unlock_state_file(self):
if self._lockfile:
if hasattr(self, "_lockfile") and self._lockfile:
self._lockfile.release()
def __del__(self):

View File

@ -488,11 +488,29 @@ class ArduinoLibBuilder(LibBuilderBase):
@property
def src_filter(self):
if isdir(join(self.path, "src")):
return LibBuilderBase.src_filter.fget(self)
src_dir = join(self.path, "src")
if isdir(src_dir):
src_filter = LibBuilderBase.src_filter.fget(self)
for root, _, files in os.walk(src_dir, followlinks=True):
found = False
for fname in files:
if fname.lower().endswith("asm"):
found = True
break
if not found:
continue
rel_path = root.replace(src_dir, "")
if rel_path.startswith(sep):
rel_path = rel_path[1:] + sep
src_filter.append("-<%s*.[aA][sS][mM]>" % rel_path)
return src_filter
src_filter = []
is_utility = isdir(join(self.path, "utility"))
for ext in piotool.SRC_BUILD_EXT + piotool.SRC_HEADER_EXT:
# arduino ide ignores files with .asm or .ASM extensions
if ext.lower() == "asm":
continue
src_filter.append("+<*.%s>" % ext)
if is_utility:
src_filter.append("+<utility%s*.%s>" % (sep, ext))

View File

@ -1,5 +1,5 @@
% for include in includes:
-I"{{include}}"
-I{{include}}
% end
% for define in defines:
-D{{!define}}

View File

@ -54,13 +54,16 @@
% cc_stds = STD_RE.findall(cc_flags)
% cxx_stds = STD_RE.findall(cxx_flags)
%
% # pass only architecture specific flags
% cc_m_flags = " ".join([f.strip() for f in cc_flags.split(" ") if f.strip().startswith("-m")])
%
% if cc_stds:
"cStandard": "c{{ cc_stds[-1] }}",
% end
% if cxx_stds:
"cppStandard": "c++{{ cxx_stds[-1] }}",
% end
"compilerPath": "{{! _escape(cc_path) }} {{! _escape(STD_RE.sub("", cc_flags)) }}"
"compilerPath": "{{! _escape(cc_path) }} {{! _escape(cc_m_flags) }}"
}
]
}

View File

@ -460,8 +460,7 @@ class PlatformBase( # pylint: disable=too-many-public-methods
self._manifest = util.load_json(manifest_path)
self.pm = PackageManager(
join(util.get_home_dir(), "packages"),
self._manifest.get("packageRepositories"))
join(util.get_home_dir(), "packages"), self.package_repositories)
self.silent = False
self.verbose = False
@ -516,6 +515,10 @@ class PlatformBase( # pylint: disable=too-many-public-methods
def engines(self):
return self._manifest.get("engines")
@property
def package_repositories(self):
return self._manifest.get("packageRepositories")
@property
def manifest(self):
return self._manifest