You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Eugene Sajine (JIRA)" <ji...@apache.org> on 2010/06/10 16:24:14 UTC

[jira] Commented: (IVYDE-243) IvyDE Autocompletion problem - doesn't support XML "includes" and $properties properly

    [ https://issues.apache.org/jira/browse/IVYDE-243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12877429#action_12877429 ] 

Eugene Sajine commented on IVYDE-243:
-------------------------------------

Did somebody have a chance to take a look at that?

Thanks!

> IvyDE Autocompletion problem - doesn't support XML "includes" and $properties properly
> --------------------------------------------------------------------------------------
>
>                 Key: IVYDE-243
>                 URL: https://issues.apache.org/jira/browse/IVYDE-243
>             Project: IvyDE
>          Issue Type: Bug
>          Components: ivy editor
>    Affects Versions: 2.0.0.final
>         Environment: Linux, Eclipse 3.5, Ivy 2.1, IvyDE 2.0
>            Reporter: Eugene Sajine
>
> Please note that in all described cases the ivyDE plugin and Ivy itself are parsing existing files ok and resolving dependencies correctly.
> IvyDE editor doesn't know how to parse XML includes and $properties while ivy 
> itself does that with no problem.
> I mean that we have ivy.settings which doesn't have repositories listed in 
> chain resolver directly in the file, but includes the file with this 
> information:
> <include file="/some/folder/extendedivysettings.xml"> 
> or even something like this:
> <include file="${IVYFOLDER}/extendedivysettings.xml"> 
> We also *don't* use direct addresses in patterns like:
> <filesystem name="myname">
> <ivy pattern=/some/shared/folder/[organisation]/[module]/[revision]/ivy.xml/>
> <ivy 
> pattern=/some/shared/folder/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]/>
> </filesystem>
> but we use 
> <filesystem name="myname">
> <ivy pattern=${IVYREPO}[organisation]/[module]/[revision]/ivy.xml/>
> <ivy 
> pattern=${IVYREPO}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]/>
> </filesystem>
> As i said - Ivy works with this fine, but IVYDE Editor doesn't and here are the issues I'm having with it
> 1. Configuration autocompletion.
> our configurations file which we include into the ivy.xml has configurations defined like that (example):
> <configurations confmappingoverride="true" defaultconfmapping="api->api(default);compile->api(default);runtime->runtime(default)">
> <conf name="api"/>
> <conf name="compile" extends="api"/>
> <conf name="runtime" extends="compile"/>
> </configurations>
> in ivy.xml we have it included
> <configurations>
> <include file=ivy.config.xml>
> </configurations>
> 2 problems here:
> The only way i can get IVyDE autocomplete to work with configurations is to specify them directly in the file. In addition to that the only acceptable format is *without* default mapping. The default mapping causes autocomplette to show only "*" and "default" as possible conf values, when i should see *, api, compile and runtime.
> Secondly, the include is not supported for editor even direct. When i'm using it autocomplete gives me only "*"
> 2. org and rev.
> With my current set up when I'm hitting CTRL+Space to get autocomplete for <org> or <rev> I'm getting a NullPointerException. Please, see the stack trace in the end of the mail.
> 3. When I'm hitting Ctrl+Space for <name> I'm actually getting a list of artifacts! and I believe i see artifacts from all of our repos... 
> Hope that helps!
> Thanks,
> Eugene
> here is the exception for p.2
> java.lang.NullPointerException
> at 
> org.apache.ivyde.common.model.IvyTag.getPossibleValuesForAttribute(IvyTag.java:163)
> at 
> org.apache.ivyde.common.ivyfile.IvyModuleDescriptorModel$12.getPossibleValuesForAttribute(IvyModuleDescriptorModel.java:268)
> at 
> org.apache.ivyde.common.completion.IvyCodeCompletionProcessor.computeValueProposals(IvyCodeCompletionProcessor.java:129)
> at 
> org.apache.ivyde.common.completion.IvyCodeCompletionProcessor.computeCompletionProposals(IvyCodeCompletionProcessor.java:50)
> at 
> org.apache.ivyde.eclipse.ui.editors.xml.IvyContentAssistProcessor.computeCompletionProposals(IvyContentAssistProcessor.java:70)
> at 
> org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1832)
> at 
> org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:556)
> at 
> org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:553)
> at 
> org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:488)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
> at 
> org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:482)
> at 
> org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.java:1660)
> at 
> org.eclipse.jface.text.source.SourceViewer.doOperation(SourceViewer.java:835)
> at 
> org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
> at 
> org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80)
> at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
> at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
> at 
> org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
> at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
> at 
> org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
> at 
> org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
> at 
> org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
> at 
> org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
> at 
> org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
> at 
> org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
> at 
> org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
> at 
> org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1467)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1175)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1200)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1185)
> at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1212)
> at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:706)
> at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2837)
> at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:703)
> at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1570)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:4587)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4191)
> at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
> at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:7588)
> at org.eclipse.swt.widgets.Display.eventProc(Display.java:1185)
> at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
> at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1860)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3110)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
> at 
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> at 
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> at 
> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
> at 
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
> at 
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
> at 
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
> at 
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
> at 
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:592)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.