Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions builder/frameworks/arduino/arduino_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,21 @@


def get_variants_dir():
# variants_dir is not specified in board.json file
# Use <framework>/variants as a default path
if "build.variants_dir" not in board:
return os.path.join(FRAMEWORK_DIR, "variants")

# Check if specified variants_dir exist as a package subdirectory to support custom packages installations
package_variants = os.path.join(platform.get_dir(), board.get("build.variants_dir"))
if os.path.isabs(package_variants):
return package_variants

# Check if the specified variants_dir exist as an absolute path on it's own
if os.path.isabs(env.subst(board.get("build.variants_dir"))):
return board.get("build.variants_dir", "")

# Last resort, use specified variants_dir as subdirectory in current project path
return os.path.join("$PROJECT_DIR", board.get("build.variants_dir"))


Expand Down
Loading