@@ -45,6 +45,7 @@ public class BoardDescription {
45
45
private static final String ENV_KEY_SERIAL_DOT_PORT = "serial.port" ; //$NON-NLS-1$
46
46
private static final String ENV_KEY_SERIAL_PORT_FILE = "serial.port.file" ; //$NON-NLS-1$
47
47
private static final String ENV_KEY_BUILD_VARIANT_PATH = BUILD + DOT + VARIANT + DOT + PATH ;
48
+ private static final String ENV_KEY_BUILD_SYSTEM_PATH = BUILD + DOT + SYSTEM + DOT + PATH ;
48
49
private static final String ENV_KEY_BUILD_ACTUAL_CORE_PATH = BUILD + DOT + CORE + DOT + PATH ;
49
50
private static final String ENV_KEY_BUILD_ARCH = BUILD + DOT + "arch" ; //$NON-NLS-1$
50
51
private static final String ENV_KEY_HARDWARE_PATH = RUNTIME + DOT + HARDWARE + DOT + PATH ;
@@ -611,10 +612,9 @@ public String getUploadPatternKey() {
611
612
public IPath getreferencedHardwarePath () {
612
613
updateWhenDirty ();
613
614
if (myReferencedPlatformCore == null ) {
614
- return new Path (myBoardTxtFile .getLoadedFile ().toString ()).removeLastSegments (2 );
615
+ return new Path (myBoardTxtFile .getLoadedFile ().toString ()).removeLastSegments (1 );
615
616
}
616
- IPath platformPath = myReferencedPlatformCore .getInstallPath ();
617
- return platformPath .removeLastSegments (1 );
617
+ return myReferencedPlatformCore .getInstallPath ();
618
618
}
619
619
620
620
/*
@@ -773,8 +773,10 @@ public Map<String, String> getEnvVars() {
773
773
allVars .putAll (pluginPreProcessingBoardsTxt .getBoardEnvironVars (getBoardID ()));
774
774
775
775
String architecture = getArchitecture ();
776
+ IPath coreHardwarePath = getreferencedHardwarePath ();
776
777
allVars .put (ENV_KEY_BUILD_ARCH , architecture .toUpperCase ());
777
- allVars .put (ENV_KEY_HARDWARE_PATH , getreferencedHardwarePath ().toOSString ());
778
+ allVars .put (ENV_KEY_HARDWARE_PATH , coreHardwarePath .removeLastSegments (1 ).toOSString ());
779
+ allVars .put (ENV_KEY_BUILD_SYSTEM_PATH , coreHardwarePath .append (SYSTEM ).toOSString ());
778
780
allVars .put (ENV_KEY_PLATFORM_PATH , getreferencingPlatformPath ().toOSString ());
779
781
780
782
allVars .put (ENV_KEY_SERIAL_PORT , getActualUploadPort ());
@@ -846,7 +848,7 @@ private Map<String, String> getEnVarPlatformInfo() {
846
848
847
849
if (referencingPlatform == null ) {
848
850
// This is the case for private hardware
849
- //there is no need to specidy tool path as they do not use them
851
+ //there is no need to specify tool path as they do not use them
850
852
return ret ;
851
853
}
852
854
ArduinoPlatformVersion latestArduinoPlatform = BoardsManager .getNewestInstalledPlatform (Const .ARDUINO ,
@@ -886,13 +888,16 @@ private Map<String, String> getEnVarPlatformInfo() {
886
888
private static Map <String , String > getEnvVarPlatformFileTools (ArduinoPlatformVersion platformVersion ) {
887
889
HashMap <String , String > vars = new HashMap <>();
888
890
for (ArduinoPlatformTooldDependency tool : platformVersion .getToolsDependencies ()) {
889
- String installPath = tool .getInstallPath ().toOSString ();
890
- String keyString = RUNTIME_TOOLS + tool .getName () + tool .getVersion () + DOT_PATH ;
891
- vars .put (keyString , installPath );
892
- keyString = RUNTIME_TOOLS + tool .getName () + '-' + tool .getVersion () + DOT_PATH ;
893
- vars .put (keyString , installPath );
894
- keyString = RUNTIME_TOOLS + tool .getName () + DOT_PATH ;
895
- vars .put (keyString , installPath );
891
+ IPath installPath = tool .getInstallPath ();
892
+ if (installPath .toFile ().exists ()) {
893
+ String value = installPath .toOSString ();
894
+ String keyString = RUNTIME_TOOLS + tool .getName () + tool .getVersion () + DOT_PATH ;
895
+ vars .put (keyString , value );
896
+ keyString = RUNTIME_TOOLS + tool .getName () + '-' + tool .getVersion () + DOT_PATH ;
897
+ vars .put (keyString , value );
898
+ keyString = RUNTIME_TOOLS + tool .getName () + DOT_PATH ;
899
+ vars .put (keyString , value );
900
+ }
896
901
}
897
902
return vars ;
898
903
}
0 commit comments