diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/META-INF/MANIFEST.MF b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/META-INF/MANIFEST.MF index 343ba0b42a..7cff0305a8 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/META-INF/MANIFEST.MF +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/META-INF/MANIFEST.MF @@ -25,7 +25,8 @@ Require-Bundle: org.eclipse.ui, org.eclipse.cdt.debug.ui;bundle-version="7.2.0", org.eclipse.cdt.launch;bundle-version="7.1.0", org.eclipse.cdt.launch.remote;bundle-version="2.4.0", - org.eclipse.cdt.debug.mi.core;bundle-version="7.2.0" + org.eclipse.cdt.debug.mi.core;bundle-version="7.2.0", + org.eclipse.core.variables Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Export-Package: edu.wpi.first.wpilib.plugins.cpp, 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 bebf9230ff..d4c487681a 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,6 +1,12 @@ package edu.wpi.first.wpilib.plugins.cpp.installer; import java.io.InputStream; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.variables.IStringVariableManager; +import org.eclipse.core.variables.IValueVariable; +import org.eclipse.core.variables.VariablesPlugin; + 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; @@ -21,6 +27,26 @@ public class CPPInstaller extends AbstractInstaller { protected void updateInstalledVersion(String version) { WPILibCPPPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.LIBRARY_INSTALLED, version); + + IStringVariableManager vm = VariablesPlugin.getDefault().getStringVariableManager(); + try + { + if (System.getProperty("os.name").startsWith("Windows")) + { + IValueVariable vv = vm.getValueVariable("HOME"); + if (vv == null) + vm.addVariables(new IValueVariable[]{vm.newValueVariable("HOME", "user.home directory", false,System.getProperty("user.home"))}); + else + { + if (!System.getProperty("user.home").equals(vm.performStringSubstitution("${HOME}"))) + vv.setValue(System.getProperty("user.home")); + } + } + } catch (CoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + throw new RuntimeException(e); + } } @Override