Ideas to make m2eclipse-wtp -> m2e-wtp migration painless?
by Fred Bricon
Hi all,
I'm currently banging my head on the m2eclipse-wtp -> m2e-wtp migration, so
if anyone as any good ideas, I'm open to suggestions.
Here's what we have :
- m2e-wtp (@eclipse) uses a new namespace for eclipse plugins/features :
org.eclipse.m2e.wtp instead of org.maven.ide.wtp
- m2e-wtp keeps the m2eclipse-wtp configurator identifiers to maintain
backward compatibility with 3rd party plugins (JBoss Tools ecosystem,
Google Eclipse Plugin ...)
- m2e-wtp installation doesn't disable m2eclipse-wtp plugins since the
namespace changed.
- installing m2e-wtp over m2eclipse-wtp is bad (as "crossing the streams"
bad) since m2e-core now finds duplicate configurators which produces errors.
- I created (locally) an m2eclipse-wtp 0.15.999 empty feature that
requires m2e-wtp 0.16.0. m2e-wtp is correctly installed but I'm still
seeing the duplicate configurators as previous m2eclipse-wtp 0.15.2 plugins
are still active.
Ideally m2e-wtp would disable m2eclipse-wtp when installed, but I'm afraid
it seems impossible (yeah I suck at eclipse/OSGi stuff).
So that means the only way to install m2e-wtp for existing m2eclipse-wtp
users will be to either start from a pristine eclipse installation or
uninstall m2eclipse-wtp beforehand, breaking the update process for
products already embedding m2eclipse-wtp.
Hopefully I'm missing something. Sooo, any ideas?
Regards,
Fred Bricon
--
"Have you tried turning it off and on again" - The IT Crowd
13 years, 7 months
Help needed on Eclipse Search performance
by Xavier Coulon
Hello,
Pete Muir opened an issue a few weeks ago (https://issues.jboss.org/browse/JBIDE-12224) because he found that the JAX-RS tooling was sometimes taking too much time to build. He also attached a video to show what's happening on his machine: http://screencast.com/t/pHBqxVas4
Now, at the tooling level, here's what's happening: a set of jars are added to the classpath, and as part of the project build, the JAX-RS builder searches for some JAX-RS annotated types or methods in those new jars, using the Search API. Hélas, Eclipse needs to index those jars, which sometimes takes a few seconds.
Now, as opposed to the CDI specification where the jars should have a marker file (META-INF/beans.xml), JAX-RS does not mandate anything similar, which means that the search includes all the jars..
Here's an example of the code that deals with annotated types search (in ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/jdt/JaxrsAnnotationsScanner.java) :
private static List<IType> searchForAnnotatedTypes(final Class<?> annotation, final IJavaSearchScope searchScope,
final IProgressMonitor progressMonitor) throws CoreException {
JavaMemberSearchResultCollector collector = new JavaMemberSearchResultCollector(IJavaElement.TYPE, searchScope);
SearchPattern pattern = SearchPattern.createPattern(annotation.getName(), IJavaSearchConstants.ANNOTATION_TYPE,
IJavaSearchConstants.ANNOTATION_TYPE_REFERENCE | IJavaSearchConstants.TYPE, SearchPattern.R_EXACT_MATCH
| SearchPattern.R_CASE_SENSITIVE);
// perform search, results are added/filtered by the custom
// searchRequestor defined above
new SearchEngine().search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() },
searchScope, collector, progressMonitor);
return collector.getResult(IType.class);
}
Do you know any way to reduce the latency at this level ? Is there any trick to improve the speed ?
Thanks in advance
Best regards,
/Xavier
13 years, 7 months
Re: [jbosstools-dev] Status for VPE/Hibernate 16 July - 22 July 2012
by Max Rydahl Andersen
moving this to jbosstools-dev
>> > ∙ Reproducing JBIDE-11592 - SIGSEGV when tried JBT 3.3.0.Beta2 on Juno;
>> > ∙ Created prototype for eclipse<->browser communication on XULRunner v>2/WebKit/IE - JBIDE-12276;
>>
>> Interesting - what kind of communication ? communication to external process ?
>> It is Eclipse<->IE/WebKit/XulRunner>=4 communication via SWT Browser widget.
>> As you know, now VPE is implemented using JavaXPCOM interfaces to communicate with XULRunner.
>> But theoretically almost everything what we do now, could be implemented using browser.execute() method to invoke JavaScript from Java, and BrowserFunction class to invoke Java from JavaScript. This would make VPE browser independent and allow to support the most recent browsers.
>> So I just created a simple Eclipse editor using these two methods as a proof of concept. This editor allows to change style of selected text from Eclipse toolbar.
>
> It is considerably slower than JavaXPCOM bridge. Using Browser would simplify implementation on Java side, but then we have to do JavaScript part and test it with all browsers that could be Behind Browser.java class.
Doesn't sound fun (neither Speed nor QE tasks).
How big a speed difference are we talking about here? And when ?
Is it just when doing style changes or also when editing ? with webkit there is a more or less native edit mode is there not ?
> I'd rather spend time and ported JavaXPCOM bridge to latest XulRunner build, because it was implemented as build extension and use code generation to get all XPCOM Interfaces mapped in Java, so it looks doable.
XULRunner is going away/dying afaik I know - especially JavaXPCOM and its missing on 64-bit platforms especially. Considering this - is it worth spending time on that ?
> Another option is look though what kind of functions VPE uses out of JavaXPCOM and implement it for WebKit.
How feasible is this ?
/max
13 years, 7 months