Files
platformio-core/platformio/builder/tools/pioar.py

35 lines
796 B
Python
Raw Normal View History

# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
2015-03-06 19:05:41 +02:00
from hashlib import md5
from os.path import join
from tempfile import gettempdir
MAX_SOURCES_LENGTH = 8000 # Windows CLI has limit with command length to 8192
def _huge_sources_hook(sources):
2015-03-06 19:05:41 +02:00
_sources = str(sources).replace("\\", "/")
if len(str(_sources)) < MAX_SOURCES_LENGTH:
return sources
2015-03-06 19:05:41 +02:00
tmp_file = join(gettempdir(), "pioarargs-%s" % md5(_sources).hexdigest())
with open(tmp_file, "w") as f:
2015-03-06 19:05:41 +02:00
f.write(_sources)
return "@%s" % tmp_file
def exists(_):
return True
def generate(env):
env.Replace(
_huge_sources_hook=_huge_sources_hook,
ARCOM=env.get("ARCOM", "").replace(
"$SOURCES", "${_huge_sources_hook(SOURCES)}"))
return env