vaadin / eclipse-plugin Goto Github PK
View Code? Open in Web Editor NEWVaadin Plugin for Eclipse
Home Page: https://vaadin.com/eclipse
Vaadin Plugin for Eclipse
Home Page: https://vaadin.com/eclipse
Reported by Artur Signell on 9 Feb 2009 06:21 UTC
Method for creating a new widgetset
Migrated-From: https://dev.vaadin.com/ticket/2551
Reported by Henri Sara on 22 Oct 2009 13:50 UTC
The Eclipse plugin widgetset builder scans changed JARs in the project, opening them but never closing them. Thus, the files stay locked and cannot be deleted at least on Windows.
Reported by Artur Signell on 9 Feb 2009 06:17 UTC
Base for the plugin project, all other tickets depend on this.
http://www.eclipsepluginsite.com/
Migrated-From: https://dev.vaadin.com/ticket/2548
Reported by Henri Sara on 23 Oct 2009 13:39 UTC
When removing a widgetset JAR from a project, the widgetset builder does not remove the corresponding entry from the widgetset .gwt.xml file.
Reported by Artur Signell on 9 Feb 2009 06:25 UTC
Method for creating a custom theme for an application
Migrated-From: https://dev.vaadin.com/ticket/2554
Reported by Artur Signell on 1 Oct 2009 13:05 UTC
None
Reported by Artur Signell on 22 Oct 2009 10:40 UTC
Currently there is a popup asking "Do you want to build" when you add a jar to the project. If you edit widgets in the project you must build the widgetset manually using the build icon in the toolbar. This is not nearly the optimal solution. What options do we have? I would say most commonly you want to build the widgetset before/when:
Comments or better solutions?
Reported by Henri Sara on 4 Nov 2009 12:12 UTC
The user should be asked if he wants to recompile the widgetset when exporting a WAR file and the widgetset is dirty.
This was split off from #3573, where a similar feature was added when publishing a project to a server.
Reported by Joonas Lehtinen on 6 Nov 2009 12:48 UTC
Now there are three JavaScipt styles to chosse from in the eclipse plugin. Maybe we should call the first one OBFUSCATED instead of OBF (Even though GWT calls it OBF). Why? OBF might be quite confusing if you are not familiar with GWT compiler command line options already (and I am sure, most of the users are not).
Reported by Artur Signell on 22 Oct 2009 06:58 UTC
The error is simply "Failed to download selected Vaadin version". A more descriptive error would be nice, for instance showing the URL that was used.
Reported by Artur Signell on 22 Oct 2009 10:29 UTC
Currently you have to select the project or the widgetset.gwt.xml. It should be possible to build when anything in the project (Java file, resource,...) is selected.
Reported by Joonas Lehtinen on 28 May 2008 07:28 UTC
Targeted for demonstrations and testing, not for production deployments
Migrated-From: https://dev.vaadin.com/ticket/1736
Reported by Jani Laakso on 25 Oct 2009 08:45 UTC
I am using Eclipse IDE for Java Developers, Build id: 20090920-1017. See http://www.eclipse.org/downloads/ and from there the second Eclipse bundle called "Eclipse IDE for Java Developers (91 MB)". Verified that Vaadin plug-in cannot be installed to this package, see attached image.
I have not customized my Eclipse in any way, except that subclipse is installed. I run and debug my Vaadin applications using Eclipse's "Run as" and "Debug as" and Eclipse automatically executes my applications using the integrated Eclipse Servlet Container (http://www.eclipse.org/jetty/). Every (Java) Eclipse contains integrated Servlet Container. No separate installation of e.g. Tomcat is required and configuration in Eclipse.
My "Eclipse IDE for Java Developers" contains "Eclipse Web Tools Platform" (WTP Version: 3.1.1.v200907161031-7H6FM_DxtkM-7aeTHKEBbQqcZOZ2) but it does not contain org.eclipse.jst which is a requirement for Vaadin Eclipse Integration for a reason that I do not understand.
Not all people wish to download "Eclipse IDE for Java EE Developers (188 MB)". Plain Java version is faster and more "responsive" to use for the end user. JEE version is also bloated with many features that people cannot disable and do not wish to use.
If org.eclipse.jst is absolute requirement and Eclipse's standard Servlet Container cannot be used now for some reason, then mention to end users that they need to download Eclipse JEE version to ensure that Vaadin Plug-in installs. Do this both in our web pages and the manual.
Reported by Henri Sara on 1 Oct 2009 10:11 UTC
The facet version of the Vaadin facet should be 1.0, not 0.1 .
The plugin should support changing the facet version for old projects, and new projects should automatically use the new version.
The old version 0.1 can be removed (leading to warnings on the project facets page but full functionality) or still included in the plugin.
Reported by Joonas Lehtinen on 6 Nov 2009 16:25 UTC
Currently all changes cause "do you want to recompile widgetset". This makes development miserable.
Also it should be possible to turn off the whole change detection when using OOPHM.
Reported by Artur Signell on 22 Oct 2009 11:09 UTC
Updating old projects MUST work seamlessly. Current problems:
Reported by Artur Signell on 9 Feb 2009 06:22 UTC
Method for creating a new component
Migrated-From: https://dev.vaadin.com/ticket/2552
Reported by Joonas Lehtinen on 25 Oct 2009 19:09 UTC
Now use of OOPHM requires manual replacement of GWT jar:s in buildpath, rebuilding widgetset with OOPHM version of the compiler and manually configuring OOPHM launch config. This should not be this hard. Maybe eclipse plugin could make this simpler...
Reported by Artur Signell on 5 Oct 2009 08:09 UTC
The newest Eclipse version Galileo SR1 complains that plugins (Vaadin and others) are not signed. Check what it would require to sign the plugins and get rid of the warning.
Reported by Jani Laakso on 3 Nov 2009 22:12 UTC
See attached picture.
I'm using Eclipse Java EE IDE for Web Developers. Build id: 20090920-1017
=> See duplicates attached image (Project Explorer view)
As I side note: I saw same kind of behavior with plain "Create new Vaadin project" in a customer's machine. He did not use Widget(set) wizards at all.
Maybe this is a bug in Eclipse?
Customer was using Eclipse JEE (Windows platform) too..
Reported by Teemu Pontelin on 7 Oct 2009 08:20 UTC
Currently the Eclipse plugin doesn't create the liferay-plugin-package.properties
file for portlet projects.
Should this file be created and should it automatically contain a dependency to the vaadin.jar
? If I understood correctly, this is the correct way of defining a dependency to Vaadin.
...
portal-dependency-jars=\
vaadin.jar
...
Reported by Artur Signell on 8 Oct 2009 09:38 UTC
If Vaadin is not integrated into the Liferay portal then the widgetset is not found as only "/MyServlet/" is mapped to the servlet. The portlet tries to load the widgetset from "/portletcontextpath/VAADIN/" so a mapping for "/VAADIN/" must be added to web.xml (when creating a portlet).
This also enables deploying the portlet project to a servlet container without modifications.
If Vaadin is integrated into the portal then this extra mapping is just never used.
Reported by Artur Signell on 9 Feb 2009 06:30 UTC
Display toolkit information in project properties
Migrated-From: https://dev.vaadin.com/ticket/2555
Reported by Artur Signell on 19 Feb 2009 08:45 UTC
Special icons could be used to mark which classes are toolkit classes in a toolkit project. Could also mark other files such as widgetsets etc.
Migrated-From: https://dev.vaadin.com/ticket/2647
Reported by Marko Gronroos on 10 Nov 2009 15:15 UTC
I suppose the button with the Vaadin logo is not the final?
I need a more final button for taking a screenshot.
Reported by Artur Signell on 22 Oct 2009 10:49 UTC
The parent package (NOT including sub packages) should be refreshed when a xyzWidgetSet.gwt.xml is created so it becomes visible in Eclipse.
Reported by Joonas Lehtinen on 21 Oct 2009 17:42 UTC
We should have Eclipse plugin install site downloadable as zip and ensure that the plugin works without going online.
Some reasons:
Reported by Artur Signell on 9 Feb 2009 06:19 UTC
Method for creating a new toolkit project
http://www.eclipse.org/articles/Article-BuildingProjectFacets/tutorial.html
Migrated-From: https://dev.vaadin.com/ticket/2549
Reported by Artur Signell on 22 Oct 2009 10:47 UTC
Until GWT 2.0 arrives we must provide documentation for how to use our OOPHM packages with the widgetset builder. This is very critical as OOPHM is the only way to debug widgets on certain platforms. It should be documented somewhere in the plugin where people find it, not hidden in a wiki.
Reported by Sami Ekblad on 4 Nov 2009 21:56 UTC
Vaadin Eclipse Plugin configures automatic include from all jar files from WEB-INF/lib. This mixes up classpath with GAE plugin (more precisely DataNucleus Enhancer) that adds the jar there, but does not include it to classpath.
At least then using any JDO classes an exception like this is generated:
java.lang.RuntimeException: Unexpected exception
at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:59)
at com.google.appengine.tools.enhancer.Enhance.(Enhance.java:60)
at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:41)
Caused by: java.lang.reflect.InvocationTargetException
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:585)
at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:57)
... 2 more
Caused by: org.datanucleus.exceptions.NucleusException: Plugin (Bundle) "org.datanucleus.store.appengine" is already registered. Ensure you dont have multiple JAR versions of the same plugin in the classpath. The URL "file:/Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.2.6.v200910131704/appengine-java-sdk-1.2.6/lib/user/orm/datanucleus-appengine-1.0.3.jar" is already registered, and you are trying to register an identical plugin located at URL "file:/Users/sganyo/dev/workspace/pt/war/WEB-INF/lib/datanucleus-appengine-1.0.3.jar."
This makes it impossible to create any Google App Engine / JDO project using the Vaadin Plugin without first manually re-configuring the project classpath.
See also discussion here: http://vaadin.com/forum/-/message_boards/message/76408
Workaround is to remove automatic addition of WEB-INF/lib ("Web App Libraries" class path entry) and add Vaadin jar files from there separately to classpath.
One fix would be that if GAE deployment is selected when creating the project, the plugin should leave out the "Web App Libraries" classpath entry (and add Vaadin jar as separate entry). This is what effectively must be currently done as manual workaround.
Reported by Artur Signell on 1 Oct 2009 13:23 UTC
On the first attempt to change jar version (in project properties) from 6.1.1 to 6.1.nightly-20090930-c8998.jar I got:
java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
at com.vaadin.integration.eclipse.properties.VaadinVersionPropertyPage.performOk(Unknown Source)
at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:964)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.runtime.Platform.run(Platform.java:888)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:944)
at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:453)
at org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:233)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
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:597)
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)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
Caused by: org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException: Library path cannot be null
at org.eclipse.jdt.core.JavaCore.newLibraryEntry(JavaCore.java:4034)
at org.eclipse.jdt.core.JavaCore.newLibraryEntry(JavaCore.java:3917)
at org.eclipse.jdt.launching.JavaRuntime.newArchiveRuntimeClasspathEntry(JavaRuntime.java:628)
at com.vaadin.integration.eclipse.util.VaadinPluginUtil.updateLaunchClassPath(Unknown Source)
at com.vaadin.integration.eclipse.util.VaadinPluginUtil.updateLaunchClassPath(Unknown Source)
at com.vaadin.integration.eclipse.util.VaadinPluginUtil.updateVaadinLibraries(Unknown Source)
at com.vaadin.integration.eclipse.properties.VaadinVersionPropertyPage$1.run(Unknown Source)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Root exception:
org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException: Library path cannot be null
at org.eclipse.jdt.core.JavaCore.newLibraryEntry(JavaCore.java:4034)
at org.eclipse.jdt.core.JavaCore.newLibraryEntry(JavaCore.java:3917)
at org.eclipse.jdt.launching.JavaRuntime.newArchiveRuntimeClasspathEntry(JavaRuntime.java:628)
at com.vaadin.integration.eclipse.util.VaadinPluginUtil.updateLaunchClassPath(Unknown Source)
at com.vaadin.integration.eclipse.util.VaadinPluginUtil.updateLaunchClassPath(Unknown Source)
at com.vaadin.integration.eclipse.util.VaadinPluginUtil.updateVaadinLibraries(Unknown Source)
at com.vaadin.integration.eclipse.properties.VaadinVersionPropertyPage$1.run(Unknown Source)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
On the second attempt (just clicking ok again) it went fine.
Reported by Matti Tahvonen on 23 Oct 2009 06:50 UTC
Currently seeks web-inf/lib jars and uses jar file if it contains gwt modules (.gwt.xml files).
It should not be necessary to add inherited gwt modules to web-inf/lib (like gwt-maps.jar). Adding manually to build path should be enough.
Seeking for modules may become slow in large projects (needs to seek all files in all jar files for .gwt.xml files). Consider just adding possibility to define them manually.
Reported by Artur Signell on 9 Feb 2009 06:32 UTC
Create the necessary project/files for an auto-update site for the plugin
Migrated-From: https://dev.vaadin.com/ticket/2557
Reported by Jonatan Kronqvist on 27 Oct 2009 12:47 UTC
Currently the eclipse plugin has a main view in the project preferences which just states to open the tree to access settings. When opening the tree, however, there is only one view with settings (which version of Vaadin to use).
These should, IMO, be merged to allow for a better user experience.
Reported by Artur Signell on 9 Feb 2009 06:20 UTC
Method for creating a new application class
http://www.eclipse.org/articles/Article-BuildingProjectFacets/tutorial.html
Migrated-From: https://dev.vaadin.com/ticket/2550
Reported by Joonas Lehtinen on 25 Oct 2009 19:06 UTC
This would make building widgetsets a lot faster...
Reported by Artur Signell on 22 Oct 2009 10:50 UTC
A generic comment section describing what the file is.
A comment before every added row telling why it is there i.e. what jar file contains it.
Reported by Artur Signell on 9 Feb 2009 06:23 UTC
Method for updating the toolkit jar used in the project
Migrated-From: https://dev.vaadin.com/ticket/2553
Reported by Jani Laakso on 3 Nov 2009 12:57 UTC
Users should not be required to downgrade their Facet from 1.6 to 1.5 just to make class compatibility from 1.6 to 1.5.
Could "Create Vaadin Project" with Portlet option on default to 1.5 instead of 1.6?
Reported by Artur Signell on 22 Oct 2009 11:19 UTC
The nightly version list is confusing as it contains too many items. Filtering out all but the latest nightly by default would be a way of shortening the list. It should still be possible to find an older nightly version though.
Reported by Henri Muurimaa on 2 Oct 2009 18:58 UTC
It's commonplace to have to read console error messages when writing widgets, but the compiler creates obfuscated javascript by default. The plugin-created launch configuration should include the -style DETAILED
compiler parameter to make the error messages readable.
Reported by Jani Laakso on 25 Oct 2009 11:08 UTC
Idea how to enhance Vaadin experience for newbies. All Eclipse's include Servlet Container, there is no need to download Tomcat and configure it.
Perhaps Vaadin plug-in could use the Launcher.java code below like this:
This would make even simpler for the newbies to try out Vaadin as no Tomcat installation and configuration is required and Plug-in works without org.eclipse.jst requirement (works with other Eclipse packages aswell).
For now, this is the only "nuisance" for the end-user that is required to use integrated Eclipse Servlet Container, user needs to add single Java class to their project, such as this:
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;
public class MyAppLauncher {
private static String context = "/MyContext";
private static String webroot = "WebContent";
private static int httpPort = 8080;
public static void main(final String[args) throws Exception {
final Server server = new Server();
final Connector connector = new SelectChannelConnector();
connector.setPort(httpPort);
server.setConnectors(new Connector[](]) { connector });
final WebAppContext webappcontext = new WebAppContext();
webappcontext.setClassLoader(MyAppLauncher.class.getClassLoader());
webappcontext.setContextPath(context);
webappcontext.setWar(webroot);
server.setHandler(webappcontext);
server.start();
}
}
I even think this would be more closer to our ideology "Do all in Java", even Servlet Container configuration. Developer has a better feeling of more control in Servlet Container too. Whereas Tomcat container uses XML files that need to be modified if context, webroot or http port is changed, but of course Eclipse WST contains tools to configure these using Eclipse so people do not actually see XML here, but it doesn't change the fact that Tomcat is more complex. Using Tomcat requires more steps, this is a pain for most newbies.
Check out also latest Eclipse wiki: http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty
Reported by Matti Tahvonen on 29 Oct 2009 08:58 UTC
If project is in workspace, but project directory does not locate in workspace folder, widgetset compilation does not work. Utility method gives invalid paths as classpath.
Reported by Artur Signell on 9 Feb 2009 06:32 UTC
Refactoring an application class should not break the project
Migrated-From: https://dev.vaadin.com/ticket/2556
Reported by Artur Signell on 22 Oct 2009 10:28 UTC
It should use the java version from the project, not the workspace.
Reported by Artur Signell on 22 Oct 2009 10:43 UTC
Libraries and classes can be located anywhere on the build path thus the widgetset builder must use the build path.
Reported by Artur Signell on 22 Oct 2009 10:27 UTC
It must be possible to give parameters to the widgetset builder.
Most important currently would be "style" to enable building of non-obfuscated widgetsets.
Reported by Artur Signell on 22 Oct 2009 10:37 UTC
The jar export function in Eclipse is very confusing. Additionally there is no good way to specify the metadata using that and editing the manifest by hand is tedious.
Create a simple widgetset exporter that offers
Reported by Jani Laakso on 3 Nov 2009 21:56 UTC
People may try to create Widget before Widgetset and this leads to an window containing red exclamation mark without any error message.
Fixing error message seems correct solution.
Reported by Jani Laakso on 4 Nov 2009 09:59 UTC
See attached picture. Do not know what happens this but workaround was to hit "Browse..." and select "Project/src" folder, then all the other fields were filled aswell.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.