Skip to content

Commit a3c21eb

Browse files
author
jan
committed
Remove Sloeber setup and add getAnyInstalledPlatform to boardsmanager
1 parent 4a54e02 commit a3c21eb

File tree

9 files changed

+1923
-1842
lines changed

9 files changed

+1923
-1842
lines changed

io.sloeber.autoBuild/src/io/sloeber/autoBuild/api/IAutoBuildConfigurationDescription.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.eclipse.cdt.core.settings.model.CSourceEntry;
1414
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
1515
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
16+
import org.eclipse.cdt.core.settings.model.ICProjectDescriptionManager;
1617
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
1718
import org.eclipse.cdt.core.settings.model.ICSourceEntry;
1819
import org.eclipse.core.resources.IFolder;
@@ -31,7 +32,8 @@ public interface IAutoBuildConfigurationDescription {
3132

3233
public static IAutoBuildConfigurationDescription getActiveConfig(IProject project, boolean write) {
3334
CoreModel coreModel = CoreModel.getDefault();
34-
ICProjectDescription projectDescription = coreModel.getProjectDescription(project, write);
35+
ICProjectDescription projectDescription =coreModel.getProjectDescriptionManager().getProjectDescription(project, ICProjectDescriptionManager.GET_IF_LOADDED);
36+
//ICProjectDescription projectDescription = coreModel.getProjectDescription(project, write);
3537
return getActiveConfig(projectDescription);
3638
}
3739

io.sloeber.core/src/io/sloeber/arduinoFramework/api/BoardDescription.java

Lines changed: 1022 additions & 1031 deletions
Large diffs are not rendered by default.

io.sloeber.core/src/io/sloeber/arduinoFramework/api/BoardsManager.java

Lines changed: 838 additions & 764 deletions
Large diffs are not rendered by default.

io.sloeber.core/src/io/sloeber/arduinoFramework/api/IArduinoPackage.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ public interface IArduinoPackage extends Comparable<IArduinoPackage>{
4848

4949
ArduinoPlatformToolVersion getNewestInstalled(String toolName);
5050

51-
void onlyKeepLatestPlatforms();
52-
5351
boolean isInstalled();
5452

5553
/**

io.sloeber.core/src/io/sloeber/arduinoFramework/internal/ArduinoPackage.java

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import com.google.gson.JsonObject;
2121
import com.google.gson.JsonParseException;
2222

23-
import io.sloeber.arduinoFramework.api.BoardsManager;
2423
import io.sloeber.arduinoFramework.api.IArduinoPackage;
2524
import io.sloeber.arduinoFramework.api.IArduinoPlatform;
2625
import io.sloeber.arduinoFramework.api.IArduinoPlatformVersion;
@@ -191,25 +190,7 @@ public int compareTo(IArduinoPackage other) {
191190
return this.name.compareTo(other.getName());
192191
}
193192

194-
@Override
195-
public void onlyKeepLatestPlatforms() {
196-
for (IArduinoPlatform curplatform : platforms.values()) {
197-
IArduinoPlatformVersion newestVersion = null;
198-
for (IArduinoPlatformVersion curVersion : curplatform.getVersions()) {
199-
if (curVersion.isInstalled()) {
200-
if (newestVersion == null) {
201-
newestVersion = curVersion;
202-
} else {
203-
if (newestVersion.getVersion().compareTo(curVersion.getVersion()) > 0) {
204-
BoardsManager.uninstall(curVersion, null);
205-
} else {
206-
BoardsManager.uninstall(newestVersion, null);
207-
}
208-
}
209-
}
210-
}
211-
}
212-
}
193+
213194

214195
@Override
215196
public boolean isInstalled() {

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

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@
3636

3737
import cc.arduino.packages.discoverers.SloeberNetworkDiscovery;
3838
import io.sloeber.arduinoFramework.api.BoardsManager;
39+
import io.sloeber.arduinoFramework.api.LibraryManager;
3940
import io.sloeber.core.api.ConfigurationPreferences;
41+
import io.sloeber.core.api.Defaults;
4042
import io.sloeber.core.common.InstancePreferences;
4143
import io.sloeber.core.listeners.ConfigurationChangeListener;
4244
import io.sloeber.core.listeners.IndexerController;
@@ -261,7 +263,7 @@ protected IStatus run(IProgressMonitor monitor) {
261263

262264
installOtherStuff();
263265

264-
BoardsManager.startup_Pluging(monitor);
266+
startup_BoardsManager(monitor);
265267

266268
monitor.setTaskName("Done!");
267269
if (InstancePreferences.useBonjour()) {
@@ -454,4 +456,27 @@ public static void log(IStatus status) {
454456
}
455457
}
456458

459+
/**
460+
* Loads all stuff needed and if this is the first time downloads the avr boards
461+
* and needed tools
462+
*
463+
* @param monitor
464+
*/
465+
private static synchronized void startup_BoardsManager(IProgressMonitor monitor) {
466+
BoardsManager.update( ConfigurationPreferences.getUpdateJasonFilesFlag());
467+
468+
if (!LibraryManager.libsAreInstalled()) {
469+
LibraryManager.InstallDefaultLibraries(monitor);
470+
}
471+
IPath examplesPath = ConfigurationPreferences.getInstallationPathExamples();
472+
if (!examplesPath.toFile().exists()) {// examples are not installed
473+
// Download arduino IDE example programs
474+
Activator.log(PackageManager.downloadAndInstall(Defaults.EXAMPLES_URL, Defaults.EXAMPLE_PACKAGE, examplesPath,
475+
false, monitor));
476+
}
477+
478+
479+
}
480+
481+
457482
}

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

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,24 @@
77

88
@SuppressWarnings("nls")
99
public class Defaults {
10+
public static final String DEFAULT_INSTALL_JSON = "https://downloads.arduino.cc/packages/package_index.json";
11+
public static final String JANTJE_BOARD_JSON_URL = "https://raw.githubusercontent.com/jantje/hardware/master/package_jantje_index.json";
12+
public static final String DEFAULT_INSTALL_ARCHITECTURE = "avr";
13+
public static final String DEFAULT_INSTALL_MAINTAINER = "arduino";
14+
public static final String[] DEFAULT_JSON_URLS = {DEFAULT_INSTALL_JSON,
15+
JANTJE_BOARD_JSON_URL,
16+
"https://raw.githubusercontent.com/jantje/ArduinoLibraries/master/library_jantje_index.json",
17+
"https://arduino.esp8266.com/stable/package_esp8266com_index.json",
18+
"https://www.pjrc.com/teensy/package_teensy_index.json",
19+
"https://downloads.arduino.cc/libraries/library_index.json"};
20+
21+
22+
1023
public static final String EXAMPLE_PACKAGE = "examples_Arduino_1_8_10.zip";
1124
public static final String EXAMPLES_URL = "https://github.com/Sloeber/arduino-eclipse-plugin/releases/download/V4_3_2/"
1225
+ EXAMPLE_PACKAGE;
1326

14-
public static final String DEFAULT_INSTALL_ARCHITECTURE = "avr";
15-
public static final String DEFAULT_INSTALL_MAINTAINER = "arduino";
27+
1628
public static final String[] DEFAULT_INSTALLED_LIBRARIES = new String[] { "Ethernet", "Firmata", "GSM", "Keyboard",
1729
"LiquidCrystal", "Mouse", "SD", "Servo", "Stepper", "TFT", "WiFi", "CapacitiveSensor" };
1830
public static final String DEFAULT = "Default";

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ public static boolean getUseArduinoToolSelection() {
4848
return InstancePreferences.getUseArduinoToolSelection();
4949
}
5050

51-
public static void setUpdateJsonFiles(boolean flag) {
52-
ConfigurationPreferences.setUpdateJasonFilesFlag(flag);
53-
}
54-
public static boolean getUpdateJsonFiles() {
55-
return ConfigurationPreferences.getUpdateJasonFilesFlag();
56-
}
57-
51+
// public static void setUpdateJsonFiles(boolean flag) {
52+
// ConfigurationPreferences.setUpdateJasonFilesFlag(flag);
53+
// }
54+
// public static boolean getUpdateJsonFiles() {
55+
// return ConfigurationPreferences.getUpdateJasonFilesFlag();
56+
// }
57+
5858
/**
5959
*wrapper for ConfigurationPreferences.useBonjour();
6060
*/

io.sloeber.ui/src/io/sloeber/ui/preferences/ThirdPartyHardwareSelectionPage.java

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010
import org.eclipse.core.runtime.IStatus;
1111
import org.eclipse.core.runtime.Status;
1212
import org.eclipse.core.runtime.preferences.ConfigurationScope;
13-
import org.eclipse.jface.preference.BooleanFieldEditor;
1413
import org.eclipse.jface.preference.FieldEditorPreferencePage;
15-
import org.eclipse.jface.preference.IPreferenceStore;
1614
import org.eclipse.swt.SWT;
1715
import org.eclipse.swt.layout.GridData;
1816
import org.eclipse.swt.widgets.Composite;
@@ -26,14 +24,13 @@
2624
import org.eclipse.ui.preferences.ScopedPreferenceStore;
2725

2826
import io.sloeber.arduinoFramework.api.BoardsManager;
29-
import io.sloeber.core.api.Preferences;
3027
import io.sloeber.ui.Messages;
3128
import io.sloeber.ui.helpers.MyPreferences;
3229

3330
public class ThirdPartyHardwareSelectionPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
34-
private static final String KEY_UPDATE_JASONS = "Update jsons files"; //$NON-NLS-1$
31+
//private static final String KEY_UPDATE_JASONS = "Update jsons files"; //$NON-NLS-1$
3532
private Text urlsText;
36-
BooleanFieldEditor upDateJsons;
33+
//BooleanFieldEditor upDateJsons;
3734

3835
public ThirdPartyHardwareSelectionPage() {
3936
super(org.eclipse.jface.preference.FieldEditorPreferencePage.GRID);
@@ -43,10 +40,11 @@ public ThirdPartyHardwareSelectionPage() {
4340

4441
@Override
4542
public boolean performOk() {
46-
boolean updateFiles=this.upDateJsons.getBooleanValue();
47-
Preferences.setUpdateJsonFiles(updateFiles);
43+
// boolean updateFiles=this.upDateJsons.getBooleanValue();
44+
// Preferences.setUpdateJsonFiles(updateFiles);
4845
HashSet<String> toSetList = new HashSet<>(Arrays.asList(urlsText.getText().split(System.lineSeparator())));
49-
BoardsManager.setPackageURLs(toSetList,updateFiles);
46+
BoardsManager.setPackageURLs(toSetList);
47+
BoardsManager.update(false);
5048

5149
return super.performOk();
5250
}
@@ -73,12 +71,12 @@ protected void createFieldEditors() {
7371
this.urlsText.setLayoutData(gd);
7472
this.urlsText.setText(StringUtil.join(selectedJsons, System.lineSeparator()));
7573

76-
this.upDateJsons = new BooleanFieldEditor(KEY_UPDATE_JASONS, Messages.json_update, BooleanFieldEditor.DEFAULT,
77-
parent);
78-
addField(this.upDateJsons);
79-
IPreferenceStore prefstore = getPreferenceStore();
80-
prefstore.setValue(KEY_UPDATE_JASONS, Preferences.getUpdateJsonFiles());
81-
prefstore.setDefault(KEY_UPDATE_JASONS, true);
74+
// this.upDateJsons = new BooleanFieldEditor(KEY_UPDATE_JASONS, Messages.json_update, BooleanFieldEditor.DEFAULT,
75+
// parent);
76+
// addField(this.upDateJsons);
77+
// IPreferenceStore prefstore = getPreferenceStore();
78+
// prefstore.setValue(KEY_UPDATE_JASONS, Preferences.getUpdateJsonFiles());
79+
// prefstore.setDefault(KEY_UPDATE_JASONS, true);
8280

8381
final Hyperlink link = new Hyperlink(parent, SWT.NONE);
8482
link.setText(Messages.json_find);

0 commit comments

Comments
 (0)