Plug-in compatible with Helios?

  • loeschg
Posted: Thu, 07/29/2010 - 13:09

Is Exadel currently compatible with Eclipse Helios? I just installed the (latest) Exadel plugin following instructions from http://download.exadel.org/javafx_plugin/docs/guide/#installation, and I'm having some issues.

Isn't the plug-in supposed to detect what needs to be imported when specific components are used? I'm testing things out with a simple Button node, and there is no suggestion regarding how to fix the problem. When I try to "Organize Imports", it detects the proper import path (javafx.scene.control.Button), but when I try to import, I get the following error message:

Unexpected error in organize imports. See log for details.
org/eclipse/jdt/internal/core/SourceRange"

I'd really like to get this working, as it's a hassle trying to coordinate a project between Eclipse and NetBeans (which is the only viable option for JavaFX right now). Any help would be great!

Helios is not yet supported,

  • maxkatz
  • 02/17/10
  • Thu, 07/29/2010 - 14:00

Helios is not yet supported, it's work in progress: http://jira.exadel.org/browse/FXP-71

Please bring helios support

  • fmjrey
  • 08/16/10
  • Mon, 08/16/2010 - 03:56

Just giving some encouragement for getting a working version on helios.
Many thanks!

Patch for helios support

  • fmjrey
  • 08/16/10
  • Thu, 08/19/2010 - 11:18

Actually getting it to compile for Helios is a simple thing, here's the patch for current svn version:

Index: src/com/exadel/javafx/ide/internal/ui/scripteditor/actions/refactoring/ImportRewrite.java
===================================================================
--- src/com/exadel/javafx/ide/internal/ui/scripteditor/actions/refactoring/ImportRewrite.java (revision 156)
+++ src/com/exadel/javafx/ide/internal/ui/scripteditor/actions/refactoring/ImportRewrite.java (working copy)
@@ -13,7 +13,7 @@
import org.eclipse.jdt.core.ISourceRange;
import org.eclipse.jdt.core.dom.ASTParser;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.internal.core.SourceRange;
+import org.eclipse.jdt.core.SourceRange;
import org.eclipse.jdt.internal.core.util.Messages;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;

It seems to work fine, but I have not fully tested this.
So what's really holding you to get a 3.6 version out?

Thanks for help. I will

  • abratukhin
  • 02/18/10
  • Thu, 08/19/2010 - 12:24

Thanks for help. I will integrate your patch to our branch for Helios. But we had many runtime issues.

beware not to break 3.5 support

  • fmjrey
  • 08/16/10
  • Thu, 08/19/2010 - 14:09

With such change I don't think it will work in 3.5 and 3.6. Either you create a new branch (more of a hassle) or you find an equivalent class that works in both versions.
I don't have a 3.5 install at hand but I think using org.eclipse.jdt.internal.corext.SourceRange should work on 3.6 and previous versions as well. It's just an additional warning in 3.6.
So here's the new patch, working fine with 3.6 here:

Index: src/com/exadel/javafx/ide/internal/ui/scripteditor/actions/refactoring/ImportRewrite.java
===================================================================
--- src/com/exadel/javafx/ide/internal/ui/scripteditor/actions/refactoring/ImportRewrite.java (revision 156)
+++ src/com/exadel/javafx/ide/internal/ui/scripteditor/actions/refactoring/ImportRewrite.java (working copy)
@@ -13,7 +13,7 @@
import org.eclipse.jdt.core.ISourceRange;
import org.eclipse.jdt.core.dom.ASTParser;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.internal.core.SourceRange;
+import org.eclipse.jdt.internal.corext.SourceRange;
import org.eclipse.jdt.internal.core.util.Messages;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;

I'm new in svn, so could you

  • tkey
  • 09/18/10
  • Sun, 09/19/2010 - 10:10

I'm new in svn, so could you explain usage of patch step by step or give a link of good explanation, please.
I've downloaded the latest plug-in with hope that it will work, but had the same problem.

Applying the patch above

  • fmjrey
  • 08/16/10
  • Tue, 09/21/2010 - 14:04

