Permalink
Browse files

integrate serras changes into existing classes

  • Loading branch information...
JPMoresmau committed Dec 27, 2011
1 parent a0006d0 commit eaa13f08487d13335fe76c94928d3a320bc63cc4
Showing with 393 additions and 133 deletions.
  1. +5 −5 net.sf.eclipsefp.haskell-feature/feature.xml
  2. +1 −1 net.sf.eclipsefp.haskell.browser/META-INF/MANIFEST.MF
  3. +1 −1 net.sf.eclipsefp.haskell.core/META-INF/MANIFEST.MF
  4. +10 −9 net.sf.eclipsefp.haskell.core/src/net/sf/eclipsefp/haskell/core/util/ResourceUtil.java
  5. +1 −1 net.sf.eclipsefp.haskell.debug.core/META-INF/MANIFEST.MF
  6. +4 −0 net.sf.eclipsefp.haskell.debug.core/plugin.properties
  7. +1 −0 net.sf.eclipsefp.haskell.debug.core/plugin.xml
  8. +109 −0 net.sf.eclipsefp.haskell.debug.core/schema/interactiveDelegates.exsd
  9. +9 −0 ...lipsefp.haskell.debug.core/src/net/sf/eclipsefp/haskell/debug/core/internal/HaskellDebugCore.java
  10. +70 −11 ...g.core/src/net/sf/eclipsefp/haskell/debug/core/internal/launch/AbstractHaskellLaunchDelegate.java
  11. +1 −1 ...t/sf/eclipsefp/haskell/debug/core/internal/launch/ExecutableOrTestSuiteHaskellLaunchDelegate.java
  12. +1 −1 ...src/net/sf/eclipsefp/haskell/debug/core}/internal/launch/IInteractiveLaunchOperationDelegate.java
  13. +4 −0 ...haskell.debug.core/src/net/sf/eclipsefp/haskell/debug/core/internal/launch/ILaunchAttributes.java
  14. +33 −0 ...ebug.core/src/net/sf/eclipsefp/haskell/debug/core/internal/launch/InteractiveDelegateManager.java
  15. +1 −1 net.sf.eclipsefp.haskell.debug.ui/META-INF/MANIFEST.MF
  16. +7 −0 net.sf.eclipsefp.haskell.debug.ui/plugin.xml
  17. +38 −32 ...i/src/net/sf/eclipsefp/haskell/debug/ui/internal/launch/ExecutableOrTestSuiteLaunchOperation.java
  18. +3 −4 ....ui/src/net/sf/eclipsefp/haskell/debug/ui/internal/launch/ExecutableProfilingLaunchOperation.java
  19. +6 −1 ...p.haskell.debug.ui/src/net/sf/eclipsefp/haskell/debug/ui/internal/launch/HaskellArgumentsTab.java
  20. +11 −10 ...ll.debug.ui/src/net/sf/eclipsefp/haskell/debug/ui/internal/launch/InteractiveLaunchOperation.java
  21. +1 −0 ...ell.debug.ui/src/net/sf/eclipsefp/haskell/debug/ui/internal/launch/InteractiveLaunchShortcut.java
  22. +15 −2 ...psefp.haskell.debug.ui/src/net/sf/eclipsefp/haskell/debug/ui/internal/launch/LaunchOperation.java
  23. +4 −4 ...lipsefp.haskell.debug.ui/src/net/sf/eclipsefp/haskell/debug/ui/internal/launch/LaunchUpdater.java
  24. +3 −2 ...kell.debug.ui/src/net/sf/eclipsefp/haskell/debug/ui/internal/launch/TestSuiteLaunchOperation.java
  25. +1 −1 ...ug.ui/src/net/sf/eclipsefp/haskell/debug/ui/internal/launch/ghci/GhciLaunchOperationDelegate.java
  26. +1 −1 ...skell.debug.ui/src/net/sf/eclipsefp/haskell/debug/ui/internal/launch/ghci/GhciLaunchShortcut.java
  27. +1 −1 net.sf.eclipsefp.haskell.hugs/META-INF/MANIFEST.MF
  28. +49 −42 net.sf.eclipsefp.haskell.hugs/plugin.xml
  29. +1 −1 ...lipsefp.haskell.hugs/src/net/sf/eclipsefp/haskell/hugs/ui/launch/HugsLaunchOperationDelegate.java
  30. +1 −1 net.sf.eclipsefp.haskell.hugs/src/net/sf/eclipsefp/haskell/hugs/ui/launch/HugsLaunchShortcut.java
