Skip to content

Commit cbdebc4

Browse files
author
jantje
committed
1 parent 449fd35 commit cbdebc4

9 files changed

+54
-34
lines changed

io.sloeber.core/config/pre_processing_platform_default.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ A.build.system.path={A.referenced.core.path}{DirectoryDelimiter}system
99
A.serial.port={JANTJE.com_port}
1010
A.build.project_name={ProjName}
1111
A.packages={eclipse_home}{DirectoryDelimiter}arduinoPlugin{DirectoryDelimiter}packages
12-
A.build.source.path={ProjDirPath}
12+
1313

1414

1515
#quick fix for issue #810

io.sloeber.core/src/io/sloeber/core/Activator.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.io.InputStream;
77
import java.net.MalformedURLException;
88
import java.net.URL;
9+
910
import org.eclipse.cdt.core.CCorePlugin;
1011
import org.eclipse.cdt.core.model.CoreModel;
1112
import org.eclipse.cdt.core.settings.model.CProjectDescriptionEvent;
@@ -132,7 +133,7 @@ private static void testKnownIssues() {
132133
errorString += "Alternatively use the environment var " +Const.SLOEBER_HOME + ".";
133134
addString = "\nand\n";
134135
}
135-
if (installPath.toOSString().contains(" ")) {
136+
if (installPath.toString().contains(" ")) {
136137
errorString += addString + "The installpath can not contain spaces " + installPath.toString();
137138
addString = "\nand\n";
138139
}

io.sloeber.core/src/io/sloeber/core/InternalBoardDescriptor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public InternalBoardDescriptor(ICConfigurationDescription confdesc) {
2424

2525
}
2626

27-
public InternalBoardDescriptor(File boardsFile, String boardID, Map<String, String> options) {
27+
public InternalBoardDescriptor(File boardsFile, String boardID, Map<String, String> options) {
2828
super(boardsFile, boardID, options);
2929

3030
}

io.sloeber.core/src/io/sloeber/core/api/BoardDescriptor.java

+12-12
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ public class BoardDescriptor {
127127
*/
128128
private String myProjectName = emptyString;
129129
private String myOSName = Platform.getOS();
130-
private String myWorkSpaceLocation = Common.getWorkspaceRoot().toString();
131-
private String myWorkEclipseLocation = ConfigurationPreferences.getEclipseHome().toString();
130+
private IPath myWorkSpaceLocation = Common.getWorkspaceRoot();
131+
private IPath myWorkEclipseLocation = ConfigurationPreferences.getEclipseHome();
132132

133133
/*
134134
* Stuff to make things work
@@ -428,8 +428,8 @@ protected BoardDescriptor(ICConfigurationDescription confdesc) {
428428
this.myProjectName = getFromBuildEnv(confdesc, ENV_KEY_JANTJE_PROJECT_NAME);
429429
this.myTxtFile = new TxtFile(this.myreferencingBoardsFile, true);
430430
this.myOSName = getFromBuildEnv(confdesc, ENV_KEY_JANTJE_OS);
431-
this.myWorkSpaceLocation = getFromBuildEnv(confdesc, ENV_KEY_JANTJE_WORKSPACE_LOCATION);
432-
this.myWorkEclipseLocation = getFromBuildEnv(confdesc, ENV_KEY_JANTJE_ECLIPSE_LOCATION);
431+
this.myWorkSpaceLocation = new Path(getFromBuildEnv(confdesc, ENV_KEY_JANTJE_WORKSPACE_LOCATION));
432+
this.myWorkEclipseLocation = new Path(getFromBuildEnv(confdesc, ENV_KEY_JANTJE_ECLIPSE_LOCATION));
433433
String optinconcat = getFromBuildEnv(confdesc, ENV_KEY_JANTJE_MENU_SELECTION);
434434
this.myOptions = KeyValue.makeMap(optinconcat);
435435
}
@@ -705,7 +705,7 @@ public boolean saveConfiguration(ICConfigurationDescription confDesc, IContribut
705705

706706
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_JANTJE_BOARD_NAME, getBoardName());
707707
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_JANTJE_BOARDS_FILE,
708-
getReferencingBoardsFile().toString());
708+
getReferencingBoardsFile());
709709
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_JANTJE_BOARD_ID, this.myBoardID);
710710
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_JANTJE_ARCITECTURE_ID, getArchitecture());
711711
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_JANTJE_PACKAGE_ID, getPackage());
@@ -725,11 +725,11 @@ public boolean saveConfiguration(ICConfigurationDescription confDesc, IContribut
725725
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_SERIAL_PORT_FILE,
726726
getActualUploadPort().replace("/dev/", emptyString)); //$NON-NLS-1$
727727
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_BUILD_ACTUAL_CORE_PATH,
728-
getActualCoreCodePath().toOSString());
728+
getActualCoreCodePath());
729729
IPath variantPath = getActualVariantPath();
730730
if (variantPath != null) {
731731
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_BUILD_VARIANT_PATH,
732-
variantPath.toOSString());
732+
variantPath);
733733
} else {// teensy does not use variants
734734
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_BUILD_VARIANT_PATH, emptyString);
735735
}
@@ -738,11 +738,11 @@ public boolean saveConfiguration(ICConfigurationDescription confDesc, IContribut
738738
// referencing such as jantjes hardware
739739

740740
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_REFERENCED_CORE_PLATFORM_PATH,
741-
getReferencedCorePlatformPath().toOSString());
741+
getReferencedCorePlatformPath());
742742
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_REFERENCED_VARIANT_PLATFORM_PATH,
743-
getReferencedVariantPlatformPath().toOSString());
743+
getReferencedVariantPlatformPath());
744744
Common.setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_REFERENCED_UPLOAD_PLATFORM_PATH,
745-
getReferencedUploadPlatformPath().toOSString());
745+
getReferencedUploadPlatformPath());
746746

747747
}
748748

@@ -919,11 +919,11 @@ private String getMyOSName() {
919919
return this.myOSName;
920920
}
921921

922-
private String getMyWorkSpaceLocation() {
922+
private IPath getMyWorkSpaceLocation() {
923923
return this.myWorkSpaceLocation;
924924
}
925925

926-
private String getMyWorkEclipseLocation() {
926+
private IPath getMyWorkEclipseLocation() {
927927
return this.myWorkEclipseLocation;
928928
}
929929

io.sloeber.core/src/io/sloeber/core/common/Common.java

+18-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.eclipse.core.resources.IWorkspaceRoot;
1717
import org.eclipse.core.resources.ResourcesPlugin;
1818
import org.eclipse.core.runtime.CoreException;
19+
import org.eclipse.core.runtime.IPath;
1920
import org.eclipse.core.runtime.IStatus;
2021
import org.eclipse.core.runtime.QualifiedName;
2122
import org.eclipse.core.runtime.Status;
@@ -252,9 +253,9 @@ static public String getBuildEnvironmentVariable(ICConfigurationDescription conf
252253
return defaultvalue;
253254
}
254255

255-
public static File getWorkspaceRoot() {
256+
public static IPath getWorkspaceRoot() {
256257
IWorkspaceRoot myWorkspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
257-
return myWorkspaceRoot.getLocation().toFile();
258+
return myWorkspaceRoot.getLocation();
258259
}
259260

260261
static {
@@ -283,6 +284,21 @@ private static String makePathEnvironmentString(String path) {
283284
return path.replace(eclipseHomeValue, makeEnvironmentVar(ECLIPSE_HOME));
284285
}
285286

287+
public static void setBuildEnvironmentVariable(IContributedEnvironment contribEnv,
288+
ICConfigurationDescription confDesc, String envKeyBuildPath, IPath buildPath) {
289+
// setBuildEnvironmentVariable(contribEnv, confDesc, envKeyBuildPath,
290+
// buildPath.toString());
291+
setBuildEnvironmentVariable(contribEnv, confDesc, envKeyBuildPath, buildPath.toOSString());
292+
293+
}
294+
295+
public static void setBuildEnvironmentVariable(IContributedEnvironment contribEnv,
296+
ICConfigurationDescription confDesc, String envKeyBuildPath, File file) {
297+
// String toSave = new Path(file.toString()).toString();
298+
String toSave = file.toString();
299+
setBuildEnvironmentVariable(contribEnv, confDesc, envKeyBuildPath, toSave);
300+
301+
}
286302
public static void setBuildEnvironmentVariable(IContributedEnvironment contribEnv,
287303
ICConfigurationDescription confdesc, String key, String value) {
288304

io.sloeber.core/src/io/sloeber/core/managers/ArduinoPlatform.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ public String getID() {
214214
String ID=new String();
215215

216216
if (myParent==null) {
217-
ID=getInstallPath().toOSString();
217+
ID = getInstallPath().toString();
218218
}
219219
else {
220220
ID=myParent.getName();

io.sloeber.core/src/io/sloeber/core/tools/ExternalCommandLauncher.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ public int launch(IProgressMonitor monitor, MessageConsoleStream highStream,
213213
monitor.beginTask(Messages.command_launching + ' ' + command, 100);
214214

215215
myProcessBuilder
216-
.directory(Common.getWorkspaceRoot().toPath().toFile());
216+
.directory(Common.getWorkspaceRoot().toFile());
217217
try {
218218
process = myProcessBuilder.start();
219219
} catch (IOException ioe) {

io.sloeber.core/src/io/sloeber/core/tools/FileModifiers.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public FileVisitResult visitFileFailed(java.nio.file.Path file, IOException exc)
8787

8888
Finder finder = new Finder();
8989
try {
90-
Files.walkFileTree(Paths.get(startingDir.toOSString()), finder);
90+
Files.walkFileTree(Paths.get(startingDir.toString()), finder);
9191
} catch (IOException e) {
9292
e.printStackTrace();
9393
}

io.sloeber.core/src/io/sloeber/core/tools/Helpers.java

+17-14
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ public class Helpers extends Common {
7575

7676
private static final String ENV_KEY_BUILD_ARCH = ERASE_START + "build.arch"; //$NON-NLS-1$
7777
private static final String ENV_KEY_BUILD_PATH = ERASE_START + "build.path"; //$NON-NLS-1$
78+
private static final String ENV_KEY_BUILD_SOURCE_PATH = ERASE_START + "build.source.path"; //$NON-NLS-1$
7879
private static final String ENV_KEY_BUILD_GENERIC_PATH = ERASE_START + "build.generic.path"; //$NON-NLS-1$
7980
private static final String ENV_KEY_HARDWARE_PATH = ERASE_START + "runtime.hardware.path"; //$NON-NLS-1$
8081
private static final String ENV_KEY_PLATFORM_PATH = ERASE_START + "runtime.platform.path"; //$NON-NLS-1$
@@ -431,31 +432,33 @@ private static void removeAllEraseEnvironmentVariables(IContributedEnvironment c
431432
* needed for avr and sam
432433
*/
433434

434-
private static void setTheEnvironmentVariablesSetTheDefaults(String projectName, IContributedEnvironment contribEnv,
435+
private static void setTheEnvironmentVariablesSetTheDefaults(IProject project, IContributedEnvironment contribEnv,
435436
ICConfigurationDescription confDesc, BoardDescriptor boardDescriptor) {
436437
// Set some default values because the platform.txt does not contain
437438
// them
438-
IPath platformPath = boardDescriptor.getreferencingPlatformPath();
439-
IPath hardwarePath = boardDescriptor.getreferencedHardwarePath();
440439
String architecture = boardDescriptor.getArchitecture();
441440

442441
boardDescriptor.saveConfiguration(confDesc, contribEnv);
443442
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_BUILD_ARCH, architecture.toUpperCase());
444-
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_HARDWARE_PATH, hardwarePath.toString());
445-
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_PLATFORM_PATH, platformPath.toString());
443+
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_HARDWARE_PATH,
444+
boardDescriptor.getreferencedHardwarePath());
445+
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_PLATFORM_PATH,
446+
boardDescriptor.getreferencingPlatformPath());
447+
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_BUILD_SOURCE_PATH, project.getLocation());
448+
// ={ProjDirPath}
449+
446450
// work around needed because of
447451
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=560330
448452
// it should have been
449453
// A.BUILD.PATH={ProjDirPath}{DirectoryDelimiter}{ConfigName}
450454
// in pre_processing_platform_default.txt
451-
String buildPath = confDesc.getProjectDescription().getProject().getLocation().append(confDesc.getName())
452-
.toOSString();
455+
IPath buildPath = confDesc.getProjectDescription().getProject().getLocation().append(confDesc.getName());
453456
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_BUILD_PATH, buildPath);
454457
// end of workaround
455458