The process is a bit involved and the following directions hopefully will work for you, Otherwise you'll need to dig dipper in some documentation to get you going further.

You need to have the following plugin/features which can be installed from the Help>Install New Software... menu:
- Eclipse SDK: contains the Plugin Development Environment (PDE) needed to develop eclipse plugin
- Subversive SVN Team Provider: needed to check out code from svn repository
Restart Eclipse if you installed anything.

Checkout the Exadel code:
- Go into the SVN Repository Perpective (Window>Open Perspective>Other...)
- Right-click on SVN Repository View and choose New>Repository Location... and paste the URL http://subversion.exadel.org/repos/javafxide/
- Finish
- On the repository structure right-click on the trunk folder and select Find/Check Out As...
- Select the option to find projects in the children of the selected resource
- Finish
- Make sure all com.exadel.* projects are opened

Apply the patch:
- Copy (to the clipboard) the patch above (only the patch text)
- Open the Plug-in Development perspective
- Right-click on the com.exadel.javafx.ide.ui project (which must be opened) and select Team>Apply Patch...
- Input from clipboard, Next
- Apply patch to selected project com.exadel.javafx.ide.ui, Next
- Review the changes and press Finish

Build plugin update site:
- In the com.exadel.javafx.ide.feature project, open feature.xml with the Feature Manifest Editor
- In the overview tab of the manifest editor, click on the Create an Update Site Project link (lower right corner)
- Give a name to the project, specify a project location on your disk that you can refer to later, and press Finish.
- The site manifest editor should open automatically, if not go into that new update site project and open site.xml with the Site Manifest Editor
- Click Add Feature... and select com.exadel.javafx.ide (1.3.5.qualifier), OK
- Click Build All.
- The update site is generated inside the project folder specified earlier.
If the update fails, you need to make sure you select the right com.exadel.javafx.ide feaure tagged with 1.3.5.qualifier.

Add new update site to eclipse and install:
- Help>Install New Software...
- Click on Add...
- Click on Local... and select to the update site project directory
- Give a name to the update site that will appear in the list, OK
- Select this new update site in the dropdown list and install the new version you just built. You may have to tick off "Hide items that are already installed".

As I said, your mileage may vary, and if something goes wrong your best help would be to browse through a few more helpful pages:
- Apply patch in Eclipse:
http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.do...
- Eclipse FAQ on creating an update site:
http://wiki.eclipse.org/FAQ_How_do_I_create_an_update_site_%28site.xml%2...
- Qualifier generation during the build process:
http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.use...
Explains how a plugin version of '0.1.0.qualifier' works. The qualifier makes it possible to trigger client updates with a new build and not just when the version increases.
- Eclipse version numbering explained:
http://wiki.eclipse.org/index.php/Version_Numbering

Good luck!

Applying the patch above

  • javapimp
  • 03/17/11
  • Thu, 03/17/2011 - 19:12

I'm commenting just to confirm that I applied the patch following these instructions step by step and had no problems. Everything seems to be working fine so far. Thank you for this post! It was a great help!

Dave

Runtime issues on Helios?

  • fmjrey
  • 08/16/10
  • Thu, 10/28/2010 - 02:45

So far I've been running fine on Helios with my second patch but I have not been using this plugin intensively, only been running examples.

