Skip to content

Commit 981b330

Browse files
committed
this implements arduino:arduino for core and variant.
I didn't do thorough testing ... #158
1 parent e5ffbfa commit 981b330

File tree

9 files changed

+259
-169
lines changed

9 files changed

+259
-169
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
*/.settings/
1+
*/.settings/
2+
.*

it.baeyens.arduino.application/META-INF/MANIFEST.MF

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,9 @@ Bundle-Version: 2.4.0.qualifier
66
Require-Bundle: org.eclipse.core.runtime,
77
org.eclipse.ui,
88
it.baeyens.arduino.monitor,
9-
org.eclipse.ui.intro
9+
org.eclipse.ui.intro,
10+
it.baeyens.arduino.common,
11+
it.baeyens.arduino.core,
12+
it.baeyens.arduino.product,
13+
it.baeyens.cdt.refactor
1014
Bundle-RequiredExecutionEnvironment: JavaSE-1.7

it.baeyens.arduino.common/src/it/baeyens/arduino/common/ArduinoConst.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public class ArduinoConst {
5454
public static final String BOARDS_FILE_NAME = "boards.txt";//$NON-NLS-1$
5555
public static final String PLATFORM_FILE_NAME = "platform.txt";//$NON-NLS-1$
5656
public static final String LIB_VERSION_FILE = "lib/version.txt";//$NON-NLS-1$
57-
public static final String VARIANTS_FOLDER = "variants";//$NON-NLS-1$
57+
public static final String ARDUINO_VARIANTS_FOLDER_NAME = "variants";//$NON-NLS-1$
5858

5959
public static final String WORKSPACE_PATH_VARIABLE_NAME_ARDUINO_LIB = "ArduinoLibPath";//$NON-NLS-1$
6060
public static final String WORKSPACE_PATH_VARIABLE_NAME_ARDUINO = "ArduinoPath";//$NON-NLS-1$
@@ -104,7 +104,7 @@ public class ArduinoConst {
104104
public static final String ENV_KEY_wait_for_upload_port = ENV_KEY_ARDUINO_START + "UPLOAD.WAIT_FOR_UPLOAD_PORT";//$NON-NLS-1$
105105
public static final String ENV_KEY_upload_tool = ENV_KEY_ARDUINO_START + "UPLOAD.TOOL";//$NON-NLS-1$
106106
public static final String ENV_KEY_UPLOAD_PROTOCOL = ENV_KEY_ARDUINO_START + "UPLOAD.PROTOCOL";//$NON-NLS-1$
107-
public static final String ENV_KEY_build_core_folder = ENV_KEY_ARDUINO_START + "BUILD.CORE";//$NON-NLS-1$
107+
public static final String ENV_KEY_build_core = ENV_KEY_ARDUINO_START + "BUILD.CORE";//$NON-NLS-1$
108108
public static final String ENV_KEY_build_core_path = ENV_KEY_ARDUINO_START + "BUILD.CORE.PATH";//$NON-NLS-1$
109109
public static final String ENV_KEY_use_archiver = ENV_KEY_ARDUINO_START + "BUILD.USE_ARCHIVER";//$NON-NLS-1$
110110
public static final String ENV_KEY_SERIAL_PORT = ENV_KEY_ARDUINO_START + "SERIAL.PORT";//$NON-NLS-1$
@@ -120,6 +120,7 @@ public class ArduinoConst {
120120
public static final String ENV_KEY_JANTJE_SIZE_SWITCH = ENV_KEY_JANTJE_START + "SIZE.SWITCH";//$NON-NLS-1$
121121
public static final String ENV_KEY_JANTJE_BOARDS_FILE = ENV_KEY_JANTJE_START + "BOARDS_FILE";//$NON-NLS-1$
122122
public static final String ENV_KEY_JANTJE_PLATFORM_FILE = ENV_KEY_JANTJE_START + "PLATFORM_FILE";//$NON-NLS-1$
123+
public static final String ENV_KEY_JANTJE_REFERENCED_PLATFORM_FILE = ENV_KEY_JANTJE_START + "REFERENCED_PLATFORM_FILE";//$NON-NLS-1$
123124
public static final String ENV_KEY_JANTJE_COM_PORT = ENV_KEY_JANTJE_START + "COM_PORT";//$NON-NLS-1$
124125
public static final String ENV_KEY_JANTJE_COM_PROG = ENV_KEY_JANTJE_START + "COM_PROGMR";//$NON-NLS-1$
125126
public static final String ENV_KEY_JANTJE_BOARD_NAME = ENV_KEY_JANTJE_START + "BOARD_NAME";//$NON-NLS-1$
@@ -130,6 +131,9 @@ public class ArduinoConst {
130131
public static final String ENV_KEY_JANTJE_PACKAGE_ID = ENV_KEY_JANTJE_START + "PACKAGE_ID";//$NON-NLS-1$
131132
public static final String ENV_KEY_JANTJE_ARCITECTURE_ID = ENV_KEY_JANTJE_START + "ARCHITECTURE_ID";//$NON-NLS-1$
132133
public static final String ENV_KEY_JANTJE_BOARD_ID = ENV_KEY_JANTJE_START + "BOARD_ID";//$NON-NLS-1$
134+
public static final String ENV_KEY_JANTJE_BUILD_CORE = ENV_KEY_JANTJE_START + "BUILD_CORE";//$NON-NLS-1$
135+
public static final String ENV_KEY_JANTJE_BUILD_VARIANT = ENV_KEY_JANTJE_START + "BUILD_VARIANT";//$NON-NLS-1$
136+
133137
//
134138
// template Sketch information
135139

it.baeyens.arduino.common/src/it/baeyens/arduino/common/ArduinoInstancePreferences.java

+10
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.eclipse.core.filesystem.URIUtil;
44
import org.eclipse.core.runtime.IPath;
55
import org.eclipse.core.runtime.IStatus;
6+
import org.eclipse.core.runtime.Path;
67
import org.eclipse.core.runtime.Platform;
78
import org.eclipse.core.runtime.Status;
89
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
@@ -303,6 +304,15 @@ public static IPath getArduinoPath() {
303304
return Common.getArduinoIDEPathFromUserSelection(getGlobalString(KEY_ARDUINOPATH, ""));
304305
}
305306

307+
public static IPath getArduinoIdeHardwarePath() {
308+
return getArduinoPath().append(ArduinoConst.ARDUINO_HARDWARE_FOLDER_NAME);
309+
}
310+
311+
public static IPath getArduinoBoardsManagerPackagesPath() {
312+
IPath homPath = new Path(System.getProperty("user.home"));
313+
return homPath.append(".arduino15").append("packages");
314+
}
315+
306316
public static String getArduinoIdeProgram() {
307317
IPath ArduinoIDEPath = ArduinoInstancePreferences.getArduinoPath();
308318

it.baeyens.arduino.core/src/it/baeyens/arduino/listeners/ConfigurationChangeListener.java

+17-22
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,37 @@
55
import it.baeyens.arduino.tools.ArduinoHelpers;
66
import it.baeyens.arduino.tools.ArduinoLibraries;
77

8-
import org.eclipse.cdt.core.CCorePlugin;
9-
import org.eclipse.cdt.core.envvar.IContributedEnvironment;
10-
import org.eclipse.cdt.core.envvar.IEnvironmentVariable;
11-
import org.eclipse.cdt.core.envvar.IEnvironmentVariableManager;
128
import org.eclipse.cdt.core.settings.model.CProjectDescriptionEvent;
139
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
1410
import org.eclipse.cdt.core.settings.model.ICProjectDescriptionListener;
15-
import org.eclipse.core.runtime.CoreException;
16-
import org.eclipse.core.runtime.IPath;
1711
import org.eclipse.core.runtime.IStatus;
18-
import org.eclipse.core.runtime.Path;
1912
import org.eclipse.core.runtime.Status;
2013

2114
public class ConfigurationChangeListener implements ICProjectDescriptionListener {
2215

2316
@Override
2417
public void handleEvent(CProjectDescriptionEvent event) {
2518
// we are only interested in about to apply
26-
if (event.getEventType() != CProjectDescriptionEvent.ABOUT_TO_APPLY)
27-
return;
19+
// if (event.getEventType() != CProjectDescriptionEvent.ABOUT_TO_APPLY)
20+
// return;
21+
// if (true)
22+
// return;
2823
ICProjectDescription projDesc = event.getNewCProjectDescription();
29-
IEnvironmentVariableManager envManager = CCorePlugin.getDefault().getBuildEnvironmentManager();
30-
IContributedEnvironment contribEnv = envManager.getContributedEnvironment();
24+
3125
if (projDesc.getActiveConfiguration() != null) {
32-
IEnvironmentVariable var = contribEnv.getVariable(ArduinoConst.ENV_KEY_JANTJE_PLATFORM_FILE, projDesc.getActiveConfiguration());
33-
if (var != null) {
34-
IPath platformPath = new Path(var.getValue());
35-
ArduinoHelpers.setProjectPathVariables(projDesc.getProject(), platformPath.removeLastSegments(1));
36-
ArduinoHelpers.setTheEnvironmentVariables(projDesc.getProject(), projDesc.getActiveConfiguration(), false);
37-
try {
38-
ArduinoHelpers.addArduinoCodeToProject(projDesc.getProject(), projDesc.getActiveConfiguration());
39-
} catch (CoreException e1) {
40-
Common.log(new Status(IStatus.ERROR, ArduinoConst.CORE_PLUGIN_ID, "Error adding the arduino code", e1));
41-
}
42-
ArduinoLibraries.reAttachLibrariesToProject(projDesc.getActiveConfiguration());
26+
27+
ArduinoHelpers.setTheEnvironmentVariables(projDesc.getProject(), projDesc.getActiveConfiguration(), false);
28+
ArduinoHelpers.setProjectPathVariables(projDesc.getActiveConfiguration());
29+
// try {
30+
try {
31+
ArduinoHelpers.addArduinoCodeToProject(projDesc.getProject(), projDesc.getActiveConfiguration());
32+
} catch (Exception e) {
33+
Common.log(new Status(IStatus.WARNING, ArduinoConst.CORE_PLUGIN_ID, "failed to add include folder", e));
4334
}
35+
// } catch (CoreException e1) {
36+
// Common.log(new Status(IStatus.ERROR, ArduinoConst.CORE_PLUGIN_ID, "Error adding the arduino code", e1));
37+
// }
38+
ArduinoLibraries.reAttachLibrariesToProject(projDesc.getActiveConfiguration());
4439
}
4540
}
4641

0 commit comments

Comments
 (0)