@@ -68,7 +68,7 @@ available at http://www.eclipse.org/legal/epl-v10.html.
id="net.sf.eclipsefp.haskell.core"
download-size="0"
install-size="0"
- version="2.2.0"
+ version="2.2.1"
unpack="false"/>
<plugin
@@ -96,7 +96,7 @@ available at http://www.eclipse.org/legal/epl-v10.html.
id="net.sf.eclipsefp.haskell.hugs"
download-size="0"
install-size="0"
- version="2.0.3"
+ version="2.2.1"
unpack="false"/>
<plugin
@@ -110,14 +110,14 @@ available at http://www.eclipse.org/legal/epl-v10.html.
id="net.sf.eclipsefp.haskell.debug.ui"
download-size="0"
install-size="0"
- version="2.2.0"
+ version="2.2.1"
unpack="false"/>
<plugin
id="net.sf.eclipsefp.haskell.debug.core"
download-size="0"
install-size="0"
- version="2.2.0"
+ version="2.2.1"
unpack="false"/>
<plugin
@@ -138,7 +138,7 @@ available at http://www.eclipse.org/legal/epl-v10.html.
id="net.sf.eclipsefp.haskell.browser"
download-size="0"
install-size="0"
- version="2.2.0"
+ version="2.2.1"
unpack="false"/>
<plugin
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %bundleName
Bundle-SymbolicName: net.sf.eclipsefp.haskell.browser; singleton:=true
-Bundle-Version: 2.2.0
+Bundle-Version: 2.2.1
Bundle-Localization: plugin
Bundle-Activator: net.sf.eclipsefp.haskell.browser.BrowserPlugin
Require-Bundle: org.eclipse.ui;bundle-version="3.2.0",
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Bundle-Name: %bundleName
Bundle-SymbolicName: net.sf.eclipsefp.haskell.core;singleton:=true
-Bundle-Version: 2.2.0
+Bundle-Version: 2.2.1
Bundle-Activator: net.sf.eclipsefp.haskell.core.HaskellCorePlugin
Bundle-Vendor: %bundleVendor
Bundle-Localization: plugin
@@ -9,6 +9,7 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
@@ -61,8 +62,8 @@ public static boolean hasHaskellNature(final IProject p){
return false;
}
- static List<IFile> getExecutablesOfComponentType(final IProject project, final ComponentType type) throws CoreException {
- ArrayList<IFile> result = new ArrayList<IFile>();
+ static Map<String,IFile> getExecutablesOfComponentType(final IProject project, final ComponentType type) throws CoreException {
+ Map<String,IFile> result = new HashMap<String, IFile>();
if (project.hasNature( HaskellNature.NATURE_ID ) ){
/*ScionInstance instance=ScionPlugin.getScionInstance( project );
if (instance!=null){
@@ -82,7 +83,7 @@ public static boolean hasHaskellNature(final IProject p){
if (c.isBuildable() && c.getType().equals( type )){
IFile f = getExecutableLocation( project, c.getName() );
if (f.exists()){
- result.add( f );
+ result.put(c.getName(), f );
}
}
}
@@ -104,13 +105,13 @@ public static IFile getExecutableLocation (final IProject project, final String
* project has the Haskell nature.
*/
- public static List<IFile> getProjectExecutables( final IProject project)
+ public static Map<String,IFile> getProjectExecutables( final IProject project)
throws CoreException
{
return getExecutablesOfComponentType( project, ComponentType.EXECUTABLE );
}
- public static List<IFile> getProjectTestSuites( final IProject project)
+ public static Map<String,IFile> getProjectTestSuites( final IProject project)
throws CoreException
{
return getExecutablesOfComponentType( project, ComponentType.TESTSUITE );
@@ -145,14 +146,14 @@ public static IFile getExecutableLocation (final IProject project, final String
*/
public static IFile[] getProjectExecutablesArray( final IProject project )
throws CoreException {
- List<IFile> executables = getProjectExecutables(project);
- return executables.toArray( new IFile[ executables.size() ] );
+ Map<String,IFile> executables = getProjectExecutables(project);
+ return executables.values().toArray( new IFile[ executables.size() ] );
}
public static IFile[] getProjectTestSuitesArray( final IProject project )
throws CoreException {
- List<IFile> executables = getProjectTestSuites( project );
- return executables.toArray( new IFile[ executables.size() ] );
+ Map<String,IFile> executables = getProjectTestSuites( project );
+ return executables.values().toArray( new IFile[ executables.size() ] );
}
/**
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %bundleName
Bundle-SymbolicName: net.sf.eclipsefp.haskell.debug.core;singleton:=true
-Bundle-Version: 2.2.0
+Bundle-Version: 2.2.1
Bundle-Activator: net.sf.eclipsefp.haskell.debug.core.internal.HaskellDebugCore
Bundle-Vendor: %bundleVendor
Require-Bundle: org.eclipse.core.runtime,
@@ -2,6 +2,10 @@
# This code is made available under the terms of the Eclipse Public License,
# version 1.0 (EPL). See http://www.eclipse.org/legal/epl-v10.html
+# extension points
+extPtInteractive_name = Interactive delegates
+
+
# bundle manifest
bundleVendor = The EclipseFP Project
bundleName = Haskell Plug-in Debug Core
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
+ <extension-point id="interactiveDelegates" name="%extPtInteractive_name" schema="schema/interactiveDelegates.exsd"/>
<extension
point="org.eclipse.debug.core.launchConfigurationTypes">
@@ -0,0 +1,109 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="net.sf.eclipsefp.haskell.debug.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="net.sf.eclipsefp.haskell.debug.core" id="interactiveDelegates" name="Interactive Delegates"/>
+ </appInfo>
+ <documentation>
+ Delegates for interactive launch operations: find the execution info at runtime
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="delegate" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="delegate">
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":net.sf.eclipsefp.haskell.debug.core.internal.launch.IInteractiveLaunchOperationDelegate"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 1.109
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiinfo"/>
+ </appInfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
@@ -3,7 +3,10 @@
// version 1.0 (EPL). See http://www.eclipse.org/legal/epl-v10.html
package net.sf.eclipsefp.haskell.debug.core.internal;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
import org.osgi.framework.BundleContext;
@@ -16,6 +19,8 @@
public static final String ID_HASKELL_DEBUG_MODEL = "net.sf.eclipsefp.haskell.debug"; //$NON-NLS-1$
+ public static final String ID_EXT_POINT_INTERACTIVE_DELEGATES = "interactiveDelegates"; //$NON-NLS-1$
+
// The shared instance
private static HaskellDebugCore plugin;
@@ -27,6 +32,10 @@ public static String getPluginId() {
return getDefault().getBundle().getSymbolicName();
}
+ public IConfigurationElement[] getExtensions(final String key) {
+ IExtensionRegistry registry = Platform.getExtensionRegistry();
+ return registry.getConfigurationElementsFor(getPluginId(), key);
+ }
// interface methods of Activator
/////////////////////////////////
Oops, something went wrong.

0 comments on commit eaa13f0

Please sign in to comment.