Changeset 1170

Show
Ignore:
Timestamp:
05/19/08 19:48:53 (3 months ago)
Author:
fraserofthenight
Message:

Began to add builder UI support. Just a quick commit of the changes so far to help with SVN management. This needs new icons badly.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/descent.launching/META-INF/MANIFEST.MF

    r1149 r1170  
    1212 org.eclipse.ui, 
    1313 com.ibm.icu, 
    14  descent.core 
     14 descent.core, 
     15 org.eclipse.debug.ui 
    1516Eclipse-LazyStart: true 
    1617Export-Package: descent.internal.launching, 
  • trunk/descent.launching/plugin.xml

    r559 r1170  
    88   <extension-point id="runtimeClasspathEntryResolvers" name="%runtimeClasspathEntryResolvers" schema="schema/runtimeClasspathEntryResolvers.exsd"/> 
    99   <extension-point id="runtimeClasspathEntries" name="%runtimeClasspathEntries" schema="schema/runtimeClasspathEntries.exsd"/> 
     10   <extension-point id="dBuilders" name="%dBuilders" schema="schema/dBuilders.exsd"/> 
    1011 
    1112<!-- Extensions --> 
     
    6768            class="descent.internal.launching.VariableClasspathEntry"> 
    6869      </runtimeClasspathEntry> 
     70   </extension> 
     71   <extension 
     72         point="org.eclipse.debug.core.launchModes"> 
     73      <launchMode 
     74            label="Build" 
     75            launchAsLabel="Build As" 
     76            mode="descent.launching.buildMode"> 
     77      </launchMode> 
     78   </extension> 
     79   <extension 
     80         point="org.eclipse.debug.ui.launchGroups"> 
     81      <launchGroup 
     82            bannerImage="icons/full/wizban/builders.gif" 
     83            id="descent.launching.builders" 
     84            image="icons/full/obj16/builders.gif" 
     85            label="D Builders" 
     86            mode="descent.launching.buildMode" 
     87            title="Select or configure the target to build"> 
     88      </launchGroup> 
     89   </extension> 
     90   <extension 
     91         point="org.eclipse.ui.actionSets"> 
     92      <actionSet 
     93            id="descent.launching.building" 
     94            label="D Building" 
     95            visible="false"> 
     96         <action 
     97               class="descent.internal.launching.ui.BuildersToolbarAction" 
     98               disabledIcon="icons/full/obj16/builders_disabled.gif" 
     99               hoverIcon="icons/full/obj16/builders.gif" 
     100               icon="icons/full/obj16/builders.gif" 
     101               id="descent.launching.actions.BuildingDropDownAction" 
     102               label="D Builders..." 
     103               style="pulldown" 
     104               toolbarPath="org.eclipse.debug.ui.launchActionSet/debug" 
     105               tooltip="Select or configure the target to build"> 
     106         </action> 
     107         <menu 
     108               id="org.eclipse.ui.run" 
     109               label="Run" 
     110               path="additions"> 
     111            <groupMarker 
     112                  name="descent.launching.buildersMenuGroup"> 
     113            </groupMarker> 
     114         </menu> 
     115      </actionSet> 
     116   </extension> 
     117   <extension 
     118         point="org.eclipse.ui.perspectiveExtensions"> 
     119      <perspectiveExtension 
     120            targetID="org.eclipse.ui.resourcePerspective"> 
     121         <actionSet 
     122               id="descent.launching.building"> 
     123         </actionSet> 
     124      </perspectiveExtension> 
     125      <perspectiveExtension 
     126            targetID="descent.ui.JavaPerspective"> 
     127         <actionSet 
     128               id="descent.launching.building"> 
     129         </actionSet> 
     130      </perspectiveExtension> 
     131      <perspectiveExtension 
     132            targetID="org.eclipse.debug.ui.DebugPerspective"> 
     133         <actionSet 
     134               id="descent.launching.building"> 
     135         </actionSet> 
     136      </perspectiveExtension> 
     137      <perspectiveExtension 
     138            targetID="descent.ui.JavaBrowsingPerspective"> 
     139         <actionSet 
     140               id="descent.launching.building"> 
     141         </actionSet> 
     142      </perspectiveExtension> 
     143   </extension> 
     144   <extension 
     145         point="org.eclipse.debug.ui.launchConfigurationTypeImages"> 
     146      <launchConfigurationTypeImage 
     147            configTypeID="descent.launching.builders.debuild" 
     148            icon="icons/full/obj16/builders.gif" 
     149            id="descent.launching.builders.debuildImage"> 
     150      </launchConfigurationTypeImage> 
     151   </extension> 
     152   <extension 
     153         point="org.eclipse.debug.ui.launchConfigurationTabGroups"> 
     154      <launchConfigurationTabGroup 
     155            class="descent.internal.launching.ui.DebuildTabGroup" 
     156            description="The default Descent builder" 
     157            id="descent.launching.builders.debuildTabGroup" 
     158            type="descent.launching.builders.debuild"> 
     159      </launchConfigurationTabGroup> 
     160   </extension> 
     161   <extension 
     162         point="org.eclipse.debug.core.launchConfigurationTypes"> 
     163      <launchConfigurationType 
     164            delegate="descent.launching.BuilderLaunchDelegate" 
     165            delegateDescription="The default Descent builder" 
     166            delegateName="Descent Builder" 
     167            id="descent.launching.builders.debuild" 
     168            modes="descent.launching.buildMode" 
     169            name="Descent Builder"> 
     170      </launchConfigurationType> 
     171   </extension> 
     172   <extension 
     173         point="descent.launching.dBuilders"> 
     174      <builder 
     175            class="descent.internal.launching.debuild.DebuildBuilderNew" 
     176            id="descent.launching.builders.debuildBuilder" 
     177            launchConfigurationType="descent.launching.builders.debuild"> 
     178      </builder> 
    69179   </extension>  
    70180 
  • trunk/descent.launching/src/descent/internal/launching/LaunchingPlugin.java

    r1074 r1170  
    88import java.io.IOException; 
    99import java.io.InputStream; 
     10import java.net.URL; 
    1011import java.util.ArrayList; 
    1112import java.util.HashMap; 
     
    3334import org.eclipse.core.resources.ResourcesPlugin; 
    3435import org.eclipse.core.runtime.CoreException; 
     36import org.eclipse.core.runtime.FileLocator; 
    3537import org.eclipse.core.runtime.IConfigurationElement; 
    3638import org.eclipse.core.runtime.IExtensionPoint; 
     
    4547import org.eclipse.core.runtime.Preferences.PropertyChangeEvent; 
    4648import org.eclipse.core.runtime.jobs.Job; 
     49import org.eclipse.jface.resource.ImageDescriptor; 
     50import org.osgi.framework.Bundle; 
    4751import org.osgi.framework.BundleContext; 
    4852import org.w3c.dom.Document; 
     
    7781    public static final String PLUGIN_ID = "descent.launching"; //$NON-NLS-1$ 
    7882    public static final String ID_PLUGIN = PLUGIN_ID; 
     83    public static final String ID_BUILD_GROUP = "descent.launching.builders"; //$NON-NLS-1$ 
    7984     
    8085    private static final String EMPTY_STRING = "";    //$NON-NLS-1$ 
     
    986991        } 
    987992    } 
    988  
     993     
     994    private static final IPath ICONS_PATH = new Path("$nl$/icons/full"); //$NON-NLS-1$ 
     995     
     996    public static ImageDescriptor getImageDescriptor(String relativePath) 
     997    { 
     998        IPath path = ICONS_PATH.append(relativePath);  
     999        return createImageDescriptor(getDefault().getBundle(), path, true); 
     1000    } 
     1001     
     1002    /** 
     1003     * Creates an image descriptor for the given path in a bundle. The path can 
     1004     * contain variables like $NL$. If no image could be found, 
     1005     * <code>useMissingImageDescriptor</code> decides if either the 'missing 
     1006     * image descriptor' is returned or <code>null</code>. 
     1007     *  
     1008     * @param bundle 
     1009     * @param path 
     1010     * @param useMissingImageDescriptor 
     1011     * @return an {@link ImageDescriptor}, or <code>null</code> iff there's 
     1012     *         no image at the given location and 
     1013     *         <code>useMissingImageDescriptor</code> is <code>true</code> 
     1014     */ 
     1015    private static ImageDescriptor createImageDescriptor(Bundle bundle, IPath path, boolean useMissingImageDescriptor) { 
     1016        URL url= FileLocator.find(bundle, path, null); 
     1017        if (url != null) { 
     1018            return ImageDescriptor.createFromURL(url); 
     1019        } 
     1020        if (useMissingImageDescriptor) { 
     1021            return ImageDescriptor.getMissingImageDescriptor(); 
     1022        } 
     1023        return null; 
     1024    } 
    9891025} 
  • trunk/descent.launching/src/descent/internal/launching/debuild/DebuildBuilder.java

    r1101 r1170  
    1010import org.eclipse.core.runtime.NullProgressMonitor; 
    1111import org.eclipse.core.runtime.SubProgressMonitor; 
     12import org.eclipse.debug.core.ILaunchConfiguration; 
    1213 
    1314import descent.core.IClasspathEntry; 
     
    1617import descent.core.JavaModelException; 
    1718import descent.launching.BuildCancelledException; 
     19import descent.launching.IDBuilder; 
    1820import descent.launching.IExecutableTarget; 
    1921import descent.launching.compiler.BuildError; 
     
    3436 */ 
    3537public class DebuildBuilder 
    36 {    
     38{     
    3739    /** 
    3840     * Public interface to the debuild builder, which initiates a new build