ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée (JIRA) <j...@apache.org>
Subject [jira] Commented: (IVYDE-243) IvyDE Autocompletion problem - doesn't support XML "includes" and $properties properly
Date Tue, 16 Nov 2010 13:07:13 GMT

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

Nicolas Lalevée commented on IVYDE-243:
---------------------------------------

I looked closer to how the completion work. Effectively the include is not supported at all.
The list of configuration is obtained from some pattern matching in the file (see IvyModuleDescriptorFile.java).
This would may need some major change.


> 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.


Mime
View raw message