| Summary: | MTJ preprocessor does not work in Eclipse 3.7 | ||
|---|---|---|---|
| Product: | [Tools] MTJ | Reporter: | Rainer <rburgst> |
| Component: | MTJ projects | Assignee: | Project Inbox <dsdp.mtj-inbox> |
| Status: | REOPENED --- | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | rburgst |
| Version: | unspecified | ||
| Target Milestone: | 1.0 M6 | ||
| Hardware: | PC | ||
| OS: | Mac OS X - Carbon (unsup.) | ||
| Whiteboard: | |||
|
Description
Rainer
I see that antenna.preprocessor bundle only provides a minimum version number for ANTLR runtime. Eclipse indigo ships both ANTLR runtime 3.2 and 3.0.1 and I think 3.2 is picked up. I will update the bundle and give a maximum supported version so that 3.2 is not used anymore. A fix is released to git repository and you can pick up the update that includes the fix from http://download.eclipse.org/mtj/updates/nightly update site. Hmm, now I get the following error Preprocessor invoked, but hook is not installed. Consult the installation instructions for MTJ. I do have the following in configurations/config.ini #This configuration file was written by: org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser #Tue Oct 25 10:39:40 CEST 2011 org.eclipse.update.reconcile=false eclipse.p2.profile=epp.package.java osgi.instance.area.default=@user.home/Documents/workspace osgi.framework=file\:plugins/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar equinox.use.ds=true eclipse.buildId=M20110909-1335 osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.200.v20110502-1955.jar@1\:start org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info eclipse.product=org.eclipse.platform.ide osgi.splashPath=platform\:/base/plugins/org.eclipse.platform osgi.framework.extensions=org.eclipse.mtj.core.hooks osgi.bundles.defaultStartLevel=4 eclipse.application=org.eclipse.ui.ide.workbench eclipse.p2.data.area=@config.dir/../p2/ I.e. the hook for osgi.framework.extensions=org.eclipse.mtj.core.hooks. But somehow that doesn't seem to be enough. Reopening to take a look Oh well guess nobody noticed this before, but this line of eclipse: https://github.com/eclipse/rt.equinox.framework/blob/e490d7954ccc2f68113309730a67bbdaa242055d/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java#L907 Seems to add a dot to the classpath of the "org.eclipse.mtj.core.hooks" library. entries[j] = one entry from the eclipse.properties: Content of eclipse.properties: http://git.eclipse.org/c/mtj/org.eclipse.mtj.git/tree/trunk/plugins/org.eclipse.mtj.core.hooks/eclipse.properties?id=2781779133edabd848add3a0b49b1ebacae4a1b0 I'm not really shure if this is intended but i guess it is not. But even if this would be correct it would probably get a problem with asm-all-3.0.jar, because the following line will fail: https://github.com/eclipse/rt.equinox.framework/blob/e490d7954ccc2f68113309730a67bbdaa242055d/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java#L980 So the classloader was looking for a file called "org.eclipse.mtj.core.hooks-*.jar.". So basically it doesn't even read the hookconfigurators.properties file after that. The only Solution for me was to add "Eclipse-BundleShape: dir" to the manifest of the plugin ,package it with maven again, and install it from the plugin-zip-file. That way it would take the classpath "org.eclipse.mtj.core.hooks-*/." instead, because the plugin gets stored inside a directory in the plugin-folder and not as jar file. I also modified the "Debug.java" because it throw Exceptions about not finding a Platform class. (But I'm not shure if this step is really needed, i changed this before i found the problem with the classloader) http://git.eclipse.org/c/mtj/org.eclipse.mtj.git/plain/trunk/plugins/org.eclipse.mtj.core.hooks/src/org/eclipse/mtj/internal/core/hooks/Debug.java?id=2781779133edabd848add3a0b49b1ebacae4a1b0 So i just used "DEBUG_GENERAL = false" for example. |