diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/WPILibCore.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/WPILibCore.java index 1bc4e710bc..111b97af28 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/WPILibCore.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/WPILibCore.java @@ -133,7 +133,7 @@ public class WPILibCore extends AbstractUIPlugin { } public String getDefaultVersion() { - return "2013-test-0.4"; + return "0.2"; } public String getCurrentVersion() { diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/installer/AbstractInstaller.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/installer/AbstractInstaller.java index b2ca3ad4dd..e26bdd2628 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/installer/AbstractInstaller.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/installer/AbstractInstaller.java @@ -22,12 +22,12 @@ import edu.wpi.first.wpilib.plugins.core.WPILibCore; public abstract class AbstractInstaller { protected File installLocation; - protected String version; + protected String version, installedVersion; - public AbstractInstaller(String version) { - this.installLocation = new File(WPILibCore.getDefault().getWPILibBaseDir() - + File.separator + getFeatureName() + File.separator + version); + public AbstractInstaller(String version, String installedVersion, String path) { + this.installLocation = new File(path); this.version = version; + this.installedVersion = installedVersion; } /** @@ -55,7 +55,7 @@ public abstract class AbstractInstaller { WPILibCore.logInfo("Installing "+getFeatureName()+" if necessary"); if (!isInstalled()) { - WPILibCore.logInfo("Install necessary"); + WPILibCore.logInfo("Install necessary for " + getFeatureName()); try { install(); } catch (InstallException e) { @@ -64,9 +64,9 @@ public abstract class AbstractInstaller { getErrorMessage(e)); } } - + updateInstalledVersion(version); - WPILibCore.logInfo("Installed"); + WPILibCore.logInfo("Installed" + getFeatureName()); return Status.OK_STATUS; } @@ -105,7 +105,7 @@ public abstract class AbstractInstaller { * @return True for is there and newer, false otherwise. */ protected boolean isInstalled() { - return installLocation.exists(); + return installLocation.exists() && !version.contains("DEVELOPMENT") && version.equals(installedVersion); } /** @@ -138,7 +138,7 @@ public abstract class AbstractInstaller { } // Call 'unzip' - final String[] cmd = {"unzip", tmpFile.getAbsolutePath(), "-d", installLocation.getAbsolutePath()}; + final String[] cmd = {"unzip" , "-o", tmpFile.getAbsolutePath(), "-d", installLocation.getAbsolutePath()}; WPILibCore.logInfo("unzip "+tmpFile.getAbsolutePath()+" -d "+installLocation.getAbsolutePath()); final Process unzipProcess = DebugPlugin.exec(cmd, installLocation); try (final InputStream is = unzipProcess.getInputStream()) { diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/installer/ToolsInstaller.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/installer/ToolsInstaller.java index f1723aa53c..4dff87bcbc 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/installer/ToolsInstaller.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/installer/ToolsInstaller.java @@ -1,8 +1,6 @@ package edu.wpi.first.wpilib.plugins.core.installer; import java.io.InputStream; -import java.util.Properties; - import org.eclipse.jface.preference.IPreferenceStore; import edu.wpi.first.wpilib.plugins.core.WPILibCore; @@ -11,7 +9,7 @@ import edu.wpi.first.wpilib.plugins.core.preferences.PreferenceConstants; public class ToolsInstaller extends AbstractInstaller { public ToolsInstaller(String version) { - super(version); + super(version, WPILibCore.getDefault().getPreferenceStore().getString(PreferenceConstants.TOOLS_VERSION), WPILibCore.getDefault().getWPILibBaseDir() + "/tools"); } @Override @@ -22,13 +20,8 @@ public class ToolsInstaller extends AbstractInstaller { @Override protected void updateInstalledVersion(String version) { IPreferenceStore prefs = WPILibCore.getDefault().getPreferenceStore(); - if (prefs.getBoolean(PreferenceConstants.UPDATE_TOOLS_VERSION)) { - WPILibCore.logInfo("Forcing library version to "+version); - Properties props = WPILibCore.getDefault().getProjectProperties(null); - props.setProperty("version", version); - WPILibCore.getDefault().saveGlobalProperties(props); - prefs.setValue(PreferenceConstants.TOOLS_VERSION, version); - } + prefs.setValue(PreferenceConstants.TOOLS_VERSION, version); + } @Override diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/preferences/PreferenceInitializer.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/preferences/PreferenceInitializer.java index 8697809fa9..20d88c7ce1 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/preferences/PreferenceInitializer.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.core/src/main/java/edu/wpi/first/wpilib/plugins/core/preferences/PreferenceInitializer.java @@ -19,7 +19,8 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer { IPreferenceStore store = WPILibCore.getDefault().getPreferenceStore(); store.setDefault(PreferenceConstants.TEAM_NUMBER, WPILibCore.getDefault().getProjectProperties(null).getProperty("team-number", "0")); - store.setDefault(PreferenceConstants.TOOLS_VERSION, WPILibCore.getDefault().getDefaultVersion()); - store.setDefault(PreferenceConstants.UPDATE_TOOLS_VERSION, true); + String val = store.getString(PreferenceConstants.TOOLS_VERSION); + if (!store.contains(PreferenceConstants.TOOLS_VERSION) && val != null) + store.setValue(PreferenceConstants.TOOLS_VERSION, "none"); } } diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.linux/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/linux/Activator.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.linux/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/linux/Activator.java index 3222d18422..b3a54f6c7a 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.linux/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/linux/Activator.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.linux/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/linux/Activator.java @@ -33,7 +33,7 @@ public class Activator extends AbstractUIPlugin implements IStartup { } private String getCurrentVersion() { - return WPILibCPPPlugin.getDefault().getDefaultToolchainVersion(); + return "4.4.1-csery-gcc"; } /* diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.linux/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/linux/ToolchainInstaller.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.linux/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/linux/ToolchainInstaller.java index b42d84e020..bb24443a0f 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.linux/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/linux/ToolchainInstaller.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.linux/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/linux/ToolchainInstaller.java @@ -11,7 +11,8 @@ import edu.wpi.first.wpilib.plugins.cpp.preferences.PreferenceConstants; public class ToolchainInstaller extends AbstractInstaller { public ToolchainInstaller(String version) { - super(version); + super(version, + WPILibCPPPlugin.getDefault().getPreferenceStore().getString(PreferenceConstants.TOOLCHAIN_INSTALLED), WPILibCPPPlugin.getDefault().getToolchain()); } @Override @@ -21,11 +22,8 @@ public class ToolchainInstaller extends AbstractInstaller { @Override protected void updateInstalledVersion(String version) { - IPreferenceStore prefs = WPILibCPPPlugin.getDefault().getPreferenceStore(); - if (prefs.getBoolean(PreferenceConstants.UPDATE_TOOLCHAIN_VERSION)) { - System.out.println("Forcing library version to "+version); - prefs.setValue(PreferenceConstants.TOOLCHAIN_VERSION, version); - } + WPILibCPPPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.TOOLCHAIN_INSTALLED, + WPILibCPPPlugin.getDefault().getCurrentVersion()); } @Override diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.mac/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/mac/Activator.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.mac/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/mac/Activator.java index 6c9b8c281b..7ae4b3b816 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.mac/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/mac/Activator.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.mac/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/mac/Activator.java @@ -33,7 +33,7 @@ public class Activator extends AbstractUIPlugin implements IStartup { } private String getCurrentVersion() { - return WPILibCPPPlugin.getDefault().getDefaultToolchainVersion(); + return "4.4.1-csery-gcc"; } /* diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.mac/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/mac/ToolchainInstaller.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.mac/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/mac/ToolchainInstaller.java index 15c3fc4d68..733578a8f3 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.mac/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/mac/ToolchainInstaller.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.mac/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/mac/ToolchainInstaller.java @@ -11,7 +11,8 @@ import edu.wpi.first.wpilib.plugins.cpp.preferences.PreferenceConstants; public class ToolchainInstaller extends AbstractInstaller { public ToolchainInstaller(String version) { - super(version); + super(version, + WPILibCPPPlugin.getDefault().getPreferenceStore().getString(PreferenceConstants.TOOLCHAIN_INSTALLED), WPILibCPPPlugin.getDefault().getToolchain()); } @Override @@ -21,11 +22,8 @@ public class ToolchainInstaller extends AbstractInstaller { @Override protected void updateInstalledVersion(String version) { - IPreferenceStore prefs = WPILibCPPPlugin.getDefault().getPreferenceStore(); - if (prefs.getBoolean(PreferenceConstants.UPDATE_TOOLCHAIN_VERSION)) { - System.out.println("Forcing library version to "+version); - prefs.setValue(PreferenceConstants.TOOLCHAIN_VERSION, version); - } + WPILibCPPPlugin.getDefault().getPreferenceStore().setDefault(PreferenceConstants.TOOLCHAIN_INSTALLED, + WPILibCPPPlugin.getDefault().getCurrentVersion()); } @Override diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.windows/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/windows/Activator.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.windows/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/windows/Activator.java index 5d8023d69e..65d7f0d8da 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.windows/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/windows/Activator.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.windows/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/windows/Activator.java @@ -33,7 +33,7 @@ public class Activator extends AbstractUIPlugin implements IStartup { } private String getCurrentVersion() { - return WPILibCPPPlugin.getDefault().getDefaultToolchainVersion(); + return "4.4.1-csery-gcc"; } /* diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.windows/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/windows/ToolchainInstaller.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.windows/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/windows/ToolchainInstaller.java index d57fa3ee62..175a6e3abc 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.windows/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/windows/ToolchainInstaller.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp.toolchains.windows/src/edu/wpi/first/wpilib/plugins/cpp/toolchains/windows/ToolchainInstaller.java @@ -11,7 +11,8 @@ import edu.wpi.first.wpilib.plugins.cpp.preferences.PreferenceConstants; public class ToolchainInstaller extends AbstractInstaller { public ToolchainInstaller(String version) { - super(version); + super(version, + WPILibCPPPlugin.getDefault().getPreferenceStore().getString(PreferenceConstants.TOOLCHAIN_INSTALLED), WPILibCPPPlugin.getDefault().getToolchain()); } @Override @@ -21,11 +22,8 @@ public class ToolchainInstaller extends AbstractInstaller { @Override protected void updateInstalledVersion(String version) { - IPreferenceStore prefs = WPILibCPPPlugin.getDefault().getPreferenceStore(); - if (prefs.getBoolean(PreferenceConstants.UPDATE_TOOLCHAIN_VERSION)) { - System.out.println("Forcing library version to "+version); - prefs.setValue(PreferenceConstants.TOOLCHAIN_VERSION, version); - } + WPILibCPPPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.TOOLCHAIN_INSTALLED, + WPILibCPPPlugin.getDefault().getCurrentVersion()); } @Override diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/WPILibCPPPlugin.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/WPILibCPPPlugin.java index f5f6a06c26..f25d0e66da 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/WPILibCPPPlugin.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/WPILibCPPPlugin.java @@ -58,13 +58,9 @@ public class WPILibCPPPlugin extends AbstractUIPlugin implements IStartup { return plugin; } - public String getDefaultToolchainVersion() { - return "arm-none-linux-gnueabi-4.4.1"; - } - public String getToolchain() { return WPILibCore.getDefault().getWPILibBaseDir() - + File.separator + "toolchains" + File.separator + getPreferenceStore().getString(PreferenceConstants.TOOLCHAIN_VERSION); + + File.separator + "toolchains" + File.separator + "current"; } public String getCurrentVersion() { @@ -82,7 +78,7 @@ public class WPILibCPPPlugin extends AbstractUIPlugin implements IStartup { public String getCPPDir() { return WPILibCore.getDefault().getWPILibBaseDir() - + File.separator + "cpp" + File.separator + getPreferenceStore().getString(PreferenceConstants.LIBRARY_VERSION); + + File.separator + "cpp" + File.separator + "current"; } @Override diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/installer/CPPInstaller.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/installer/CPPInstaller.java index bdc5c26269..4702a30a5a 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/installer/CPPInstaller.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/installer/CPPInstaller.java @@ -1,11 +1,6 @@ package edu.wpi.first.wpilib.plugins.cpp.installer; import java.io.InputStream; -import java.util.Properties; - -import org.eclipse.jface.preference.IPreferenceStore; - -import edu.wpi.first.wpilib.plugins.core.WPILibCore; import edu.wpi.first.wpilib.plugins.core.installer.AbstractInstaller; import edu.wpi.first.wpilib.plugins.cpp.WPILibCPPPlugin; import edu.wpi.first.wpilib.plugins.cpp.preferences.PreferenceConstants; @@ -19,28 +14,23 @@ import edu.wpi.first.wpilib.plugins.cpp.preferences.PreferenceConstants; public class CPPInstaller extends AbstractInstaller { public CPPInstaller(String version) { - super(version); + super(version, + WPILibCPPPlugin.getDefault().getPreferenceStore().getString(PreferenceConstants.LIBRARY_INSTALLED), WPILibCPPPlugin.getDefault().getCPPDir()); } - - @Override - protected String getFeatureName() { - return "cpp"; - } - @Override protected void updateInstalledVersion(String version) { - IPreferenceStore prefs = WPILibCPPPlugin.getDefault().getPreferenceStore(); - if (prefs.getBoolean(PreferenceConstants.UPDATE_LIBRARY_VERSION)) { - WPILibCPPPlugin.logInfo("Forcing library version to "+version); - Properties props = WPILibCore.getDefault().getProjectProperties(null); - props.setProperty("cpp-version", version); - WPILibCore.getDefault().saveGlobalProperties(props); - prefs.setValue(PreferenceConstants.LIBRARY_VERSION, version); - } + WPILibCPPPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.LIBRARY_INSTALLED, + WPILibCPPPlugin.getDefault().getCurrentVersion()); } - + @Override protected InputStream getInstallResourceStream() { return CPPInstaller.class.getResourceAsStream("/resources/cpp.zip"); } + + @Override + protected String getFeatureName() + { + return "cpp"; + } } diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/CPPPreferencePage.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/CPPPreferencePage.java deleted file mode 100644 index 4ee009db4f..0000000000 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/CPPPreferencePage.java +++ /dev/null @@ -1,118 +0,0 @@ -package edu.wpi.first.wpilib.plugins.cpp.preferences; - -import java.io.File; -import java.io.FileFilter; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Properties; - -import org.eclipse.jface.preference.BooleanFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -import edu.wpi.first.wpilib.plugins.core.WPILibCore; -import edu.wpi.first.wpilib.plugins.core.preferences.ComboFieldEditor; -import edu.wpi.first.wpilib.plugins.cpp.WPILibCPPPlugin; - -/** - * This class represents a preference page that - * is contributed to the Preferences dialog. By - * subclassing FieldEditorPreferencePage, we - * can use the field support built into JFace that allows - * us to create a page that is small and knows how to - * save, restore and apply itself. - *

- * This page is used to modify preferences only. They - * are stored in the preference store that belongs to - * the main plug-in class. That way, preferences can - * be accessed directly via the preference store. - */ - -public class CPPPreferencePage - extends FieldEditorPreferencePage - implements IWorkbenchPreferencePage { - ComboFieldEditor toolchainVersionEditor; - BooleanFieldEditor autoUpdateToolchainEditor; - private ComboFieldEditor wpiLibVersionEditor; - private BooleanFieldEditor autoUpdateEditor; - - public CPPPreferencePage() { - super(GRID); - setPreferenceStore(WPILibCPPPlugin.getDefault().getPreferenceStore()); - setDescription("Change workspace level settings for C++."); - } - - /** - * Creates the field editors. Field editors are abstractions of - * the common GUI blocks needed to manipulate various types - * of preferences. Each field editor knows how to save and - * restore itself. - */ - public void createFieldEditors() { - wpiLibVersionEditor = new ComboFieldEditor(PreferenceConstants.LIBRARY_VERSION, - "&Library Version:", getFieldEditorParent(), getInstalledVersions()); - addField(wpiLibVersionEditor); - autoUpdateEditor = new BooleanFieldEditor(PreferenceConstants.UPDATE_LIBRARY_VERSION, - "&Auto Update Library Version", getFieldEditorParent()); - addField(autoUpdateEditor); - toolchainVersionEditor = new ComboFieldEditor(PreferenceConstants.TOOLCHAIN_VERSION, - "&Toolchain Version:", getFieldEditorParent(), getInstalledToolchains()); - addField(toolchainVersionEditor); - autoUpdateToolchainEditor = new BooleanFieldEditor(PreferenceConstants.UPDATE_TOOLCHAIN_VERSION, - "&Auto Update Toolchain Version", getFieldEditorParent()); - addField(autoUpdateToolchainEditor); - } - - private List getInstalledVersions() { - File[] dirs = new File(WPILibCore.getDefault().getWPILibBaseDir()+File.separator+"cpp") - .listFiles(new FileFilter() { - @Override public boolean accept(File f) { - return f.isDirectory(); - } - }); - List versions = new ArrayList(); - for (File dir : dirs) { - versions.add(dir.getName()); - } - Collections.sort(versions); - return versions; - } - - private List getInstalledToolchains() { - File[] dirs = new File(WPILibCore.getDefault().getWPILibBaseDir()+File.separator+"toolchains") - .listFiles(new FileFilter() { - @Override public boolean accept(File f) { - return f.isDirectory(); - } - }); - List versions = new ArrayList(); - for (File dir : dirs) { - versions.add(dir.getName()); - } - Collections.sort(versions); - return versions; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) - */ - public void init(IWorkbench workbench) { - WPILibCPPPlugin.logInfo("Preferences initialized."); - Properties props = WPILibCore.getDefault().getProjectProperties(null); - getPreferenceStore().setValue(PreferenceConstants.LIBRARY_VERSION, - props.getProperty("cpp-version", WPILibCPPPlugin.getDefault().getCurrentVersion())); - } - - @Override public void performApply() { - performOk(); - } - - @Override public boolean performOk() { - Properties props = WPILibCore.getDefault().getProjectProperties(null); - props.setProperty("cpp-version", wpiLibVersionEditor.getChoice()); - WPILibCore.getDefault().saveGlobalProperties(props); - return super.performOk(); - } -} diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/PreferenceConstants.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/PreferenceConstants.java index 936107c937..d04dd6165d 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/PreferenceConstants.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/PreferenceConstants.java @@ -4,8 +4,6 @@ package edu.wpi.first.wpilib.plugins.cpp.preferences; * Constant definitions for plug-in preferences */ public class PreferenceConstants { - public static final String LIBRARY_VERSION = "libraryVersionPreference"; - public static final String UPDATE_LIBRARY_VERSION = "udpateLibraryVersionPreference"; - public static final String TOOLCHAIN_VERSION = "toolchainVersionPreference"; - public static final String UPDATE_TOOLCHAIN_VERSION = "udpateToolchainVersionPreference"; + public static final String LIBRARY_INSTALLED = "libraryVersion_current"; + public static final String TOOLCHAIN_INSTALLED = "toolchainVersion_current"; } diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/PreferenceInitializer.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/PreferenceInitializer.java index a82f47bcab..b4241e92a2 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/PreferenceInitializer.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/preferences/PreferenceInitializer.java @@ -18,11 +18,8 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer { */ public void initializeDefaultPreferences() { IPreferenceStore store = WPILibCPPPlugin.getDefault().getPreferenceStore(); - store.setDefault(PreferenceConstants.LIBRARY_VERSION, - WPILibCore.getDefault().getProjectProperties(null) - .getProperty("cpp-version", WPILibCPPPlugin.getDefault().getCurrentVersion())); - store.setDefault(PreferenceConstants.UPDATE_LIBRARY_VERSION, true); - store.setDefault(PreferenceConstants.TOOLCHAIN_VERSION, WPILibCPPPlugin.getDefault().getDefaultToolchainVersion()); - store.setDefault(PreferenceConstants.UPDATE_TOOLCHAIN_VERSION, true); + if (!store.contains(PreferenceConstants.LIBRARY_INSTALLED)) + store.setValue(PreferenceConstants.LIBRARY_INSTALLED, + "none"); } } diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/plugin.xml b/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/plugin.xml index d6e694fdc6..8e70003133 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/plugin.xml +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/plugin.xml @@ -157,15 +157,6 @@ - - - - FieldEditorPreferencePage, we - * can use the field support built into JFace that allows - * us to create a page that is small and knows how to - * save, restore and apply itself. - *

- * This page is used to modify preferences only. They - * are stored in the preference store that belongs to - * the main plug-in class. That way, preferences can - * be accessed directly via the preference store. - */ - -public class JavaPreferencePage - extends FieldEditorPreferencePage - implements IWorkbenchPreferencePage { - ComboFieldEditor wpiLibVersionEditor; - BooleanFieldEditor autoUpdateEditor; - - public JavaPreferencePage() { - super(GRID); - setPreferenceStore(WPILibJavaPlugin.getDefault().getPreferenceStore()); - setDescription("Change workspace level settings for Java."); - } - - /** - * Creates the field editors. Field editors are abstractions of - * the common GUI blocks needed to manipulate various types - * of preferences. Each field editor knows how to save and - * restore itself. - */ - public void createFieldEditors() { - wpiLibVersionEditor = new ComboFieldEditor(PreferenceConstants.LIBRARY_VERSION, - "&Library Version:", getFieldEditorParent(), getInstalledVersions()); - addField(wpiLibVersionEditor); - autoUpdateEditor = new BooleanFieldEditor(PreferenceConstants.UPDATE_LIBRARY_VERSION, - "&Auto Update Library Version", getFieldEditorParent()); - addField(autoUpdateEditor); - } - - private List getInstalledVersions() { - File[] dirs = new File(WPILibCore.getDefault().getWPILibBaseDir()+File.separator+"java") - .listFiles(new FileFilter() { - @Override public boolean accept(File f) { - return f.isDirectory(); - } - }); - List versions = new ArrayList(); - for (File dir : dirs) { - versions.add(dir.getName()); - } - Collections.sort(versions); - return versions; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) - */ - public void init(IWorkbench workbench) { - WPILibJavaPlugin.logInfo("Preferences initialized."); - Properties props = WPILibCore.getDefault().getProjectProperties(null); - getPreferenceStore().setValue(PreferenceConstants.LIBRARY_VERSION, - props.getProperty("version", WPILibJavaPlugin.getDefault().getCurrentVersion())); - } - - @Override public void performApply() { - performOk(); - } - - @Override public boolean performOk() { - Properties props = WPILibCore.getDefault().getProjectProperties(null); - props.setProperty("version", wpiLibVersionEditor.getChoice()); - WPILibCore.getDefault().saveGlobalProperties(props); - WPILibJavaPlugin.getDefault().updateProjects(); - return super.performOk(); - } -} diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/src/main/java/edu/wpi/first/wpilib/plugins/java/preferences/PreferenceConstants.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/src/main/java/edu/wpi/first/wpilib/plugins/java/preferences/PreferenceConstants.java index f8ac04c143..396e04d797 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/src/main/java/edu/wpi/first/wpilib/plugins/java/preferences/PreferenceConstants.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/src/main/java/edu/wpi/first/wpilib/plugins/java/preferences/PreferenceConstants.java @@ -4,6 +4,5 @@ package edu.wpi.first.wpilib.plugins.java.preferences; * Constant definitions for plug-in preferences */ public class PreferenceConstants { - public static final String LIBRARY_VERSION = "libraryVersionPreference"; - public static final String UPDATE_LIBRARY_VERSION = "udpateLibraryVersionPreference"; + public static final String LIBRARY_INSTALLED = "libraryVersion_current"; } diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/src/main/java/edu/wpi/first/wpilib/plugins/java/preferences/PreferenceInitializer.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/src/main/java/edu/wpi/first/wpilib/plugins/java/preferences/PreferenceInitializer.java index 948356d992..575f3fa440 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/src/main/java/edu/wpi/first/wpilib/plugins/java/preferences/PreferenceInitializer.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.java/src/main/java/edu/wpi/first/wpilib/plugins/java/preferences/PreferenceInitializer.java @@ -18,9 +18,7 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer { */ public void initializeDefaultPreferences() { IPreferenceStore store = WPILibJavaPlugin.getDefault().getPreferenceStore(); - store.setDefault(PreferenceConstants.LIBRARY_VERSION, - WPILibCore.getDefault().getProjectProperties(null) - .getProperty("version", WPILibJavaPlugin.getDefault().getCurrentVersion())); - store.setDefault(PreferenceConstants.UPDATE_LIBRARY_VERSION, true); + if (!store.contains(PreferenceConstants.LIBRARY_INSTALLED)) + store.setValue(PreferenceConstants.LIBRARY_INSTALLED, "none"); } }