abratukhin: could you be more specific on what runtime issues you had on Helios? I see you're using the first patch I gave, so it seems you're running on Helios already (see http://jira.exadel.org/secure/attachment/10042/exadel-javafxplugin-patch...).

How about releasing a version working with Helios?

Note that my second patch could help making 3.5 version work with 3.6 without breaking 3.5 compatibility (but I have not tested this on a 3.5 installation).

With JavaFX script not being

  • maxkatz
  • 02/17/10
  • Thu, 10/28/2010 - 11:05

With JavaFX script not being further developed, we've put the plug-in development efforts on hold now. We are going to wait for JavaFX 2.0 release to see what Eclipse tooling is needed.

This plugin should continue

  • fmjrey
  • 08/16/10
  • Thu, 10/28/2010 - 12:25

Until javafx 2.0 comes out, which may be a while, javafx script is still the way to go. So this plugin still has a life but without a helios-compatible release it's useless. Putting it on hold like this is really killing it.
Personally I'll be developing with javafx 1.3.1 now and migrate when needed, either to Visage or to some JVM language.
So I still care about a working plugin for javafx.
The patch above works fine for me but it seems I'm not the only one running under Helios.
At least be mindful of people who are/want to be using this plugin in helios and release any code/info that could help us continue doing so.

I'll see what we can do,

  • maxkatz
  • 02/17/10
  • Thu, 10/28/2010 - 12:39

I'll see what we can do, can't promise anything. But, you can probably help us with testing. Are all the features (wizards, code assist, deployment, etc) working in Eclipse 3.6?

To my knowledge all is

  • fmjrey
  • 08/16/10
  • Thu, 10/28/2010 - 13:38

To my knowledge all is working fine. However I've only been using the plugin in a simple manner. I'll be soon doing heavier development.
The only thing I noticed is that after running the code from http://blogs.sun.com/mgorshenev/entry/3d_carousel Eclipse seems to constantly build the workspace, until the javafx project is closed. However I can't tell if it's related to Helios.
I would also ask this question to abratukhin who's using helios (his patch contained helios only code).
Let me know if you want to me test further. I'm on Linux 64bit.

If you can test other

  • maxkatz
  • 02/17/10
  • Thu, 10/28/2010 - 18:55

If you can test other features, that would help a lot.

Fix for project always building

  • fmjrey
  • 08/16/10
  • Wed, 11/10/2010 - 05:44

>The only thing I noticed is that after running the code from http://blogs.sun.com/mgorshenev/entry/3d_carousel
>Eclipse seems to constantly build the workspace, until the javafx project is closed.
>However I can't tell if it's related to Helios.
I've been investigating this and it's not related to Helios. It's related to a bug introduced by the fix for FXP-74.
The resolution is simple, see patch below:
### Eclipse Workspace Patch 1.0
#P com.exadel.javafx.ide.core
Index: src/com/exadel/javafx/ide/internal/core/builder/JavaFXIncrementalBuilder.java
===================================================================
--- src/com/exadel/javafx/ide/internal/core/builder/JavaFXIncrementalBuilder.java (revision 163)
+++ src/com/exadel/javafx/ide/internal/core/builder/JavaFXIncrementalBuilder.java (working copy)
@@ -209,9 +209,8 @@
*/
private boolean isClasspathChanged(IJFXProject project) throws JavaModelException {
List currentClasspath = project.getClasspathLibraries();
- if(previousClasspath.size() != currentClasspath.size()) {
- return true;
- }
-
- return !previousClasspath.containsAll(currentClasspath);
+ boolean hasChanged = previousClasspath.size() != currentClasspath.size();
+ hasChanged = hasChanged || !previousClasspath.containsAll(currentClasspath);
+ previousClasspath = currentClasspath;
+ return hasChanged;
}

PS: would be nice to get jira access...

You have Jira access, just

  • maxkatz
  • 02/17/10
  • Wed, 11/10/2010 - 06:30

You have Jira access, just use your exadel.org credentials.

Thanks

  • fmjrey
  • 08/16/10
  • Wed, 11/10/2010 - 07:29

Thanks.
I've created issue FXP-94 and attached my patch to it.
Also attached patch to FXP-71 (Helios support).

We applied FXP-94 patch.

  • maxkatz
  • 02/17/10
  • Thu, 11/11/2010 - 07:09

We applied FXP-94 patch. Should be available in nightly build.

Eclipse 3.6

  • omega09
  • 04/27/11
  • Wed, 04/27/2011 - 07:40

Is there any update on support for Eclipse 3.6?

I'm using the nightly build 1.3.5.N424 and Eclipse 3.6.2. Compilation and running works, but not Organize Imports does not. Also, there's no code assistance to overcome compilation errors (such as help in inserting overriding abstract methods when extending classes).

As you probably know JavaFX

  • maxkatz
  • 02/17/10
  • Wed, 04/27/2011 - 07:45

As you probably know JavaFX 2.0 is no longer using JavaFX Script. There are no plans right now to update the current plug-in.