@@ -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 ());
@@ -845,7 +847,7 @@ private Map<String, String> getEnVarPlatformInfo() {
845
847
846
848
if (referencingPlatform == null ) {
847
849
// This is the case for private hardware
848
- //there is no need to specidy tool path as they do not use them
850
+ //there is no need to specify tool path as they do not use them
849
851
return ret ;
850
852
}
851
853
ArduinoPlatformVersion latestArduinoPlatform = BoardsManager .getNewestInstalledPlatform (Const .ARDUINO ,
@@ -885,13 +887,16 @@ private Map<String, String> getEnVarPlatformInfo() {
885
887
private static Map <String , String > getEnvVarPlatformFileTools (ArduinoPlatformVersion platformVersion ) {
886
888
HashMap <String , String > vars = new HashMap <>();
887
889
for (ArduinoPlatformTooldDependency tool : platformVersion .getToolsDependencies ()) {
888
- String installPath = tool .getInstallPath ().toOSString ();
889
- String keyString = RUNTIME_TOOLS + tool .getName () + tool .getVersion () + DOT_PATH ;
890
- vars .put (keyString , installPath );
891
- keyString = RUNTIME_TOOLS + tool .getName () + '-' + tool .getVersion () + DOT_PATH ;
892
- vars .put (keyString , installPath );
893
- keyString = RUNTIME_TOOLS + tool .getName () + DOT_PATH ;
894
- vars .put (keyString , installPath );
890
+ IPath installPath = tool .getInstallPath ();
891
+ if (installPath .toFile ().exists ()) {
892
+ String value = installPath .toOSString ();
893
+ String keyString = RUNTIME_TOOLS + tool .getName () + tool .getVersion () + DOT_PATH ;
894
+ vars .put (keyString , value );
895
+ keyString = RUNTIME_TOOLS + tool .getName () + '-' + tool .getVersion () + DOT_PATH ;
896
+ vars .put (keyString , value );
897
+ keyString = RUNTIME_TOOLS + tool .getName () + DOT_PATH ;
898
+ vars .put (keyString , value );
899
+ }
895
900
}
896
901
return vars ;
897
902
}
0 commit comments