# Print configured protocols env.AddPreAction( ["upload", "program"], env.VerboseAction( lambda source, target, env: env.PrintUploadInfo(), "Configuring upload protocol...", ), ) AlwaysBuild(env.Alias("debug", DEFAULT_TARGETS)) AlwaysBuild(env.Alias("__test", DEFAULT_TARGETS)) ############################################################################## if "envdump" in COMMAND_LINE_TARGETS: click.echo(env.Dump()) env.Exit(0) if "idedata" in COMMAND_LINE_TARGETS: Import("projenv") click.echo("\n%s\n" % dump_json_to_unicode(projenv.DumpIDEData() # pylint: disable=undefined-variable )) env.Exit(0) if "sizedata" in COMMAND_LINE_TARGETS: AlwaysBuild( env.Alias( "sizedata", DEFAULT_TARGETS, env.VerboseAction(env.DumpSizeData, "Generating memory usage report..."),
) else join("$PIOHOME_DIR", "packages", "ldscripts", "${BOARD_OPTIONS['build']['ldscript']}"))) if env['PLATFORM'] != env.get("BOARD_OPTIONS", {}).get("platform"): Exit("Error: '%s' platform doesn't support this board. " "Use '%s' platform instead." % (env['PLATFORM'], env.get("BOARD_OPTIONS", {}).get("platform"))) for opt in ("LIB_IGNORE", "LIB_USE"): if opt not in env: continue env[opt] = [l.strip() for l in env[opt].split(",") if l.strip()] env.PrependENVPath( "PATH", env.subst(join("$PIOPACKAGES_DIR", "$PIOPACKAGE_TOOLCHAIN", "bin"))) SConscriptChdir(0) SConscript(env.subst("$BUILD_SCRIPT")) if getenv("PLATFORMIO_EXTRA_SCRIPT", env.get("EXTRA_SCRIPT", None)): SConscript(getenv("PLATFORMIO_EXTRA_SCRIPT", env.get("EXTRA_SCRIPT"))) if "envdump" in COMMAND_LINE_TARGETS: print env.Dump() Exit() if "idedata" in COMMAND_LINE_TARGETS: print json.dumps(env.DumpIDEData()) Exit()
Default("checkprogsize") # Print configured protocols env.AddPreAction(["upload", "program"], env.VerboseAction( lambda source, target, env: env.PrintUploadInfo(), "Configuring upload protocol...")) AlwaysBuild(env.Alias("debug", DEFAULT_TARGETS)) AlwaysBuild(env.Alias("__debug", DEFAULT_TARGETS)) AlwaysBuild(env.Alias("__test", DEFAULT_TARGETS)) ############################################################################## if "envdump" in COMMAND_LINE_TARGETS: print(env.Dump()) env.Exit(0) if "idedata" in COMMAND_LINE_TARGETS: try: print("\n%s\n" % util.path_to_unicode( json.dumps(env.DumpIDEData(), ensure_ascii=False))) env.Exit(0) except UnicodeDecodeError: sys.stderr.write( "\nUnicodeDecodeError: Non-ASCII characters found in build " "environment\n" "See explanation in FAQ > Troubleshooting > Building\n" "https://docs.platformio.org/page/faq.html\n\n") env.Exit(1)