456459
if (Const.isWindows) {
457460
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_JANTJE_MAKE_LOCATION,
458-
ConfigurationPreferences.getMakePath().toOSString() + File.separator);
461+
ConfigurationPreferences.getMakePath().addTrailingSeparator());
459462
}
460463

461464
// some glue to make it work
@@ -476,7 +479,7 @@ private static void setTheEnvironmentVariablesSetTheDefaults(String projectName,
476479

477480
}
478481

479-
private static void setTheEnvironmentVariablesAddAFile(IContributedEnvironment contribEnv,
482+
private static void setTheEnvironmentVariablesAddAFile(IContributedEnvironment contribEnv,
480483
ICConfigurationDescription confDesc, File envVarFile) {
481484
setTheEnvironmentVariablesAddAFile(ERASE_START, contribEnv, confDesc, envVarFile);
482485
}
@@ -638,12 +641,12 @@ private static void addDependentTools(Iterable<ToolDependency> tools, IContribut
638641
+ tool.getVersion() + " Installpath is null")); //$NON-NLS-1$
639642
}
640643
} else {
641-
String valueString = theTool.getInstallPath().toOSString();
642-
setBuildEnvironmentVariable(contribEnv, confDesc, keyString, valueString);
644+
IPath installPath = theTool.getInstallPath();
645+
setBuildEnvironmentVariable(contribEnv, confDesc, keyString, installPath);
643646
keyString = MakeKeyString("runtime.tools." + tool.getName() + tool.getVersion() + ".path"); //$NON-NLS-1$ //$NON-NLS-2$
644-
setBuildEnvironmentVariable(contribEnv, confDesc, keyString, valueString);
647+
setBuildEnvironmentVariable(contribEnv, confDesc, keyString, installPath);
645648
keyString = MakeKeyString("runtime.tools." + tool.getName() + '-' + tool.getVersion() + ".path"); //$NON-NLS-1$ //$NON-NLS-2$
646-
setBuildEnvironmentVariable(contribEnv, confDesc, keyString, valueString);
649+
setBuildEnvironmentVariable(contribEnv, confDesc, keyString, installPath);
647650
}
648651
}
649652

@@ -715,7 +718,7 @@ public static void setTheEnvironmentVariables(IProject project, ICConfigurationD
715718
// first remove all Arduino Variables so there is no memory effect
716719
removeAllEraseEnvironmentVariables(contribEnv, confDesc);
717720

718-
setTheEnvironmentVariablesSetTheDefaults(project.getName(), contribEnv, confDesc, boardsDescriptor);
721+
setTheEnvironmentVariablesSetTheDefaults(project, contribEnv, confDesc, boardsDescriptor);
719722

720723
// add the stuff that comes with the plugin that are marked as pre
721724
setTheEnvironmentVariablesAddAFile(new String(), contribEnv, confDesc, pluginPreProcessingPlatformTxt);

0 commit comments

Comments
 (0)