You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
from pathlib import Path from shutil import copytree from shutil import rmtree from subprocess import check_output, Popen, PIPE, STDOUT, CalledProcessError from os import chdir
Import("env")
def flagExists(flag): buildFlags = env.ParseFlags(env["BUILD_FLAGS"]) for define in buildFlags.get("CPPDEFINES"): if (define == flag or (isinstance(define, list) and define[0] == flag)): return True
def buildWeb(): chdir("interface") print("Building interface with npm") try: env.Execute("npm install") env.Execute("npm run build") buildPath = Path("build") wwwPath = Path("../data/www") if wwwPath.exists() and wwwPath.is_dir(): rmtree(wwwPath) if not flagExists("PROGMEM_WWW"): print("Copying interface to data directory") copytree(buildPath, wwwPath) finally: chdir("..")
if (len(BUILD_TARGETS) == 0 or "upload" in BUILD_TARGETS): buildWeb() else: print("Skipping build interface step for target(s): " + ", ".join(BUILD_TARGETS))
|