You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
(41) |
Apr
(9) |
May
|
Jun
|
Jul
(39) |
Aug
(38) |
Sep
(135) |
Oct
(220) |
Nov
(75) |
Dec
(74) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(44) |
Feb
(160) |
Mar
(49) |
Apr
(69) |
May
(40) |
Jun
(52) |
Jul
(47) |
Aug
(51) |
Sep
(19) |
Oct
(22) |
Nov
(36) |
Dec
(76) |
| 2007 |
Jan
(154) |
Feb
(165) |
Mar
(186) |
Apr
(143) |
May
(175) |
Jun
(133) |
Jul
(203) |
Aug
(177) |
Sep
(136) |
Oct
|
Nov
|
Dec
|
|
From: Christopher W. <caw...@us...> - 2006-01-31 21:12:41
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/META-INF In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19622/META-INF Modified Files: MANIFEST.MF Log Message: bump versions to 0.7.0 (from 0.6.0). Probably should have done this before the release ;) Index: MANIFEST.MF =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/META-INF/MANIFEST.MF,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** MANIFEST.MF 8 Jan 2006 11:37:55 -0000 1.10 --- MANIFEST.MF 31 Jan 2006 21:12:30 -0000 1.11 *************** *** 3,7 **** Bundle-Name: %Plugin.name Bundle-SymbolicName: org.rubypeople.rdt.core; singleton:=true ! Bundle-Version: 0.6.0 Bundle-ClassPath: rdtcore.jar, lib/jruby.jar --- 3,7 ---- Bundle-Name: %Plugin.name Bundle-SymbolicName: org.rubypeople.rdt.core; singleton:=true ! Bundle-Version: 0.7.0 Bundle-ClassPath: rdtcore.jar, lib/jruby.jar |
|
From: Christopher W. <caw...@us...> - 2006-01-31 21:12:41
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.launching In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19585 Modified Files: plugin.xml Log Message: bump versions to 0.7.0 (from 0.6.0). Probably should have done this before the release ;) Index: plugin.xml =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.launching/plugin.xml,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** plugin.xml 9 Mar 2005 04:14:24 -0000 1.22 --- plugin.xml 31 Jan 2006 21:12:26 -0000 1.23 *************** *** 4,8 **** id="org.rubypeople.rdt.launching" name="%Plugin.name" ! version="0.6.0" provider-name="RubyPeople, Inc." class="org.rubypeople.rdt.internal.launching.RdtLaunchingPlugin"> --- 4,8 ---- id="org.rubypeople.rdt.launching" name="%Plugin.name" ! version="0.7.0" provider-name="RubyPeople, Inc." class="org.rubypeople.rdt.internal.launching.RdtLaunchingPlugin"> |
|
From: Christopher W. <caw...@us...> - 2006-01-31 20:30:06
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv673 Modified Files: plugin.properties plugin.xml Log Message: add a new Ruby Class Wizard (it's not especially useful yet, but it is more obvious than new -> file -> name it with a standard ruby file name/extension) Index: plugin.properties =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/plugin.properties,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** plugin.properties 5 Jan 2006 16:04:29 -0000 1.25 --- plugin.properties 31 Jan 2006 20:29:53 -0000 1.26 *************** *** 28,35 **** --- 28,39 ---- NewWizardCategory.name=Ruby NewWizardRubyProject.name=Ruby Project + NewWizardRubyClass.name=Ruby Class OpenProjectWizardAction.label=Ruby &Project... OpenProjectWizardAction.tooltip=New Ruby Project + NewClassWizardAction.label=Ruby &Class... + NewClassWizardAction.tooltip=New Ruby Class + PropertyPageRubyProject.name=Ruby Project Properties Index: plugin.xml =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/plugin.xml,v retrieving revision 1.70 retrieving revision 1.71 diff -C2 -d -r1.70 -r1.71 *** plugin.xml 5 Jan 2006 16:04:29 -0000 1.70 --- plugin.xml 31 Jan 2006 20:29:53 -0000 1.71 *************** *** 67,70 **** --- 67,81 ---- </description> </wizard> + <wizard + name="%NewWizardRubyClass.name" + icon="icons/full/etool16/newclass_wiz.gif" + category="org.rubypeople.rdt.ui.NewWizardCategoryRuby" + class="org.rubypeople.rdt.ui.wizards.RubyNewClassWizard" + preferredPerspectives="org.rubypeople.rdt.ui.PerspectiveRuby" + id="org.rubypeople.rdt.ui.wizards.RubyNewClassWizard"> + <description> + Create a new Ruby Class. + </description> + </wizard> </extension> <extension *************** *** 320,323 **** --- 331,342 ---- visible="false" id="org.rubypeople.rdt.ui.RubyElementCreationActionSet"> + <action + label="%NewClassWizardAction.label" + icon="icons/full/etool16/newclass_wiz.gif" + tooltip="%NewClassWizardAction.tooltip" + class="org.rubypeople.rdt.internal.ui.wizards.NewClassWizardAction" + toolbarPath="Normal/RubyWizards" + id="org.rubypeople.rdt.ui.actions.NewClassWizard"> + </action> <action label="%OpenProjectWizardAction.label" |
|
From: Christopher W. <caw...@us...> - 2006-01-31 20:30:05
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/wizards In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv673/src/org/rubypeople/rdt/internal/ui/wizards Modified Files: OpenProjectWizardAction.java Added Files: NewClassWizardAction.java RubyNewClassWizardPage.java Log Message: add a new Ruby Class Wizard (it's not especially useful yet, but it is more obvious than new -> file -> name it with a standard ruby file name/extension) Index: OpenProjectWizardAction.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/wizards/OpenProjectWizardAction.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** OpenProjectWizardAction.java 11 Mar 2005 03:21:14 -0000 1.3 --- OpenProjectWizardAction.java 31 Jan 2006 20:29:53 -0000 1.4 *************** *** 12,42 **** import org.eclipse.jface.wizard.Wizard; ! import org.eclipse.ui.help.WorkbenchHelp; import org.rubypeople.rdt.internal.ui.IRubyHelpContextIds; public class OpenProjectWizardAction extends AbstractOpenWizardAction { ! public OpenProjectWizardAction() { ! WorkbenchHelp.setHelp(this, IRubyHelpContextIds.OPEN_PROJECT_WIZARD_ACTION); ! // FIXME Uncomment and delete the above line when we move to 3.1+ ! //PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IRubyHelpContextIds.OPEN_PROJECT_WIZARD_ACTION); ! } ! ! public OpenProjectWizardAction(String label, Class[] acceptedTypes) { ! super(label, acceptedTypes, true); ! WorkbenchHelp.setHelp(this, IRubyHelpContextIds.OPEN_PROJECT_WIZARD_ACTION); ! // FIXME Uncomment and delete the above line when we move to 3.1+ ! //PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IRubyHelpContextIds.OPEN_PROJECT_WIZARD_ACTION); ! } ! ! protected Wizard createWizard() { ! return new NewProjectCreationWizard(); ! } ! /* ! * @see AbstractOpenWizardAction#showWorkspaceEmptyWizard() ! */ ! protected boolean checkWorkspaceNotEmpty() { ! return true; ! } } --- 12,41 ---- import org.eclipse.jface.wizard.Wizard; ! import org.eclipse.ui.PlatformUI; import org.rubypeople.rdt.internal.ui.IRubyHelpContextIds; public class OpenProjectWizardAction extends AbstractOpenWizardAction { ! public OpenProjectWizardAction() { ! PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ! IRubyHelpContextIds.OPEN_PROJECT_WIZARD_ACTION); ! } ! ! public OpenProjectWizardAction(String label, Class[] acceptedTypes) { ! super(label, acceptedTypes, true); ! PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ! IRubyHelpContextIds.OPEN_PROJECT_WIZARD_ACTION); ! } ! ! protected Wizard createWizard() { ! return new NewProjectCreationWizard(); ! } ! ! /* ! * @see AbstractOpenWizardAction#showWorkspaceEmptyWizard() ! */ ! protected boolean checkWorkspaceNotEmpty() { ! return true; ! } } --- NEW FILE: NewClassWizardAction.java --- package org.rubypeople.rdt.internal.ui.wizards; import org.eclipse.core.runtime.CoreException; import org.eclipse.jface.wizard.Wizard; import org.eclipse.ui.PlatformUI; import org.rubypeople.rdt.internal.ui.IRubyHelpContextIds; import org.rubypeople.rdt.ui.wizards.RubyNewClassWizard; public class NewClassWizardAction extends AbstractOpenWizardAction { public NewClassWizardAction() { PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IRubyHelpContextIds.OPEN_CLASS_WIZARD_ACTION); } public NewClassWizardAction(String label, Class[] acceptedTypes) { super(label, acceptedTypes, true); PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IRubyHelpContextIds.OPEN_CLASS_WIZARD_ACTION); } protected Wizard createWizard() throws CoreException { return new RubyNewClassWizard(); } } --- NEW FILE: RubyNewClassWizardPage.java --- package org.rubypeople.rdt.internal.ui.wizards; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.Path; import org.eclipse.jface.dialogs.IDialogPage; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.window.Window; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.dialogs.ContainerSelectionDialog; import org.eclipse.ui.dialogs.ElementListSelectionDialog; import org.rubypeople.rdt.core.IRubyElement; import org.rubypeople.rdt.ui.wizards.RubyClassSelectionDialog; /** * The "New" wizard page allows setting the container for the new file as well * as the file name. The page will only accept file name without the extension * OR with the extension that matches the expected one (mpe). */ public class RubyNewClassWizardPage extends WizardPage { private Text containerText; private Text classText; private Text superclassText; private ISelection selection; /** * Constructor for SampleNewWizardPage. * * @param pageName */ public RubyNewClassWizardPage(ISelection selection) { super("wizardPage"); setTitle("New Ruby Class"); setDescription("This wizard creates a new Ruby file with *.rb extension."); this.selection = selection; } /** * @see IDialogPage#createControl(Composite) */ public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); container.setLayout(layout); layout.numColumns = 3; layout.verticalSpacing = 9; Label label = new Label(container, SWT.NULL); label.setText("&Container:"); containerText = new Text(container, SWT.BORDER | SWT.SINGLE); GridData gd = new GridData(GridData.FILL_HORIZONTAL); containerText.setLayoutData(gd); containerText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { dialogChanged(); } }); Button button = new Button(container, SWT.PUSH); button.setText("Browse..."); button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { handleBrowse(); } }); label = new Label(container, SWT.NULL); label.setText("&Superclass:"); superclassText = new Text(container, SWT.BORDER | SWT.SINGLE); gd = new GridData(GridData.FILL_HORIZONTAL); superclassText.setLayoutData(gd); superclassText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { dialogChanged(); } }); button = new Button(container, SWT.PUSH); button.setText("Browse..."); button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { handleSuperClassBrowse(); } }); label = new Label(container, SWT.NULL); label.setText("Class &name:"); classText = new Text(container, SWT.BORDER | SWT.SINGLE); gd = new GridData(GridData.FILL_HORIZONTAL); classText.setLayoutData(gd); classText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { dialogChanged(); } }); initialize(); dialogChanged(); setControl(container); } /** * Tests if the current workbench selection is a suitable container to use. */ private void initialize() { if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) { IStructuredSelection ssel = (IStructuredSelection) selection; if (ssel.size() > 1) return; Object obj = ssel.getFirstElement(); if (obj instanceof IResource) { IContainer container; if (obj instanceof IContainer) container = (IContainer) obj; else container = ((IResource) obj).getParent(); containerText.setText(container.getFullPath().toString()); } } classText.setText("MyNewClass"); superclassText.setText("Object"); } /** * Uses the standard container selection dialog to choose the new value for * the container field. */ private void handleSuperClassBrowse() { ElementListSelectionDialog dialog = new RubyClassSelectionDialog(getShell()); if (dialog.open() == Window.OK) { superclassText.setText(((IRubyElement) dialog.getFirstResult()).getElementName()); } } /** * Uses the standard container selection dialog to choose the new value for * the container field. */ private void handleBrowse() { ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(), ResourcesPlugin .getWorkspace().getRoot(), false, "Select new file container"); if (dialog.open() == ContainerSelectionDialog.OK) { Object[] result = dialog.getResult(); if (result.length == 1) { containerText.setText(((Path) result[0]).toString()); } } } /** * Ensures that both text fields are set. */ private void dialogChanged() { IResource container = ResourcesPlugin.getWorkspace().getRoot().findMember( new Path(getContainerName())); String className = getClassName(); String superclassName = getSuperclassName(); if (getContainerName().length() == 0) { updateStatus("File container must be specified"); return; } if (container == null || (container.getType() & (IResource.PROJECT | IResource.FOLDER)) == 0) { updateStatus("File container must exist"); return; } if (!container.isAccessible()) { updateStatus("Project must be writable"); return; } if (className.length() == 0) { updateStatus("Class name must be specified"); return; } if (!isConstant(className)) { updateStatus("Class name must be a constant. It must begin with a capital letter, and contain only letters, digits, or underscores."); return; } // TODO Verify superclass exists in workspace? if (superclassName != null && superclassName.length() > 0 && !isConstant(superclassName)) { updateStatus("Superclass name must be a constant. It must begin with a capital letter, and contain only letters, digits, or underscores."); return; } updateStatus(null); } private boolean isConstant(String className) { if (className == null || className.length() == 0) return false; if (!Character.isLowerCase(className.charAt(0)) && !Character.isLetter(className.charAt(0))) return false; for (int i = 0; i < className.length(); i++) { char c = className.charAt(i); if (!Character.isLetterOrDigit(c) && c != '_') return false; } return true; } private void updateStatus(String message) { setErrorMessage(message); setPageComplete(message == null); } public String getContainerName() { return containerText.getText(); } public String getClassName() { return classText.getText(); } public String getSuperclassName() { return superclassText.getText(); } } |
|
From: Christopher W. <caw...@us...> - 2006-01-31 20:30:05
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/META-INF In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv673/META-INF Modified Files: MANIFEST.MF Log Message: add a new Ruby Class Wizard (it's not especially useful yet, but it is more obvious than new -> file -> name it with a standard ruby file name/extension) Index: MANIFEST.MF =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/META-INF/MANIFEST.MF,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** MANIFEST.MF 9 Dec 2005 02:05:06 -0000 1.4 --- MANIFEST.MF 31 Jan 2006 20:29:53 -0000 1.5 *************** *** 36,40 **** org.rubypeople.rdt.ui.text, org.rubypeople.rdt.ui.text.folding, ! org.rubypeople.rdt.ui.text.ruby.hover Require-Bundle: org.eclipse.ui.ide, org.eclipse.ui.views, --- 36,41 ---- org.rubypeople.rdt.ui.text, org.rubypeople.rdt.ui.text.folding, ! org.rubypeople.rdt.ui.text.ruby.hover, ! org.rubypeople.rdt.ui.wizards Require-Bundle: org.eclipse.ui.ide, org.eclipse.ui.views, |
|
From: Christopher W. <caw...@us...> - 2006-01-31 20:30:05
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/icons/full/etool16 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv673/icons/full/etool16 Added Files: newclass_wiz.gif Log Message: add a new Ruby Class Wizard (it's not especially useful yet, but it is more obvious than new -> file -> name it with a standard ruby file name/extension) --- NEW FILE: newclass_wiz.gif --- (This appears to be a binary file; contents omitted.) |
|
From: Christopher W. <caw...@us...> - 2006-01-31 20:30:05
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/actions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv673/src/org/rubypeople/rdt/internal/ui/actions Modified Files: WorkbenchRunnableAdapter.java Log Message: add a new Ruby Class Wizard (it's not especially useful yet, but it is more obvious than new -> file -> name it with a standard ruby file name/extension) Index: WorkbenchRunnableAdapter.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/actions/WorkbenchRunnableAdapter.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WorkbenchRunnableAdapter.java 12 Mar 2005 15:32:34 -0000 1.1 --- WorkbenchRunnableAdapter.java 31 Jan 2006 20:29:53 -0000 1.2 *************** *** 19,22 **** --- 19,23 ---- import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; + import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.ISchedulingRule; *************** *** 36,39 **** --- 37,41 ---- public class WorkbenchRunnableAdapter implements IRunnableWithProgress { + private boolean fTransfer= false; private IWorkspaceRunnable fWorkspaceRunnable; private ISchedulingRule fRule; *************** *** 53,56 **** --- 55,69 ---- fRule= rule; } + + /** + * Runs a workspace runnable with the given lock or <code>null</code> to run with no lock at all. + * @param transfer <code>true</code> if the rule is to be transfered + * to the model context thread. Otherwise <code>false</code> + */ + public WorkbenchRunnableAdapter(IWorkspaceRunnable runnable, ISchedulingRule rule, boolean transfer) { + fWorkspaceRunnable= runnable; + fRule= rule; + fTransfer= transfer; + } public ISchedulingRule getSchedulingRule() { *************** *** 70,73 **** --- 83,94 ---- } } + + /** + * {@inheritDoc} + */ + public void threadChange(Thread thread) { + if (fTransfer) + Platform.getJobManager().transferRule(fRule, thread); + } public void runAsUserJob(String name, final Object jobFamiliy) { |
|
From: Christopher W. <caw...@us...> - 2006-01-31 20:30:04
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/wizards In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv673/src/org/rubypeople/rdt/ui/wizards Added Files: RubyTypeSelectionDialog.java RubyClassSelectionDialog.java RubyNewClassWizard.java Log Message: add a new Ruby Class Wizard (it's not especially useful yet, but it is more obvious than new -> file -> name it with a standard ruby file name/extension) --- NEW FILE: RubyNewClassWizard.java --- package org.rubypeople.rdt.ui.wizards; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.InvocationTargetException; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Status; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.Wizard; import org.eclipse.ui.INewWizard; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWizard; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.ide.IDE; import org.rubypeople.rdt.internal.ui.RubyPlugin; import org.rubypeople.rdt.internal.ui.RubyPluginImages; import org.rubypeople.rdt.internal.ui.wizards.RubyNewClassWizardPage; /** * This is a sample new wizard. Its role is to create a new file resource in the * provided container. If the container resource (a folder or a project) is * selected in the workspace when the wizard is opened, it will accept it as the * target container. The wizard creates one file with the extension "mpe". If a * sample multi-page editor (also available as a template) is registered for the * same extension, it will be able to open it. */ public class RubyNewClassWizard extends Wizard implements INewWizard { private static final String RUBY_FILE_EXTENSION = ".rb"; private RubyNewClassWizardPage page; private ISelection selection; /** * Constructor for SampleNewWizard. */ public RubyNewClassWizard() { super(); setDefaultPageImageDescriptor(RubyPluginImages.DESC_WIZBAN_NEWCLASS); setNeedsProgressMonitor(true); } /** * Adding the page to the wizard. */ public void addPages() { page = new RubyNewClassWizardPage(selection); addPage(page); } /** * This method is called when 'Finish' button is pressed in the wizard. We * will create an operation and run it using wizard as execution context. */ public boolean performFinish() { final String containerName = page.getContainerName(); final String className = page.getClassName(); final String superclassName = page.getSuperclassName(); IRunnableWithProgress op = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException { try { doFinish(containerName, className, superclassName, monitor); } catch (CoreException e) { throw new InvocationTargetException(e); } finally { monitor.done(); } } }; try { getContainer().run(true, false, op); } catch (InterruptedException e) { return false; } catch (InvocationTargetException e) { Throwable realException = e.getTargetException(); MessageDialog.openError(getShell(), "Error", realException.getMessage()); return false; } return true; } /** * The worker method. It will find the container, create the file if missing * or just replace its contents, and open the editor on the newly created * file. * @param superclassName */ private void doFinish(String containerName, String className, String superclassName, IProgressMonitor monitor) throws CoreException { // create a sample file monitor.beginTask("Creating " + className, 2); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IResource resource = root.findMember(new Path(containerName)); if (!resource.exists() || !(resource instanceof IContainer)) { throwCoreException("Container \"" + containerName + "\" does not exist."); } IContainer container = (IContainer) resource; String fileName = classNameToFileName(className) + RUBY_FILE_EXTENSION; final IFile file = container.getFile(new Path(fileName)); try { InputStream stream = openContentStream(className, superclassName); if (file.exists()) { file.setContents(stream, true, true, monitor); } else { file.create(stream, true, monitor); } stream.close(); } catch (IOException e) { } monitor.worked(1); monitor.setTaskName("Opening file for editing..."); getShell().getDisplay().asyncExec(new Runnable() { public void run() { IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage(); try { IDE.openEditor(page, file, true); } catch (PartInitException e) { } } }); monitor.worked(1); } /** * Convert a Constant Class Name (in camels) to a file name (all lowercase, * uppercase characters get downcased and have underscores put in front, * except first character.) * * @param className * @return */ private String classNameToFileName(String className) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < className.length(); i++) { char c = className.charAt(i); if (Character.isUpperCase(c)) { if (i != 0) buffer.append('_'); buffer.append(Character.toLowerCase(c)); } else { buffer.append(c); } } return buffer.toString(); } /** * We will initialize file contents with a sample text. * * @param className * The Filename chosen by the user * @param superclassName */ private InputStream openContentStream(String className, String superclassName) { StringBuffer contents = new StringBuffer(); contents.append("class "); contents.append(className); if (superclassName != null && superclassName != "Object") { contents.append(" < "); contents.append(superclassName); } contents.append("\n \nend\n"); return new ByteArrayInputStream(contents.toString().getBytes()); } private void throwCoreException(String message) throws CoreException { IStatus status = new Status(IStatus.ERROR, RubyPlugin.PLUGIN_ID, IStatus.OK, message, null); throw new CoreException(status); } /** * We will accept the selection in the workbench to see if we can initialize * from it. * * @see IWorkbenchWizard#init(IWorkbench, IStructuredSelection) */ public void init(IWorkbench workbench, IStructuredSelection selection) { this.selection = selection; } } --- NEW FILE: RubyTypeSelectionDialog.java --- package org.rubypeople.rdt.ui.wizards; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.dialogs.ElementListSelectionDialog; import org.rubypeople.rdt.core.IRubyElement; import org.rubypeople.rdt.core.IRubyScript; import org.rubypeople.rdt.core.RubyCore; import org.rubypeople.rdt.core.RubyModelException; import org.rubypeople.rdt.internal.core.RubyElement; import org.rubypeople.rdt.internal.ui.RubyPlugin; import org.rubypeople.rdt.internal.ui.util.RubyElementVisitor; import org.rubypeople.rdt.ui.RubyElementLabelProvider; public class RubyTypeSelectionDialog extends ElementListSelectionDialog { public RubyTypeSelectionDialog(Shell parent) { super(parent, new RubyElementLabelProvider()); setElements(getElements()); setMultipleSelection(false); } /** * Meant for subclasses to override what elements to show * @return */ protected Object[] getElements() { return getAllTypes(); } /** * @return */ private IRubyElement[] getAllTypes() { List typeList = new ArrayList(); IProject[] projects = RubyCore.getRubyProjects(); for (int i = 0; i < projects.length; i++) { IRubyElement[] types = findElements(projects[i], IRubyElement.TYPE); typeList.addAll(Arrays.asList(types)); } IRubyElement[] allTypes = new IRubyElement[typeList.size()]; System.arraycopy(typeList.toArray(), 0, allTypes, 0, allTypes.length); return allTypes; } public static IRubyElement[] findElements(final IFile file, int elementType) { IRubyScript script = RubyCore.create(file); try { script.reconcile(); IRubyElement[] children = script.getChildren(); List types = new ArrayList(); for (int i = 0; i < children.length; i++) { if (children[i].isType(elementType)) types.add(children[i]); } IRubyElement[] array = new IRubyElement[types.size()]; System.arraycopy(types.toArray(), 0, array, 0, types.size()); return array; } catch (RubyModelException e) { RubyPlugin.log(e); } return new IRubyElement[0]; } /** * @param rubyProject * @param elementType */ public static IRubyElement[] findElements(IProject rubyProject, int elementType) { if (rubyProject == null) { return new IRubyElement[0]; } try { List allElements = new ArrayList(); RubyElementVisitor visitor = new RubyElementVisitor(); rubyProject.accept(visitor); Object[] rubyFiles = visitor.getCollectedRubyFiles(); for (int i = 0; i < rubyFiles.length; i++) { IFile rubyFile = (IFile) rubyFiles[i]; IRubyElement[] fileElements = findElements(rubyFile, elementType); for (int j = 0; j < fileElements.length; j++) { allElements.add(fileElements[j]); } } Object[] listArray = allElements.toArray(); IRubyElement[] array = new IRubyElement[allElements.size()]; System.arraycopy(listArray, 0, array, 0, listArray.length); return array; } catch (CoreException e) { e.printStackTrace(); } return new RubyElement[0]; } } --- NEW FILE: RubyClassSelectionDialog.java --- package org.rubypeople.rdt.ui.wizards; import java.util.ArrayList; import java.util.List; import org.eclipse.swt.widgets.Shell; import org.rubypeople.rdt.core.IRubyElement; import org.rubypeople.rdt.core.IType; public class RubyClassSelectionDialog extends RubyTypeSelectionDialog { public RubyClassSelectionDialog(Shell parent) { super(parent); } protected Object[] getElements() { Object[] types = super.getElements(); List classes = new ArrayList(); for (int i = 0; i < types.length; i++) { IType type = (IType) types[i]; if (type.isClass()) classes.add(types[i]); } IRubyElement[] elements = new IRubyElement[classes.size()]; System.arraycopy(classes.toArray(), 0, elements, 0, elements.length); return elements; } } |
|
From: Christopher W. <caw...@us...> - 2006-01-31 20:30:02
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/icons/full/wizban In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv673/icons/full/wizban Added Files: newclass_wiz.gif Log Message: add a new Ruby Class Wizard (it's not especially useful yet, but it is more obvious than new -> file -> name it with a standard ruby file name/extension) --- NEW FILE: newclass_wiz.gif --- (This appears to be a binary file; contents omitted.) |
|
From: Christopher W. <caw...@us...> - 2006-01-31 20:29:56
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/wizards In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv651/src/org/rubypeople/rdt/ui/wizards Log Message: Directory /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/wizards added to the repository |
|
From: Christopher W. <caw...@us...> - 2006-01-27 17:08:35
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10170/src/org/rubypeople/rdt/internal/core Modified Files: RubyTypeElementInfo.java RubyScriptStructureBuilder.java Log Message: handle scoped class names, particularly with duplicate last sections being equal (Ticket #66) Example: class Aa::Cc end class Bb::Cc end Index: RubyTypeElementInfo.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyTypeElementInfo.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** RubyTypeElementInfo.java 12 Mar 2005 15:30:03 -0000 1.4 --- RubyTypeElementInfo.java 27 Jan 2006 17:08:23 -0000 1.5 *************** *** 49,53 **** * The name of the package this type is contained in. */ ! protected String packageName; /** --- 49,53 ---- * The name of the package this type is contained in. */ ! protected String namespaceName; /** *************** *** 235,240 **** * @see IType */ ! public String getPackageName() { ! return this.packageName; } --- 235,240 ---- * @see IType */ ! public String getNamespace() { ! return this.namespaceName; } *************** *** 260,265 **** * Sets the name of the package this type is declared in. */ ! protected void setPackageName(String name) { ! this.packageName = name; } --- 260,265 ---- * Sets the name of the package this type is declared in. */ ! protected void setNamespaceName(String name) { ! this.namespaceName = name; } Index: RubyScriptStructureBuilder.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyScriptStructureBuilder.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** RubyScriptStructureBuilder.java 24 Dec 2005 01:43:57 -0000 1.14 --- RubyScriptStructureBuilder.java 27 Jan 2006 17:08:23 -0000 1.15 *************** *** 483,488 **** // This resets the visibility when opening or declaring a class to public currentVisibility = Visibility.PUBLIC; ! ! String name = iVisited.getCPath().getName(); RubyType handle = new RubyType(modelStack.peek(), name); modelStack.push(handle); --- 483,488 ---- // This resets the visibility when opening or declaring a class to public currentVisibility = Visibility.PUBLIC; ! ! String name = getFullyQualifiedName(iVisited.getCPath()); RubyType handle = new RubyType(modelStack.peek(), name); modelStack.push(handle); *************** *** 496,501 **** setKeywordRange("class", pos, info, name); ! Node superNode = iVisited.getSuperNode(); ! String superClass = getSuperClassName(superNode); info.setSuperclassName(superClass); info.setIncludedModuleNames(new String[] {"Kernel"}); --- 496,500 ---- setKeywordRange("class", pos, info, name); ! String superClass = getSuperClassName(iVisited.getSuperNode()); info.setSuperclassName(superClass); info.setIncludedModuleNames(new String[] {"Kernel"}); *************** *** 520,534 **** private String getSuperClassName(Node superNode) { if (superNode == null) return "Object"; ! if (superNode instanceof ConstNode) { ! ConstNode superClassNode = (ConstNode) superNode; ! return superClassNode.getName(); ! } ! if (superNode instanceof Colon2Node) { ! Colon2Node superClassNode = (Colon2Node) superNode; ! return getSuperClassName(superClassNode.getLeftNode()) + "::" + superClassNode.getName(); ! } ! return "Object"; } private Instruction setLocalVarRange( ISourcePosition pos, MemberElementInfo info, String name ){ int start = pos.getStartOffset() - name.length(); --- 519,540 ---- private String getSuperClassName(Node superNode) { if (superNode == null) return "Object"; ! return getFullyQualifiedName(superNode); } + private String getFullyQualifiedName(Node node) { + if (node == null) return ""; + if (node instanceof ConstNode) { + ConstNode constNode = (ConstNode) node; + return constNode.getName(); + } + if (node instanceof Colon2Node) { + Colon2Node colonNode = (Colon2Node) node; + String prefix = getFullyQualifiedName(colonNode.getLeftNode()); + if (prefix.length() > 0) prefix = prefix + "::"; + return prefix + colonNode.getName(); + } + return ""; + } + private Instruction setLocalVarRange( ISourcePosition pos, MemberElementInfo info, String name ){ int start = pos.getStartOffset() - name.length(); |
|
From: Christopher W. <caw...@us...> - 2006-01-27 16:28:12
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28338/src/org/rubypeople/rdt/internal/ui/text Modified Files: HereDocPatternRule.java IRubyColorConstants.java Log Message: Add support for coloring global variables and instance/class variables uniquely Index: IRubyColorConstants.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/IRubyColorConstants.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** IRubyColorConstants.java 2 Dec 2005 16:18:11 -0000 1.6 --- IRubyColorConstants.java 27 Jan 2006 16:27:55 -0000 1.7 *************** *** 11,14 **** --- 11,16 ---- public static final String RUBY_CHARACTER = RUBY_COLOR_PREFIX + "character"; public static final String RUBY_SYMBOL = RUBY_COLOR_PREFIX + "symbol"; + public static final String RUBY_INSTANCE_VARIABLE = RUBY_COLOR_PREFIX + "instance_variable"; + public static final String RUBY_GLOBAL = RUBY_COLOR_PREFIX + "global"; public static final String RUBY_MULTI_LINE_COMMENT = RUBY_COLOR_PREFIX + "multiline_comment"; *************** *** 16,20 **** public static final String TASK_TAG = RUBY_COLOR_PREFIX + "task"; ! public static final String RUBY_CONTENT_ASSISTANT_BACKGROUND = RUBY_COLOR_PREFIX + "content_assistant_background"; } --- 18,22 ---- public static final String TASK_TAG = RUBY_COLOR_PREFIX + "task"; ! public static final String RUBY_CONTENT_ASSISTANT_BACKGROUND = RUBY_COLOR_PREFIX + "content_assistant_background"; } Index: HereDocPatternRule.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/HereDocPatternRule.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** HereDocPatternRule.java 3 Oct 2005 11:31:34 -0000 1.2 --- HereDocPatternRule.java 27 Jan 2006 16:27:55 -0000 1.3 *************** *** 3,63 **** import org.eclipse.jface.text.rules.ICharacterScanner; import org.eclipse.jface.text.rules.IToken; ! public class HereDocPatternRule extends org.eclipse.jface.text.rules.PatternRule { ! public HereDocPatternRule(IToken token) { ! // TODO: escape char OK? ! super("<<", "", token, (char)-1, false, false); ! } ! ! protected boolean endSequenceDetected(ICharacterScanner scanner) { ! ! char firstChar = (char) scanner.read() ; ! ! if (Character.isWhitespace(firstChar)) { ! return false ; ! } ! ! if (firstChar == '-') { ! firstChar = (char) scanner.read() ; ! } ! boolean isQuoted = false ; ! char quote = ' ' ; ! if (firstChar == '\'' || firstChar == '"') { ! isQuoted = true ; ! quote = firstChar ; ! firstChar = (char) scanner.read() ; ! } ! String keyword = "" ; ! char c = firstChar ; ! do { ! if ((byte) c == ICharacterScanner.EOF || Character.isWhitespace(c)) { ! break ; ! } ! keyword += c ; ! c = (char) scanner.read() ; ! } while ( true ) ; ! if (keyword.length() == 0) { ! return false ; ! } ! if (isQuoted && !(keyword.charAt(keyword.length() -1) == quote) ) { ! return false ; ! } ! if (isQuoted) { ! fEndSequence = keyword.substring(0, keyword.length() - 1).toCharArray() ; ! } ! else { ! fEndSequence = keyword.toCharArray() ; ! } ! boolean result = super.endSequenceDetected(scanner) ; ! if (!result) { ! return false ; ! } ! // the keyword must be at the beginning of the line ! return scanner.getColumn() == fEndSequence.length ; ! } } --- 3,60 ---- import org.eclipse.jface.text.rules.ICharacterScanner; import org.eclipse.jface.text.rules.IToken; + import org.eclipse.jface.text.rules.PatternRule; + public class HereDocPatternRule extends PatternRule { + public HereDocPatternRule(IToken token) { + // TODO: escape char OK? + // FIXME We need to only handle exact cases, not <<= + + // Correct cases: + // (http://www.zenspider.com/Languages/Ruby/QuickRef.html#8) + // <<identifier - interpolated, goes until identifier + // <<"identifier" - same thing + // <<'identifier' - no interpolation + // <<-identifier - you can indent the identifier by using "-" in front + super("<<", "", token, (char) -1, false, false); + } ! protected boolean endSequenceDetected(ICharacterScanner scanner) { ! char firstChar = (char) scanner.read(); ! if (Character.isWhitespace(firstChar)) { return false; } ! ! if (firstChar == '-') { ! firstChar = (char) scanner.read(); ! } ! boolean isQuoted = false; ! char quote = ' '; ! if (firstChar == '\'' || firstChar == '"') { ! isQuoted = true; ! quote = firstChar; ! firstChar = (char) scanner.read(); ! } ! String keyword = ""; ! char c = firstChar; ! do { ! if ((byte) c == ICharacterScanner.EOF || Character.isWhitespace(c)) { ! break; ! } ! keyword += c; ! c = (char) scanner.read(); ! } while (true); ! if (keyword.length() == 0) { return false; } ! if (isQuoted && !(keyword.charAt(keyword.length() - 1) == quote)) { return false; } ! if (isQuoted) { ! fEndSequence = keyword.substring(0, keyword.length() - 1).toCharArray(); ! } else { ! fEndSequence = keyword.toCharArray(); ! } ! boolean result = super.endSequenceDetected(scanner); ! if (!result) { return false; } ! // the keyword must be at the beginning of the line ! return scanner.getColumn() == fEndSequence.length; ! } } |
|
From: Christopher W. <caw...@us...> - 2006-01-27 16:28:07
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/preferences In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28338/src/org/rubypeople/rdt/internal/ui/preferences Modified Files: TextEditorPreferencePage2.java Log Message: Add support for coloring global variables and instance/class variables uniquely Index: TextEditorPreferencePage2.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/preferences/TextEditorPreferencePage2.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** TextEditorPreferencePage2.java 20 Dec 2005 18:49:40 -0000 1.21 --- TextEditorPreferencePage2.java 27 Jan 2006 16:27:55 -0000 1.22 *************** *** 69,72 **** --- 69,74 ---- IRubyColorConstants.RUBY_CHARACTER, IRubyColorConstants.RUBY_SYMBOL, + IRubyColorConstants.RUBY_INSTANCE_VARIABLE, + IRubyColorConstants.RUBY_GLOBAL, IRubyColorConstants.RUBY_DEFAULT }; |
|
From: Christopher W. <caw...@us...> - 2006-01-27 16:28:07
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28338/src/org/rubypeople/rdt/internal/ui/text/ruby Modified Files: RubyCodeScanner.java Added Files: GlobalDetector.java InstanceVariableDetector.java IdentifierDetector.java Log Message: Add support for coloring global variables and instance/class variables uniquely --- NEW FILE: IdentifierDetector.java --- package org.rubypeople.rdt.internal.ui.text.ruby; import org.eclipse.jface.text.rules.IWordDetector; public class IdentifierDetector implements IWordDetector { public boolean isWordStart(char c) { if (c == '_') return true; return Character.isLetter(c); } public boolean isWordPart(char c) { if (c == '_') return true; if (Character.isWhitespace(c)) return false; if (Character.isDigit(c)) return true; return Character.isLetter(c); } } --- NEW FILE: GlobalDetector.java --- package org.rubypeople.rdt.internal.ui.text.ruby; public class GlobalDetector extends IdentifierDetector { public boolean isWordStart(char c) { return c == '$'; } } --- NEW FILE: InstanceVariableDetector.java --- package org.rubypeople.rdt.internal.ui.text.ruby; public class InstanceVariableDetector extends IdentifierDetector { public boolean isWordStart(char c) { return c == '@'; } } Index: RubyCodeScanner.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyCodeScanner.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** RubyCodeScanner.java 2 Dec 2005 16:18:11 -0000 1.9 --- RubyCodeScanner.java 27 Jan 2006 16:27:56 -0000 1.10 *************** *** 16,75 **** public class RubyCodeScanner extends AbstractRubyScanner { ! protected String[] keywords; ! private static String[] fgTokenProperties = { ! IRubyColorConstants.RUBY_KEYWORD, IRubyColorConstants.RUBY_DEFAULT, ! IRubyColorConstants.RUBY_FIXNUM, IRubyColorConstants.RUBY_CHARACTER, ! IRubyColorConstants.RUBY_SYMBOL ! // TODO Add Ability to set colors for return and operators ! // IRubyColorConstants.RUBY_METHOD_NAME, ! // IRubyColorConstants.RUBY_KEYWORD_RETURN, ! // IRubyColorConstants.RUBY_OPERATOR ! }; ! /** ! * Creates a Ruby code scanner ! * ! * @param manager ! * the color manager ! * @param store ! * the preference store ! */ ! public RubyCodeScanner(IColorManager manager, IPreferenceStore store) { ! super(manager, store); ! initialize(); ! } ! /* ! * @see AbstractRubyScanner#getTokenProperties() ! */ ! protected String[] getTokenProperties() { ! return fgTokenProperties; ! } ! protected List createRules() { ! List rules = new ArrayList(); ! rules.add(new CharacterRule( ! getToken(IRubyColorConstants.RUBY_CHARACTER))); ! IToken fixnumToken = getToken(IRubyColorConstants.RUBY_FIXNUM); ! rules.add(new NumberRule(fixnumToken)); ! ! rules.add(new SymbolRule( ! getToken(IRubyColorConstants.RUBY_SYMBOL))); ! IWordDetector wordDetector = new RubyWordDetector(); ! IToken defToken = getToken(IRubyColorConstants.RUBY_DEFAULT); ! setDefaultReturnToken(defToken); ! WordRule wordRule = new WordRule(wordDetector, defToken); ! rules.add(wordRule); ! IToken token = getToken(IRubyColorConstants.RUBY_KEYWORD); ! String[] keywords = RubyTextTools.getKeyWords(); ! for (int keyWordIndex = 0; keyWordIndex < keywords.length; keyWordIndex++) ! wordRule.addWord(keywords[keyWordIndex], token); ! return rules; ! } } \ No newline at end of file --- 16,82 ---- public class RubyCodeScanner extends AbstractRubyScanner { ! protected String[] keywords; ! private static String[] fgTokenProperties = { IRubyColorConstants.RUBY_KEYWORD, ! IRubyColorConstants.RUBY_DEFAULT, IRubyColorConstants.RUBY_FIXNUM, ! IRubyColorConstants.RUBY_CHARACTER, IRubyColorConstants.RUBY_SYMBOL, ! IRubyColorConstants.RUBY_INSTANCE_VARIABLE, IRubyColorConstants.RUBY_GLOBAL ! // TODO Add Ability to set colors for return and operators ! // IRubyColorConstants.RUBY_METHOD_NAME, ! // IRubyColorConstants.RUBY_KEYWORD_RETURN, ! // IRubyColorConstants.RUBY_OPERATOR ! }; ! /** ! * Creates a Ruby code scanner ! * ! * @param manager ! * the color manager ! * @param store ! * the preference store ! */ ! public RubyCodeScanner(IColorManager manager, IPreferenceStore store) { ! super(manager, store); ! initialize(); ! } ! /* ! * @see AbstractRubyScanner#getTokenProperties() ! */ ! protected String[] getTokenProperties() { ! return fgTokenProperties; ! } ! protected List createRules() { ! List rules = new ArrayList(); ! rules.add(new CharacterRule(getToken(IRubyColorConstants.RUBY_CHARACTER))); ! IToken fixnumToken = getToken(IRubyColorConstants.RUBY_FIXNUM); ! rules.add(new NumberRule(fixnumToken)); ! rules.add(new SymbolRule(getToken(IRubyColorConstants.RUBY_SYMBOL))); ! //rules.add(new ClassVariableRule(getToken(IRubyColorConstants.RUBY_CLASS_VARIABLE))); ! IToken defToken = getToken(IRubyColorConstants.RUBY_DEFAULT); ! setDefaultReturnToken(getToken(IRubyColorConstants.RUBY_DEFAULT)); ! ! IWordDetector instanceVarDetector = new InstanceVariableDetector(); ! WordRule instanceVarRule = new WordRule(instanceVarDetector, getToken(IRubyColorConstants.RUBY_INSTANCE_VARIABLE)); ! rules.add(instanceVarRule); ! ! WordRule gloablRule = new WordRule(new GlobalDetector(), getToken(IRubyColorConstants.RUBY_GLOBAL)); ! rules.add(gloablRule); ! ! IWordDetector wordDetector = new RubyWordDetector(); ! WordRule wordRule = new WordRule(wordDetector, defToken); ! IToken token = getToken(IRubyColorConstants.RUBY_KEYWORD); ! String[] keywords = RubyTextTools.getKeyWords(); ! for (int keyWordIndex = 0; keyWordIndex < keywords.length; keyWordIndex++) ! wordRule.addWord(keywords[keyWordIndex], token); ! rules.add(wordRule); ! ! return rules; ! } } \ No newline at end of file |
|
From: Christopher W. <caw...@us...> - 2006-01-27 16:28:07
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28338/src/org/rubypeople/rdt/internal/ui Modified Files: RubyUIMessages.properties RubyPlugin.java Log Message: Add support for coloring global variables and instance/class variables uniquely Index: RubyPlugin.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyPlugin.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** RubyPlugin.java 19 Dec 2005 22:41:44 -0000 1.21 --- RubyPlugin.java 27 Jan 2006 16:27:56 -0000 1.22 *************** *** 291,294 **** --- 291,300 ---- store.setDefault(RUBY_SYMBOL + PreferenceConstants.EDITOR_BOLD_SUFFIX, true); store.setDefault(RUBY_SYMBOL + PreferenceConstants.EDITOR_ITALIC_SUFFIX, false); + PreferenceConverter.setDefault(store, RUBY_INSTANCE_VARIABLE, new RGB(0, 64, 128)); + store.setDefault(RUBY_INSTANCE_VARIABLE + PreferenceConstants.EDITOR_BOLD_SUFFIX, true); + store.setDefault(RUBY_INSTANCE_VARIABLE + PreferenceConstants.EDITOR_ITALIC_SUFFIX, false); + PreferenceConverter.setDefault(store, RUBY_GLOBAL, new RGB(255, 0, 0)); + store.setDefault(RUBY_GLOBAL + PreferenceConstants.EDITOR_BOLD_SUFFIX, false); + store.setDefault(RUBY_GLOBAL + PreferenceConstants.EDITOR_ITALIC_SUFFIX, false); PreferenceConverter.setDefault(store, RUBY_MULTI_LINE_COMMENT, new RGB(63, 127, 95)); store.setDefault(RUBY_MULTI_LINE_COMMENT + PreferenceConstants.EDITOR_BOLD_SUFFIX, false); Index: RubyUIMessages.properties =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/RubyUIMessages.properties,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** RubyUIMessages.properties 2 Dec 2005 16:18:11 -0000 1.11 --- RubyUIMessages.properties 27 Jan 2006 16:27:56 -0000 1.12 *************** *** 63,66 **** --- 63,68 ---- RubyEditorPropertyPage.color_ruby_character=Character Values RubyEditorPropertyPage.color_ruby_symbol=Symbols + RubyEditorPropertyPage.color_ruby_global=Global variables + RubyEditorPropertyPage.color_ruby_instance_variable=Instance and Class Variables RubyEditorPropertyPage.indentation=Characters per indentation level: RubyEditorPropertyPage.useTab=Use tab (if disabled, typed tabs are also converted to spaces) |
|
From: Markus B. <mba...@us...> - 2006-01-20 01:52:47
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.build/cruiseControl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25696 Modified Files: build-RDT.xml customTargets.xml Log Message: replacement of update site URL changed for prd releases. changes for 0.7.0 Index: customTargets.xml =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.build/cruiseControl/customTargets.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** customTargets.xml 8 Jan 2006 15:19:49 -0000 1.4 --- customTargets.xml 20 Jan 2006 01:52:39 -0000 1.5 *************** *** 97,100 **** --- 97,101 ---- <antcall target="replaceVersions"/> + <antcall target="setUpdateSiteURL"/> <replace file="${buildDirectory}/features/org.rubypeople.rdt/feature.xml"> <replacefilter token="<!--@@INCLUDES@@-->" value="<includes id="org.rubypeople.rdt.source" version="${featureVersion}"/>"/> *************** *** 106,120 **** <target name="replaceVersions" if="baseFeatureVersion"> - <condition property="updateSiteUrl" - value="${nightlyBuildUpdateSiteURL}" - else="${integrationBuildUpdateSiteURL}"> - <isset property="isNightlyBuild"/> - </condition> <echo message="Nightly or integration build: replacing version ${baseFeatureVersion} with ${featureVersion}"/> - <echo message="Setting update-site URL: ${updateSiteUrl}"/> <replace dir="${buildDirectory}/features"> <include name="org.rubypeople.*/feature.xml"/> <replacefilter token="${baseFeatureVersion}" value="${featureVersion}" /> - <replacefilter token="${releaseUpdateSiteURL}" value="${updateSiteUrl}" /> </replace> <replace dir="${buildDirectory}/plugins"> --- 107,114 ---- *************** *** 127,130 **** --- 121,140 ---- </replace> </target> + + <target name="setUpdateSiteURL" if="isNightlyOrIntegrationBuild"> + + <!-- do not replace the update site URL if it is a release build --> + <condition property="updateSiteUrl" + value="${nightlyBuildUpdateSiteURL}" + else="${integrationBuildUpdateSiteURL}"> + <isset property="isNightlyBuild"/> + </condition> + <echo message="Setting update-site URL: ${updateSiteUrl}"/> + <replace dir="${buildDirectory}/features"> + <include name="org.rubypeople.*/feature.xml"/> + <replacefilter token="${releaseUpdateSiteURL}" value="${updateSiteUrl}" /> + </replace> + </target> + <!-- ===================================================================== --> <!-- Steps to do before generating the build scripts. --> Index: build-RDT.xml =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.build/cruiseControl/build-RDT.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** build-RDT.xml 29 Dec 2005 09:45:25 -0000 1.2 --- build-RDT.xml 20 Jan 2006 01:52:39 -0000 1.3 *************** *** 66,70 **** --- 66,86 ---- </target> + <target name="0.7.0"> + <property name="cvsLabel" value="R2006-01-19_0-7-0"/> + <property name="label" value="0.7.0.601192300PRD"/> + <antcall target="release"/> + </target> + + <target name="release"> + <property name="buildType" value="-DbuildType='S'"/> + <antcall target="manual-build"/> + </target> + <target name="integration"> + <property name="buildType" value="-DbuildType='I'"/> + <antcall target="manual-build"/> + </target> + + <target name="manual-build"> <!-- the only difference to a nightly build is the buildType which leads to setting a differnt updateSiteUrl in feature.xml --> *************** *** 72,76 **** <!-- properties which should override the values of org.rubypeople.rdt/bootstrap/build.properties must be specified via -D arguments for the call to eclipseRunner --> ! <property name="extraArgs" value="-DbuildType='I' -DfetchTag=${cvsLabel}"/> <property file="build-RDT.properties" /> <antcall target="clean"/> --- 88,92 ---- <!-- properties which should override the values of org.rubypeople.rdt/bootstrap/build.properties must be specified via -D arguments for the call to eclipseRunner --> ! <property name="extraArgs" value="${buildType} -DfetchTag=${cvsLabel}"/> <property file="build-RDT.properties" /> <antcall target="clean"/> |
|
From: Markus B. <mba...@us...> - 2006-01-19 20:37:06
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/parser In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12259/src/org/rubypeople/rdt/internal/core/parser Modified Files: RdtWarnings.java ImmediateWarnings.java Log Message: ignore "Useless" warnings Index: ImmediateWarnings.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/parser/ImmediateWarnings.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ImmediateWarnings.java 1 Oct 2005 23:01:01 -0000 1.1 --- ImmediateWarnings.java 19 Jan 2006 20:36:44 -0000 1.2 *************** *** 23,26 **** --- 23,29 ---- public void warn(ISourcePosition position, String message) { + if (message.startsWith("Useless")) { + return ; + } markerManager.addWarning(file, message, position.getStartLine(), position.getStartOffset(), position.getEndOffset()); } Index: RdtWarnings.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/parser/RdtWarnings.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** RdtWarnings.java 1 Oct 2005 23:01:01 -0000 1.4 --- RdtWarnings.java 19 Jan 2006 20:36:44 -0000 1.5 *************** *** 52,55 **** --- 52,58 ---- */ public void warn(ISourcePosition position, String message) { + if (message.startsWith("Useless")) { + return ; + } warnings.add(new Warning(position, message)); } |
|
From: Markus B. <mba...@us...> - 2006-01-19 20:36:31
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11985/lib Modified Files: jruby.jar Log Message: jruby 2006-01-19 20:30 GMT, will be labeled RDT_0_7_0 Index: jruby.jar =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/lib/jruby.jar,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 Binary files /tmp/cvsE5Qu2x and /tmp/cvsZ3eU4A differ |
|
From: Markus B. <mba...@us...> - 2006-01-17 20:53:24
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.debug.core.tests/src/org/rubypeople/rdt/debug/core/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1364/src/org/rubypeople/rdt/debug/core/tests Modified Files: FTC_DebuggerLaunch.java Log Message: adding some infos to find the reason of failing on the nightly build Index: FTC_DebuggerLaunch.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.debug.core.tests/src/org/rubypeople/rdt/debug/core/tests/FTC_DebuggerLaunch.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** FTC_DebuggerLaunch.java 5 Jan 2006 16:11:39 -0000 1.5 --- FTC_DebuggerLaunch.java 17 Jan 2006 20:53:15 -0000 1.6 *************** *** 32,38 **** protected void createInterpreter() { ! // FIXME We rely on the RUBY_INTERPRETER to be a full path to a valid ruby executable, and it's not getting set properly so this test ends up failing (on the nightly build)! ! ! RubyInterpreter rubyInterpreter = new RubyInterpreter("RubyInterpreter", new Path(FTC_DebuggerCommunicationTest.RUBY_INTERPRETER)); RubyRuntime.getDefault().addInstalledInterpreter(rubyInterpreter) ; --- 32,40 ---- protected void createInterpreter() { ! // We rely on the RUBY_INTERPRETER to be a full path to a valid ruby executable, therefore the property rdt.rubyInterpreter has ! // to be set accordingly ! String rubyInterpreterPath = FTC_DebuggerCommunicationTest.RUBY_INTERPRETER ; ! System.out.println("Using interpreter: " + rubyInterpreterPath) ; ! RubyInterpreter rubyInterpreter = new RubyInterpreter("RubyInterpreter", new Path(rubyInterpreterPath)); RubyRuntime.getDefault().addInstalledInterpreter(rubyInterpreter) ; *************** *** 79,86 **** // getDebugTarget returns null if connection between ruby debugger and RubyDebuggerProxy (RubyLoop) could not // be established ! assertNotNull(launch.getDebugTarget()) ; ! assertNotNull(launch.getDebugTarget().getThreads()); ! assertTrue(launch.getDebugTarget().getThreads().length > 0); ! assertTrue(launch.getDebugTarget().getThreads()[0].isSuspended()) ; // the breakpoint we have set for the first launch has disappeard at this point through --- 81,88 ---- // getDebugTarget returns null if connection between ruby debugger and RubyDebuggerProxy (RubyLoop) could not // be established ! assertNotNull("1. debug target not null", launch.getDebugTarget()) ; ! assertNotNull("1. debug target has threads", launch.getDebugTarget().getThreads()); ! assertTrue("1. debug target has at least one thread", launch.getDebugTarget().getThreads().length > 0); ! assertTrue("1. debug target's first thread is suspended ", launch.getDebugTarget().getThreads()[0].isSuspended()) ; // the breakpoint we have set for the first launch has disappeard at this point through *************** *** 90,98 **** Thread.sleep(5000) ; this.log("2. launch", secondlaunch) ; ! assertNotNull(secondlaunch.getDebugTarget()) ; ! assertNotNull(secondlaunch.getDebugTarget().getThreads()); ! assertTrue(secondlaunch.getDebugTarget().getThreads().length > 0); ! assertFalse(secondlaunch.getProcesses()[0].isTerminated()) ; ! assertTrue(secondlaunch.getDebugTarget().getThreads()[0].isSuspended()) ; } } --- 92,100 ---- Thread.sleep(5000) ; this.log("2. launch", secondlaunch) ; ! assertNotNull("2. debug target not null", secondlaunch.getDebugTarget()) ; ! assertNotNull("2. debug target has threads", secondlaunch.getDebugTarget().getThreads()); ! assertTrue("2. debug target has at least one thread", secondlaunch.getDebugTarget().getThreads().length > 0); ! assertFalse("2. debug target's first prozess is not terminated", secondlaunch.getProcesses()[0].isTerminated()) ; ! assertTrue("2. debug target's first thread is suspended ", secondlaunch.getDebugTarget().getThreads()[0].isSuspended()) ; } } |
|
From: Markus B. <mba...@us...> - 2006-01-17 20:31:34
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.launching/ruby In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29453/ruby Modified Files: eclipseDebug.rb Log Message: An object ID alwas has to start with ([\\+-x). There it is not optional. If it was, the command "v i 1 customObject" would match an object id which it is not. Index: eclipseDebug.rb =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.launching/ruby/eclipseDebug.rb,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** eclipseDebug.rb 16 Jan 2006 21:09:20 -0000 1.18 --- eclipseDebug.rb 17 Jan 2006 20:31:26 -0000 1.19 *************** *** 396,400 **** end ! when /^\s*i(?:nstance)?\s*(\d+)?\s+((?:[\\+-]0x)?[\dabcdef]+)?/ new_binding = getBinding($1) if new_binding then --- 396,400 ---- end ! when /^\s*i(?:nstance)?\s*(\d+)?\s+((?:[\\+-]0x)[\dabcdef]+)?/ new_binding = getBinding($1) if new_binding then |
|
From: Markus B. <mba...@us...> - 2006-01-16 21:09:28
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.launching/ruby In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7903/ruby Modified Files: eclipseDebug.rb Log Message: variable renders object id as positive/negative hex number. fixes problem with negative ID. Index: eclipseDebug.rb =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.launching/ruby/eclipseDebug.rb,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** eclipseDebug.rb 13 Oct 2005 19:43:30 -0000 1.17 --- eclipseDebug.rb 16 Jan 2006 21:09:20 -0000 1.18 *************** *** 73,77 **** end end ! out("<variable name=\"%s\" kind=\"%s\" value=\"%s\" type=\"%s\" hasChildren=\"%s\" objectId=\"%s\"/>", CGI.escapeHTML(name), kind, CGI.escapeHTML(valueString), value.class(), hasChildren, value.respond_to?(:object_id) ? value.object_id : value.id) end --- 73,77 ---- end end ! out("<variable name=\"%s\" kind=\"%s\" value=\"%s\" type=\"%s\" hasChildren=\"%s\" objectId=\"%#+x\"/>", CGI.escapeHTML(name), kind, CGI.escapeHTML(valueString), value.class(), hasChildren, value.respond_to?(:object_id) ? value.object_id : value.id) end *************** *** 396,400 **** end ! when /^\s*i(?:nstance)?\s*(\d+)?\s+(\d+)?/ new_binding = getBinding($1) if new_binding then --- 396,400 ---- end ! when /^\s*i(?:nstance)?\s*(\d+)?\s+((?:[\\+-]0x)?[\dabcdef]+)?/ new_binding = getBinding($1) if new_binding then *************** *** 404,408 **** @printer.printXml("<variables>") if $2 then ! obj = ObjectSpace._id2ref($2.to_i) if (!obj) then @printer.debug("unknown object id : %s", $2) --- 404,408 ---- @printer.printXml("<variables>") if $2 then ! obj = ObjectSpace._id2ref($2.hex) if (!obj) then @printer.debug("unknown object id : %s", $2) |
|
From: Markus B. <mba...@us...> - 2006-01-15 22:20:45
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5468/lib Modified Files: generateJrubyJar.jardesc Log Message: use workspace relative path for target jar file Index: generateJrubyJar.jardesc =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/lib/generateJrubyJar.jardesc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** generateJrubyJar.jardesc 19 Oct 2005 00:33:12 -0000 1.2 --- generateJrubyJar.jardesc 15 Jan 2006 22:20:37 -0000 1.3 *************** *** 1,5 **** <?xml version="1.0" encoding="UTF-8"?> <jardesc> ! <jar path="/home/dcorbin/eclipse/rdt-head/org.rubypeople.rdt.core/lib/jruby.jar"/> <options buildIfNeeded="true" compress="true" descriptionLocation="/org.rubypeople.rdt.core/generateJrubyJar.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="false" saveDescription="true" useSourceFolders="false"/> <manifest generateManifest="true" manifestLocation="" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true"> --- 1,5 ---- <?xml version="1.0" encoding="UTF-8"?> <jardesc> ! <jar path="org.rubypeople.rdt.core/lib/jruby.jar"/> <options buildIfNeeded="true" compress="true" descriptionLocation="/org.rubypeople.rdt.core/generateJrubyJar.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="false" saveDescription="true" useSourceFolders="false"/> <manifest generateManifest="true" manifestLocation="" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true"> |
|
From: Markus B. <mba...@us...> - 2006-01-15 21:52:49
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31916/lib Modified Files: jruby.jar Log Message: HEAD from 2006-01-15 21:00 GMT, with empty UselessStatementVisitor::handleUselessWarn() Index: jruby.jar =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/lib/jruby.jar,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 Binary files /tmp/cvsMzM8KD and /tmp/cvs6OSv9T differ |
|
From: Markus B. <mba...@us...> - 2006-01-08 15:20:17
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.build/cruiseControl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv657 Modified Files: build-RDT.properties customTargets.xml purgeNightlyBuildWebSite.sh Log Message: copy test result file to correct place, purge download and updatesite, do not use verbose ANT Index: customTargets.xml =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.build/cruiseControl/customTargets.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** customTargets.xml 8 Jan 2006 12:38:36 -0000 1.3 --- customTargets.xml 8 Jan 2006 15:19:49 -0000 1.4 *************** *** 243,247 **** browsers don't fool users with cached versions --> <copy file="${eclipseAutomatedTestHome}/results/html/org.rubypeople.rdt.tests.all_.html" ! tofile="${buildDirectory}/org.rubypeople.rdt.tests.all_${featureVersion}.html"/> <copy file="${buildDirectory}/workspace-rdt-tests/.metadata/.log" tofile="${buildResultsDirectory}/logs/testsWorkspace.log"/> --- 243,247 ---- browsers don't fool users with cached versions --> <copy file="${eclipseAutomatedTestHome}/results/html/org.rubypeople.rdt.tests.all_.html" ! tofile="${buildResultsDirectory}/org.rubypeople.rdt.tests.all_${featureVersion}.html"/> <copy file="${buildDirectory}/workspace-rdt-tests/.metadata/.log" tofile="${buildResultsDirectory}/logs/testsWorkspace.log"/> Index: build-RDT.properties =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.build/cruiseControl/build-RDT.properties,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** build-RDT.properties 29 Dec 2005 09:45:25 -0000 1.2 --- build-RDT.properties 8 Jan 2006 15:19:49 -0000 1.3 *************** *** 16,21 **** # Make Ant verbose ! verboseAnt=-verbose ! #verboseAnt= eclipseAutomatedTestHome=${rdtBuildHome}/rdt/eclipse-testing --- 16,21 ---- # Make Ant verbose ! #verboseAnt=-verbose ! verboseAnt= eclipseAutomatedTestHome=${rdtBuildHome}/rdt/eclipse-testing Index: purgeNightlyBuildWebSite.sh =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.build/cruiseControl/purgeNightlyBuildWebSite.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** purgeNightlyBuildWebSite.sh 8 Jan 2006 12:38:36 -0000 1.1 --- purgeNightlyBuildWebSite.sh 8 Jan 2006 15:19:49 -0000 1.2 *************** *** 1,2 **** #!/bin/sh ! ssh -l rubypeople download.rubypeople.org "rm -r ~/subdomains/updatesite/httpdocs/nightly;mkdir ~/subdomains/updatesite/httpdocs/nightly" --- 1,2 ---- #!/bin/sh ! ssh -l rubypeople download.rubypeople.org "rm -r ~/subdomains/updatesite/httpdocs/nightly; mkdir ~/subdomains/updatesite/httpdocs/nightly; rm -r ~/subdomains/download/httpdocs/nightly ; mkdir ~/subdomains/download/httpdocs/nightly" |
|
From: Markus B. <mba...@us...> - 2006-01-08 12:38:50
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.build/cruiseControl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26621 Modified Files: config.xml customTargets.xml Added Files: purgeNightlyBuildWebSite.sh Log Message: delete nightly build directory before publishing new build result and rename test result html file so that browsers don't cache it Index: customTargets.xml =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.build/cruiseControl/customTargets.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** customTargets.xml 29 Dec 2005 09:45:25 -0000 1.2 --- customTargets.xml 8 Jan 2006 12:38:36 -0000 1.3 *************** *** 237,245 **** <!-- exclude the org.rubypeople.rdt-tests-*.zip file --> <exclude name="**/*-tests-*"/> ! </fileset> ! <fileset dir="${eclipseAutomatedTestHome}/results/html"> ! <include name="*.html"/> ! </fileset> </copy> <copy file="${buildDirectory}/workspace-rdt-tests/.metadata/.log" tofile="${buildResultsDirectory}/logs/testsWorkspace.log"/> --- 237,248 ---- <!-- exclude the org.rubypeople.rdt-tests-*.zip file --> <exclude name="**/*-tests-*"/> ! </fileset> </copy> + + <!-- rename the results file, so that every build result file has a unique name and + browsers don't fool users with cached versions --> + <copy file="${eclipseAutomatedTestHome}/results/html/org.rubypeople.rdt.tests.all_.html" + tofile="${buildDirectory}/org.rubypeople.rdt.tests.all_${featureVersion}.html"/> + <copy file="${buildDirectory}/workspace-rdt-tests/.metadata/.log" tofile="${buildResultsDirectory}/logs/testsWorkspace.log"/> --- NEW FILE: purgeNightlyBuildWebSite.sh --- #!/bin/sh ssh -l rubypeople download.rubypeople.org "rm -r ~/subdomains/updatesite/httpdocs/nightly;mkdir ~/subdomains/updatesite/httpdocs/nightly" Index: config.xml =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.build/cruiseControl/config.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** config.xml 29 Dec 2005 09:45:25 -0000 1.2 --- config.xml 8 Jan 2006 12:38:36 -0000 1.3 *************** *** 33,36 **** --- 33,37 ---- dir="checkout/RDT/dist" dest="artifacts/RDT"/> + <execute command="/home/bma/cruiseControlWorkspace/purgeNightlyBuildWebSite.sh"/> <scp sourcedir="checkout/RDT/dist" |